Metadata-Version: 2.1
Name: mypy-boto3-ec2
Version: 1.14.1.0
Summary: Type annotations for boto3.EC2 1.14.1 service, generated by mypy-boto3-buider 2.2.0
Home-page: https://github.com/vemel/mypy_boto3_builder
Author: Vlad Emelianov
Author-email: vlad.emelianov.nz@gmail.com
License: MIT License
Project-URL: Documentation, https://mypy-boto3-builder.readthedocs.io/en/latest/
Project-URL: Source, https://github.com/vemel/mypy_boto3_builder
Project-URL: Tracker, https://github.com/vemel/mypy_boto3_builder/issues
Description: # mypy-boto3-ec2
        
        [![PyPI - mypy-boto3-ec2](https://img.shields.io/pypi/v/mypy-boto3-ec2.svg?color=blue)](https://pypi.org/project/mypy-boto3-ec2)
        [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-ec2.svg?color=blue)](https://pypi.org/project/mypy-boto3-ec2)
        [![Docs](https://img.shields.io/readthedocs/mypy-boto3-builder.svg?color=blue)](https://mypy-boto3-builder.readthedocs.io/)
        
        Type annotations for
        [boto3.EC2 1.14.1](https://boto3.amazonaws.com/v1/documentation/api/1.14.1/reference/services/ec2.html#EC2) service
        compatible with [mypy](https://github.com/python/mypy), [VSCode](https://code.visualstudio.com/),
        [PyCharm](https://www.jetbrains.com/pycharm/) and other tools.
        
        Generated by [mypy-boto3-buider 2.2.0](https://github.com/vemel/mypy_boto3_builder).
        
        More information can be found on [boto3-stubs](https://pypi.org/project/boto3-stubs/) page.
        
        ## How to install
        
        Make sure you have [mypy](https://github.com/python/mypy) installed and activated in your IDE.
        
        Install `boto3-stubs` for `EC2` service.
        
        ```bash
        python -m pip install boto3-stubs[ec2]
        ```
        
        ## How to use
        
        ### Client annotations
        
        `EC2Client` provides annotations for `boto3.client("ec2")`.
        
        ```python
        import boto3
        
        from mypy_boto3_ec2 import EC2Client, EC2ServiceResource
        from mypy_boto3_ec2.paginator import (
            DescribeByoipCidrsPaginator,
            DescribeCapacityReservationsPaginator,
            DescribeClassicLinkInstancesPaginator,
            DescribeClientVpnAuthorizationRulesPaginator,
            DescribeClientVpnConnectionsPaginator,
            DescribeClientVpnEndpointsPaginator,
            DescribeClientVpnRoutesPaginator,
            DescribeClientVpnTargetNetworksPaginator,
            DescribeCoipPoolsPaginator,
            DescribeDhcpOptionsPaginator,
            DescribeEgressOnlyInternetGatewaysPaginator,
            DescribeExportImageTasksPaginator,
            DescribeFastSnapshotRestoresPaginator,
            DescribeFleetsPaginator,
            DescribeFlowLogsPaginator,
            DescribeFpgaImagesPaginator,
            DescribeHostReservationOfferingsPaginator,
            DescribeHostReservationsPaginator,
            DescribeHostsPaginator,
            DescribeIamInstanceProfileAssociationsPaginator,
            DescribeImportImageTasksPaginator,
            DescribeImportSnapshotTasksPaginator,
            DescribeInstanceCreditSpecificationsPaginator,
            DescribeInstancesPaginator,
            DescribeInstanceStatusPaginator,
            DescribeInstanceTypeOfferingsPaginator,
            DescribeInstanceTypesPaginator,
            DescribeInternetGatewaysPaginator,
            DescribeIpv6PoolsPaginator,
            DescribeLaunchTemplatesPaginator,
            DescribeLaunchTemplateVersionsPaginator,
            DescribeLocalGatewayRouteTablesPaginator,
            DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPaginator,
            DescribeLocalGatewayRouteTableVpcAssociationsPaginator,
            DescribeLocalGatewaysPaginator,
            DescribeLocalGatewayVirtualInterfaceGroupsPaginator,
            DescribeLocalGatewayVirtualInterfacesPaginator,
            DescribeMovingAddressesPaginator,
            DescribeNatGatewaysPaginator,
            DescribeNetworkAclsPaginator,
            DescribeNetworkInterfacePermissionsPaginator,
            DescribeNetworkInterfacesPaginator,
            DescribePrefixListsPaginator,
            DescribePrincipalIdFormatPaginator,
            DescribePublicIpv4PoolsPaginator,
            DescribeReservedInstancesModificationsPaginator,
            DescribeReservedInstancesOfferingsPaginator,
            DescribeRouteTablesPaginator,
            DescribeScheduledInstanceAvailabilityPaginator,
            DescribeScheduledInstancesPaginator,
            DescribeSecurityGroupsPaginator,
            DescribeSnapshotsPaginator,
            DescribeSpotFleetInstancesPaginator,
            DescribeSpotFleetRequestsPaginator,
            DescribeSpotInstanceRequestsPaginator,
            DescribeSpotPriceHistoryPaginator,
            DescribeStaleSecurityGroupsPaginator,
            DescribeSubnetsPaginator,
            DescribeTagsPaginator,
            DescribeTrafficMirrorFiltersPaginator,
            DescribeTrafficMirrorSessionsPaginator,
            DescribeTrafficMirrorTargetsPaginator,
            DescribeTransitGatewayAttachmentsPaginator,
            DescribeTransitGatewayMulticastDomainsPaginator,
            DescribeTransitGatewayPeeringAttachmentsPaginator,
            DescribeTransitGatewayRouteTablesPaginator,
            DescribeTransitGatewaysPaginator,
            DescribeTransitGatewayVpcAttachmentsPaginator,
            DescribeVolumesModificationsPaginator,
            DescribeVolumesPaginator,
            DescribeVolumeStatusPaginator,
            DescribeVpcClassicLinkDnsSupportPaginator,
            DescribeVpcEndpointConnectionNotificationsPaginator,
            DescribeVpcEndpointConnectionsPaginator,
            DescribeVpcEndpointServiceConfigurationsPaginator,
            DescribeVpcEndpointServicePermissionsPaginator,
            DescribeVpcEndpointServicesPaginator,
            DescribeVpcEndpointsPaginator,
            DescribeVpcPeeringConnectionsPaginator,
            DescribeVpcsPaginator,
            GetAssociatedIpv6PoolCidrsPaginator,
            GetTransitGatewayAttachmentPropagationsPaginator,
            GetTransitGatewayMulticastDomainAssociationsPaginator,
            GetTransitGatewayRouteTableAssociationsPaginator,
            GetTransitGatewayRouteTablePropagationsPaginator,
            SearchLocalGatewayRoutesPaginator,
            SearchTransitGatewayMulticastGroupsPaginator,
        )
        from mypy_boto3_ec2.service_resource import (
            ClassicAddress,
            DhcpOptions,
            Image,
            Instance,
            InternetGateway,
            KeyPair,
            KeyPairInfo,
            NetworkAcl,
            NetworkInterface,
            NetworkInterfaceAssociation,
            PlacementGroup,
            Route,
            RouteTable,
            RouteTableAssociation,
            SecurityGroup,
            ServiceResourceClassicAddressesCollection,
            ServiceResourceDhcpOptionsSetsCollection,
            ServiceResourceImagesCollection,
            ServiceResourceInstancesCollection,
            ServiceResourceInternetGatewaysCollection,
            ServiceResourceKeyPairsCollection,
            ServiceResourceNetworkAclsCollection,
            ServiceResourceNetworkInterfacesCollection,
            ServiceResourcePlacementGroupsCollection,
            ServiceResourceRouteTablesCollection,
            ServiceResourceSecurityGroupsCollection,
            ServiceResourceSnapshotsCollection,
            ServiceResourceSubnetsCollection,
            ServiceResourceVolumesCollection,
            ServiceResourceVpcAddressesCollection,
            ServiceResourceVpcPeeringConnectionsCollection,
            ServiceResourceVpcsCollection,
            Snapshot,
            Subnet,
            Tag,
            Volume,
            Vpc,
            VpcAddress,
            VpcPeeringConnection,
        )
        from mypy_boto3_ec2.type_defs import AccountAttributeTypeDef, ...
        from mypy_boto3_ec2.waiter import (
            BundleTaskCompleteWaiter,
            ConversionTaskCancelledWaiter,
            ConversionTaskCompletedWaiter,
            ConversionTaskDeletedWaiter,
            CustomerGatewayAvailableWaiter,
            ExportTaskCancelledWaiter,
            ExportTaskCompletedWaiter,
            ImageAvailableWaiter,
            ImageExistsWaiter,
            InstanceExistsWaiter,
            InstanceRunningWaiter,
            InstanceStatusOkWaiter,
            InstanceStoppedWaiter,
            InstanceTerminatedWaiter,
            KeyPairExistsWaiter,
            NatGatewayAvailableWaiter,
            NetworkInterfaceAvailableWaiter,
            PasswordDataAvailableWaiter,
            SecurityGroupExistsWaiter,
            SnapshotCompletedWaiter,
            SpotInstanceRequestFulfilledWaiter,
            SubnetAvailableWaiter,
            SystemStatusOkWaiter,
            VolumeAvailableWaiter,
            VolumeDeletedWaiter,
            VolumeInUseWaiter,
            VpcAvailableWaiter,
            VpcExistsWaiter,
            VpcPeeringConnectionDeletedWaiter,
            VpcPeeringConnectionExistsWaiter,
            VpnConnectionAvailableWaiter,
            VpnConnectionDeletedWaiter,
        )
        
        client: EC2Client = boto3.client("ec2")
        
        # now client usage is checked by mypy and IDE should provide code auto-complete
        
        # works for session as well
        session = boto3.session.Session(region="us-west-1")
        session_client: EC2Client = session.client("ec2")
        ```
        
        ### Paginators annotations
        
        `mypy_boto3_ec2.paginator` module contains type annotations for all paginators.
        
        ```python
        
        client: EC2Client = boto3.client("ec2")
        
        # Explicit type annotations are optional here
        # Type should be correctly discovered by mypy and IDEs
        # VSCode requires explicit type annotations
        describe_byoip_cidrs_paginator: DescribeByoipCidrsPaginator = client.get_paginator("describe_byoip_cidrs")
        describe_capacity_reservations_paginator: DescribeCapacityReservationsPaginator = client.get_paginator("describe_capacity_reservations")
        describe_classic_link_instances_paginator: DescribeClassicLinkInstancesPaginator = client.get_paginator("describe_classic_link_instances")
        describe_client_vpn_authorization_rules_paginator: DescribeClientVpnAuthorizationRulesPaginator = client.get_paginator("describe_client_vpn_authorization_rules")
        describe_client_vpn_connections_paginator: DescribeClientVpnConnectionsPaginator = client.get_paginator("describe_client_vpn_connections")
        describe_client_vpn_endpoints_paginator: DescribeClientVpnEndpointsPaginator = client.get_paginator("describe_client_vpn_endpoints")
        describe_client_vpn_routes_paginator: DescribeClientVpnRoutesPaginator = client.get_paginator("describe_client_vpn_routes")
        describe_client_vpn_target_networks_paginator: DescribeClientVpnTargetNetworksPaginator = client.get_paginator("describe_client_vpn_target_networks")
        describe_coip_pools_paginator: DescribeCoipPoolsPaginator = client.get_paginator("describe_coip_pools")
        describe_dhcp_options_paginator: DescribeDhcpOptionsPaginator = client.get_paginator("describe_dhcp_options")
        describe_egress_only_internet_gateways_paginator: DescribeEgressOnlyInternetGatewaysPaginator = client.get_paginator("describe_egress_only_internet_gateways")
        describe_export_image_tasks_paginator: DescribeExportImageTasksPaginator = client.get_paginator("describe_export_image_tasks")
        describe_fast_snapshot_restores_paginator: DescribeFastSnapshotRestoresPaginator = client.get_paginator("describe_fast_snapshot_restores")
        describe_fleets_paginator: DescribeFleetsPaginator = client.get_paginator("describe_fleets")
        describe_flow_logs_paginator: DescribeFlowLogsPaginator = client.get_paginator("describe_flow_logs")
        describe_fpga_images_paginator: DescribeFpgaImagesPaginator = client.get_paginator("describe_fpga_images")
        describe_host_reservation_offerings_paginator: DescribeHostReservationOfferingsPaginator = client.get_paginator("describe_host_reservation_offerings")
        describe_host_reservations_paginator: DescribeHostReservationsPaginator = client.get_paginator("describe_host_reservations")
        describe_hosts_paginator: DescribeHostsPaginator = client.get_paginator("describe_hosts")
        describe_iam_instance_profile_associations_paginator: DescribeIamInstanceProfileAssociationsPaginator = client.get_paginator("describe_iam_instance_profile_associations")
        describe_import_image_tasks_paginator: DescribeImportImageTasksPaginator = client.get_paginator("describe_import_image_tasks")
        describe_import_snapshot_tasks_paginator: DescribeImportSnapshotTasksPaginator = client.get_paginator("describe_import_snapshot_tasks")
        describe_instance_credit_specifications_paginator: DescribeInstanceCreditSpecificationsPaginator = client.get_paginator("describe_instance_credit_specifications")
        describe_instance_status_paginator: DescribeInstanceStatusPaginator = client.get_paginator("describe_instance_status")
        describe_instance_type_offerings_paginator: DescribeInstanceTypeOfferingsPaginator = client.get_paginator("describe_instance_type_offerings")
        describe_instance_types_paginator: DescribeInstanceTypesPaginator = client.get_paginator("describe_instance_types")
        describe_instances_paginator: DescribeInstancesPaginator = client.get_paginator("describe_instances")
        describe_internet_gateways_paginator: DescribeInternetGatewaysPaginator = client.get_paginator("describe_internet_gateways")
        describe_ipv6_pools_paginator: DescribeIpv6PoolsPaginator = client.get_paginator("describe_ipv6_pools")
        describe_launch_template_versions_paginator: DescribeLaunchTemplateVersionsPaginator = client.get_paginator("describe_launch_template_versions")
        describe_launch_templates_paginator: DescribeLaunchTemplatesPaginator = client.get_paginator("describe_launch_templates")
        describe_local_gateway_route_table_virtual_interface_group_associations_paginator: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPaginator = client.get_paginator("describe_local_gateway_route_table_virtual_interface_group_associations")
        describe_local_gateway_route_table_vpc_associations_paginator: DescribeLocalGatewayRouteTableVpcAssociationsPaginator = client.get_paginator("describe_local_gateway_route_table_vpc_associations")
        describe_local_gateway_route_tables_paginator: DescribeLocalGatewayRouteTablesPaginator = client.get_paginator("describe_local_gateway_route_tables")
        describe_local_gateway_virtual_interface_groups_paginator: DescribeLocalGatewayVirtualInterfaceGroupsPaginator = client.get_paginator("describe_local_gateway_virtual_interface_groups")
        describe_local_gateway_virtual_interfaces_paginator: DescribeLocalGatewayVirtualInterfacesPaginator = client.get_paginator("describe_local_gateway_virtual_interfaces")
        describe_local_gateways_paginator: DescribeLocalGatewaysPaginator = client.get_paginator("describe_local_gateways")
        describe_moving_addresses_paginator: DescribeMovingAddressesPaginator = client.get_paginator("describe_moving_addresses")
        describe_nat_gateways_paginator: DescribeNatGatewaysPaginator = client.get_paginator("describe_nat_gateways")
        describe_network_acls_paginator: DescribeNetworkAclsPaginator = client.get_paginator("describe_network_acls")
        describe_network_interface_permissions_paginator: DescribeNetworkInterfacePermissionsPaginator = client.get_paginator("describe_network_interface_permissions")
        describe_network_interfaces_paginator: DescribeNetworkInterfacesPaginator = client.get_paginator("describe_network_interfaces")
        describe_prefix_lists_paginator: DescribePrefixListsPaginator = client.get_paginator("describe_prefix_lists")
        describe_principal_id_format_paginator: DescribePrincipalIdFormatPaginator = client.get_paginator("describe_principal_id_format")
        describe_public_ipv4_pools_paginator: DescribePublicIpv4PoolsPaginator = client.get_paginator("describe_public_ipv4_pools")
        describe_reserved_instances_modifications_paginator: DescribeReservedInstancesModificationsPaginator = client.get_paginator("describe_reserved_instances_modifications")
        describe_reserved_instances_offerings_paginator: DescribeReservedInstancesOfferingsPaginator = client.get_paginator("describe_reserved_instances_offerings")
        describe_route_tables_paginator: DescribeRouteTablesPaginator = client.get_paginator("describe_route_tables")
        describe_scheduled_instance_availability_paginator: DescribeScheduledInstanceAvailabilityPaginator = client.get_paginator("describe_scheduled_instance_availability")
        describe_scheduled_instances_paginator: DescribeScheduledInstancesPaginator = client.get_paginator("describe_scheduled_instances")
        describe_security_groups_paginator: DescribeSecurityGroupsPaginator = client.get_paginator("describe_security_groups")
        describe_snapshots_paginator: DescribeSnapshotsPaginator = client.get_paginator("describe_snapshots")
        describe_spot_fleet_instances_paginator: DescribeSpotFleetInstancesPaginator = client.get_paginator("describe_spot_fleet_instances")
        describe_spot_fleet_requests_paginator: DescribeSpotFleetRequestsPaginator = client.get_paginator("describe_spot_fleet_requests")
        describe_spot_instance_requests_paginator: DescribeSpotInstanceRequestsPaginator = client.get_paginator("describe_spot_instance_requests")
        describe_spot_price_history_paginator: DescribeSpotPriceHistoryPaginator = client.get_paginator("describe_spot_price_history")
        describe_stale_security_groups_paginator: DescribeStaleSecurityGroupsPaginator = client.get_paginator("describe_stale_security_groups")
        describe_subnets_paginator: DescribeSubnetsPaginator = client.get_paginator("describe_subnets")
        describe_tags_paginator: DescribeTagsPaginator = client.get_paginator("describe_tags")
        describe_traffic_mirror_filters_paginator: DescribeTrafficMirrorFiltersPaginator = client.get_paginator("describe_traffic_mirror_filters")
        describe_traffic_mirror_sessions_paginator: DescribeTrafficMirrorSessionsPaginator = client.get_paginator("describe_traffic_mirror_sessions")
        describe_traffic_mirror_targets_paginator: DescribeTrafficMirrorTargetsPaginator = client.get_paginator("describe_traffic_mirror_targets")
        describe_transit_gateway_attachments_paginator: DescribeTransitGatewayAttachmentsPaginator = client.get_paginator("describe_transit_gateway_attachments")
        describe_transit_gateway_multicast_domains_paginator: DescribeTransitGatewayMulticastDomainsPaginator = client.get_paginator("describe_transit_gateway_multicast_domains")
        describe_transit_gateway_peering_attachments_paginator: DescribeTransitGatewayPeeringAttachmentsPaginator = client.get_paginator("describe_transit_gateway_peering_attachments")
        describe_transit_gateway_route_tables_paginator: DescribeTransitGatewayRouteTablesPaginator = client.get_paginator("describe_transit_gateway_route_tables")
        describe_transit_gateway_vpc_attachments_paginator: DescribeTransitGatewayVpcAttachmentsPaginator = client.get_paginator("describe_transit_gateway_vpc_attachments")
        describe_transit_gateways_paginator: DescribeTransitGatewaysPaginator = client.get_paginator("describe_transit_gateways")
        describe_volume_status_paginator: DescribeVolumeStatusPaginator = client.get_paginator("describe_volume_status")
        describe_volumes_paginator: DescribeVolumesPaginator = client.get_paginator("describe_volumes")
        describe_volumes_modifications_paginator: DescribeVolumesModificationsPaginator = client.get_paginator("describe_volumes_modifications")
        describe_vpc_classic_link_dns_support_paginator: DescribeVpcClassicLinkDnsSupportPaginator = client.get_paginator("describe_vpc_classic_link_dns_support")
        describe_vpc_endpoint_connection_notifications_paginator: DescribeVpcEndpointConnectionNotificationsPaginator = client.get_paginator("describe_vpc_endpoint_connection_notifications")
        describe_vpc_endpoint_connections_paginator: DescribeVpcEndpointConnectionsPaginator = client.get_paginator("describe_vpc_endpoint_connections")
        describe_vpc_endpoint_service_configurations_paginator: DescribeVpcEndpointServiceConfigurationsPaginator = client.get_paginator("describe_vpc_endpoint_service_configurations")
        describe_vpc_endpoint_service_permissions_paginator: DescribeVpcEndpointServicePermissionsPaginator = client.get_paginator("describe_vpc_endpoint_service_permissions")
        describe_vpc_endpoint_services_paginator: DescribeVpcEndpointServicesPaginator = client.get_paginator("describe_vpc_endpoint_services")
        describe_vpc_endpoints_paginator: DescribeVpcEndpointsPaginator = client.get_paginator("describe_vpc_endpoints")
        describe_vpc_peering_connections_paginator: DescribeVpcPeeringConnectionsPaginator = client.get_paginator("describe_vpc_peering_connections")
        describe_vpcs_paginator: DescribeVpcsPaginator = client.get_paginator("describe_vpcs")
        get_associated_ipv6_pool_cidrs_paginator: GetAssociatedIpv6PoolCidrsPaginator = client.get_paginator("get_associated_ipv6_pool_cidrs")
        get_transit_gateway_attachment_propagations_paginator: GetTransitGatewayAttachmentPropagationsPaginator = client.get_paginator("get_transit_gateway_attachment_propagations")
        get_transit_gateway_multicast_domain_associations_paginator: GetTransitGatewayMulticastDomainAssociationsPaginator = client.get_paginator("get_transit_gateway_multicast_domain_associations")
        get_transit_gateway_route_table_associations_paginator: GetTransitGatewayRouteTableAssociationsPaginator = client.get_paginator("get_transit_gateway_route_table_associations")
        get_transit_gateway_route_table_propagations_paginator: GetTransitGatewayRouteTablePropagationsPaginator = client.get_paginator("get_transit_gateway_route_table_propagations")
        search_local_gateway_routes_paginator: SearchLocalGatewayRoutesPaginator = client.get_paginator("search_local_gateway_routes")
        search_transit_gateway_multicast_groups_paginator: SearchTransitGatewayMulticastGroupsPaginator = client.get_paginator("search_transit_gateway_multicast_groups")
        ```
        
        
        ### Waiters annotations
        
        `mypy_boto3_ec2.waiter` module contains type annotations for all waiters.
        
        ```python
        
        client: EC2Client = boto3.client("ec2")
        
        # Explicit type annotations are optional here
        # Type should be correctly discovered by mypy and IDEs
        # VSCode requires explicit type annotations
        bundle_task_complete_waiter: BundleTaskCompleteWaiter = client.get_waiter("bundle_task_complete")
        conversion_task_cancelled_waiter: ConversionTaskCancelledWaiter = client.get_waiter("conversion_task_cancelled")
        conversion_task_completed_waiter: ConversionTaskCompletedWaiter = client.get_waiter("conversion_task_completed")
        conversion_task_deleted_waiter: ConversionTaskDeletedWaiter = client.get_waiter("conversion_task_deleted")
        customer_gateway_available_waiter: CustomerGatewayAvailableWaiter = client.get_waiter("customer_gateway_available")
        export_task_cancelled_waiter: ExportTaskCancelledWaiter = client.get_waiter("export_task_cancelled")
        export_task_completed_waiter: ExportTaskCompletedWaiter = client.get_waiter("export_task_completed")
        image_available_waiter: ImageAvailableWaiter = client.get_waiter("image_available")
        image_exists_waiter: ImageExistsWaiter = client.get_waiter("image_exists")
        instance_exists_waiter: InstanceExistsWaiter = client.get_waiter("instance_exists")
        instance_running_waiter: InstanceRunningWaiter = client.get_waiter("instance_running")
        instance_status_ok_waiter: InstanceStatusOkWaiter = client.get_waiter("instance_status_ok")
        instance_stopped_waiter: InstanceStoppedWaiter = client.get_waiter("instance_stopped")
        instance_terminated_waiter: InstanceTerminatedWaiter = client.get_waiter("instance_terminated")
        key_pair_exists_waiter: KeyPairExistsWaiter = client.get_waiter("key_pair_exists")
        nat_gateway_available_waiter: NatGatewayAvailableWaiter = client.get_waiter("nat_gateway_available")
        network_interface_available_waiter: NetworkInterfaceAvailableWaiter = client.get_waiter("network_interface_available")
        password_data_available_waiter: PasswordDataAvailableWaiter = client.get_waiter("password_data_available")
        security_group_exists_waiter: SecurityGroupExistsWaiter = client.get_waiter("security_group_exists")
        snapshot_completed_waiter: SnapshotCompletedWaiter = client.get_waiter("snapshot_completed")
        spot_instance_request_fulfilled_waiter: SpotInstanceRequestFulfilledWaiter = client.get_waiter("spot_instance_request_fulfilled")
        subnet_available_waiter: SubnetAvailableWaiter = client.get_waiter("subnet_available")
        system_status_ok_waiter: SystemStatusOkWaiter = client.get_waiter("system_status_ok")
        volume_available_waiter: VolumeAvailableWaiter = client.get_waiter("volume_available")
        volume_deleted_waiter: VolumeDeletedWaiter = client.get_waiter("volume_deleted")
        volume_in_use_waiter: VolumeInUseWaiter = client.get_waiter("volume_in_use")
        vpc_available_waiter: VpcAvailableWaiter = client.get_waiter("vpc_available")
        vpc_exists_waiter: VpcExistsWaiter = client.get_waiter("vpc_exists")
        vpc_peering_connection_deleted_waiter: VpcPeeringConnectionDeletedWaiter = client.get_waiter("vpc_peering_connection_deleted")
        vpc_peering_connection_exists_waiter: VpcPeeringConnectionExistsWaiter = client.get_waiter("vpc_peering_connection_exists")
        vpn_connection_available_waiter: VpnConnectionAvailableWaiter = client.get_waiter("vpn_connection_available")
        vpn_connection_deleted_waiter: VpnConnectionDeletedWaiter = client.get_waiter("vpn_connection_deleted")
        ```
        
        
        ### Service Resource annotations
        
        `EC2ServiceResource` provides annotations for `boto3.resource("ec2")`.
        
        ```python
        
        resource: EC2ServiceResource = boto3.resource("ec2")
        
        # now resource usage is checked by mypy and IDE should provide code auto-complete
        
        # works for session as well
        session = boto3.session.Session(region="us-west-1")
        session_resource: EC2ServiceResource = session.resource("ec2")
        ```
        
        
        ### Other resources annotations
        
        `mypy_boto3_ec2.service_resource` module contains type annotations for all resources.
        
        ```python
        
        resource: EC2ServiceResource = boto3.resource("ec2")
        
        # Explicit type annotations are optional here
        # Type should be correctly discovered by mypy and IDEs
        my_classic_address: ClassicAddress = resource.ClassicAddress(...)
        my_dhcp_options: DhcpOptions = resource.DhcpOptions(...)
        my_image: Image = resource.Image(...)
        my_instance: Instance = resource.Instance(...)
        my_internet_gateway: InternetGateway = resource.InternetGateway(...)
        my_key_pair: KeyPair = resource.KeyPair(...)
        my_key_pair_info: KeyPairInfo = resource.KeyPairInfo(...)
        my_network_acl: NetworkAcl = resource.NetworkAcl(...)
        my_network_interface: NetworkInterface = resource.NetworkInterface(...)
        my_network_interface_association: NetworkInterfaceAssociation = resource.NetworkInterfaceAssociation(...)
        my_placement_group: PlacementGroup = resource.PlacementGroup(...)
        my_route: Route = resource.Route(...)
        my_route_table: RouteTable = resource.RouteTable(...)
        my_route_table_association: RouteTableAssociation = resource.RouteTableAssociation(...)
        my_security_group: SecurityGroup = resource.SecurityGroup(...)
        my_snapshot: Snapshot = resource.Snapshot(...)
        my_subnet: Subnet = resource.Subnet(...)
        my_tag: Tag = resource.Tag(...)
        my_volume: Volume = resource.Volume(...)
        my_vpc: Vpc = resource.Vpc(...)
        my_vpc_peering_connection: VpcPeeringConnection = resource.VpcPeeringConnection(...)
        my_vpc_address: VpcAddress = resource.VpcAddress(...)
        ```
        
        
        
        ### Collections annotations
        
        `mypy_boto3_ec2.service_resource` module contains type annotations
        for all `EC2ServiceResource` collections.
        
        ```python
        
        resource: EC2ServiceResource = boto3.resource("ec2")
        
        # Explicit type annotations are optional here
        # Type should be correctly discovered by mypy and IDEs
        classic_addresses: ec2_resources.ServiceResourceClassicAddressesCollection = resource.classic_addresses
        dhcp_options_sets: ec2_resources.ServiceResourceDhcpOptionsSetsCollection = resource.dhcp_options_sets
        images: ec2_resources.ServiceResourceImagesCollection = resource.images
        instances: ec2_resources.ServiceResourceInstancesCollection = resource.instances
        internet_gateways: ec2_resources.ServiceResourceInternetGatewaysCollection = resource.internet_gateways
        key_pairs: ec2_resources.ServiceResourceKeyPairsCollection = resource.key_pairs
        network_acls: ec2_resources.ServiceResourceNetworkAclsCollection = resource.network_acls
        network_interfaces: ec2_resources.ServiceResourceNetworkInterfacesCollection = resource.network_interfaces
        placement_groups: ec2_resources.ServiceResourcePlacementGroupsCollection = resource.placement_groups
        route_tables: ec2_resources.ServiceResourceRouteTablesCollection = resource.route_tables
        security_groups: ec2_resources.ServiceResourceSecurityGroupsCollection = resource.security_groups
        snapshots: ec2_resources.ServiceResourceSnapshotsCollection = resource.snapshots
        subnets: ec2_resources.ServiceResourceSubnetsCollection = resource.subnets
        volumes: ec2_resources.ServiceResourceVolumesCollection = resource.volumes
        vpc_addresses: ec2_resources.ServiceResourceVpcAddressesCollection = resource.vpc_addresses
        vpc_peering_connections: ec2_resources.ServiceResourceVpcPeeringConnectionsCollection = resource.vpc_peering_connections
        vpcs: ec2_resources.ServiceResourceVpcsCollection = resource.vpcs
        ```
        
        
        
        
        ### Typed dictionations
        
        `mypy_boto3_ec2.type_defs` module contains structures and shapes assembled
        to typed dictionaries for additional type checking.
        
        ```python
        
        def get_structure() -> AccountAttributeTypeDef:
            return {
              ...
            }
        ```
        
        
        ## Dynamic type annotations
        
        `mypy_boto3` command generates `boto3.client/resource` type annotations for
        `mypy_boto3_ec2` and other installed services.
        
        ```bash
        # Run this command after you add or remove service packages
        python -m mypy_boto3
        ```
        
        Generated type annotations provide overloads for `boto3.client` and `boto3.resource`,
        `boto3.Session.client` and `boto3.Session.resource` functions,
        so explicit type annotations are not needed.
        
        - `mypy` supports function overloads as expected
        - `PyCharm` also supports function overloads, but consumes a lot of RAM, use carefully if you have many services installed
        - `VSCode` does not currently support function overloads, use explicit type annotations
        
        ```python
        
        # Type is discovered correctly by mypy and PyCharm
        # VSCode still needs explicit type annotations
        client = boto3.client("ec2")
        resource = boto3.resource("ec2")
        
        session_client = boto3.Session().client("ec2")
        session_resource = boto3.Session().resource("ec2")
        ```
        
Keywords: boto3 ec2 type-annotations boto3-stubs mypy typeshed autocomplete auto-generated
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Typing :: Typed
Requires-Python: >=3.6
Description-Content-Type: text/markdown
