Skip to content

Examples#

Index > EC2 > Examples

Auto-generated documentation for EC2 type annotations stubs module types-aiobotocore-ec2.

Client#

Implicit type annotations#

Can be used with types-aioboto3[ec2] package installed.

Write your EC2 code as usual, type checking and code completion should work out of the box.

# EC2Client usage example

from aioboto3.session import Session


session = Session()

async with session.client("ec2") as client:  # (1)
    result = await client.accept_address_transfer()  # (2)
  1. client: EC2Client
  2. result: AcceptAddressTransferResultTypeDef
# DescribeAddressTransfersPaginator usage example

from aioboto3.session import Session


session = Session()

async with session.client("ec2") as client:  # (1)
    paginator = client.get_paginator("describe_address_transfers")  # (2)
    async for item in paginator.paginate(...):
        print(item)  # (3)
  1. client: EC2Client
  2. paginator: DescribeAddressTransfersPaginator
  3. item: DescribeAddressTransfersResultTypeDef
# BundleTaskCompleteWaiter usage example

from aioboto3.session import Session


session = Session()

async with session.client("ec2") as client:  # (1)
    waiter = client.get_waiter("bundle_task_complete")  # (2)
    await waiter.wait()
  1. client: EC2Client
  2. waiter: BundleTaskCompleteWaiter

Explicit type annotations#

With types-aioboto3-lite[ec2] or a standalone types_aiobotocore_ec2 package, you have to explicitly specify client: EC2Client type annotation.

All other type annotations are optional, as types should be discovered automatically. However, these type annotations can be helpful in your functions and methods.

# EC2Client usage example with type annotations

from aioboto3.session import Session

from types_aiobotocore_ec2.client import EC2Client
from types_aiobotocore_ec2.type_defs import AcceptAddressTransferResultTypeDef
from types_aiobotocore_ec2.type_defs import AcceptAddressTransferRequestRequestTypeDef


session = Session()

client: EC2Client
async with session.client("ec2") as client:  # (1)
    kwargs: AcceptAddressTransferRequestRequestTypeDef = {...}  # (2)
    result: AcceptAddressTransferResultTypeDef = await client.accept_address_transfer(**kwargs)  # (3)
  1. client: EC2Client
  2. kwargs: AcceptAddressTransferRequestRequestTypeDef
  3. result: AcceptAddressTransferResultTypeDef
# DescribeAddressTransfersPaginator usage example with type annotations

from aioboto3.session import Session

from types_aiobotocore_ec2.client import EC2Client
from types_aiobotocore_ec2.paginator import DescribeAddressTransfersPaginator
from types_aiobotocore_ec2.type_defs import DescribeAddressTransfersResultTypeDef


session = Session()

client: EC2Client
async with session.client("ec2") as client:  # (1)
    paginator: DescribeAddressTransfersPaginator = client.get_paginator("describe_address_transfers")  # (2)
    async for item in paginator.paginate(...):
        item: DescribeAddressTransfersResultTypeDef
        print(item)  # (3)
  1. client: EC2Client
  2. paginator: DescribeAddressTransfersPaginator
  3. item: DescribeAddressTransfersResultTypeDef
# BundleTaskCompleteWaiter usage example with type annotations

from aioboto3.session import Session

from types_aiobotocore_ec2.client import EC2Client
from types_aiobotocore_ec2.waiter import BundleTaskCompleteWaiter


session = Session()

async with session.client("ec2") as client:  # (1)
    waiter = client.get_waiter("bundle_task_complete")  # (2)
    await waiter.wait()
  1. client: EC2Client
  2. waiter: BundleTaskCompleteWaiter

Service Resource#

Implicit type annotations#

Can be used with types-aioboto3[ec2] package installed.

# EC2ServiceResource usage example

from aioboto3.session import Session


session = Session()

async with session.resource("ec2") as resource:  # (1)
    result = resource.ClassicAddress()  # (2)
  1. resource: EC2ServiceResource
  2. result:
# ServiceResourceClassicAddressesCollection usage example

from aioboto3.session import Session


session = Session()
resource = session.resource("ec2")  # (1)

collection = resource.classic_addresses  # (2)
for item in collection:
    print(item)  # (3)
  1. resource: EC2ServiceResource
  2. collection: EC2ServiceResource
  3. item: ClassicAddress

Explicit type annotations#

With types-aioboto3-lite[ec2] or a standalone types_aiobotocore_ec2 package, you have to explicitly specify resource: EC2ServiceResource type annotation.

All other type annotations are optional, as types should be discovered automatically. However, these type annotations can be helpful in your functions and methods.

# EC2ServiceResource usage example with type annotations

from aioboto3.session import Session

from types_aiobotocore_ec2.service_resource import EC2ServiceResource
from types_aiobotocore_ec2.service_resource import ClassicAddress


session = Session()

resource: EC2ServiceResource
async with session.resource("ec2") as resource:  # (1)
    result: ClassicAddress = resource.ClassicAddress() # (2)
  1. resource: EC2ServiceResource
  2. result:
# ServiceResourceClassicAddressesCollection usage example with type annotations

from aioboto3.session import Session

from types_aiobotocore_ec2.service_resource import EC2ServiceResource
from types_aiobotocore_ec2.service_resource import ServiceResourceClassicAddressesCollection
from types_aiobotocore_ec2.service_resource import ClassicAddress


session = Session()

resource: EC2ServiceResource
async with session.resource("ec2") as resource:  # (1)
    collection: ServiceResourceClassicAddressesCollection = resource.classic_addresses  # (2)
    for item in collection:
        item: ClassicAddress
        print(item)  # (3)
  1. resource: EC2ServiceResource
  2. collection: EC2ServiceResource
  3. item: ClassicAddress