EC2 / Client / describe_availability_zones

describe_availability_zones#

EC2.Client.describe_availability_zones(**kwargs)#

Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you. If there is an event impacting a zone, you can use this request to view the state and any provided messages for that zone.

For more information about Availability Zones, Local Zones, and Wavelength Zones, see Regions and zones in the Amazon EC2 User Guide.

Note

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

See also: AWS API Documentation

Request Syntax

response = client.describe_availability_zones(
    ZoneNames=[
        'string',
    ],
    ZoneIds=[
        'string',
    ],
    AllAvailabilityZones=True|False,
    DryRun=True|False,
    Filters=[
        {
            'Name': 'string',
            'Values': [
                'string',
            ]
        },
    ]
)
Parameters:
  • ZoneNames (list) –

    The names of the Availability Zones, Local Zones, and Wavelength Zones.

    • (string) –

  • ZoneIds (list) –

    The IDs of the Availability Zones, Local Zones, and Wavelength Zones.

    • (string) –

  • AllAvailabilityZones (boolean) –

    Include all Availability Zones, Local Zones, and Wavelength Zones regardless of your opt-in status.

    If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.

  • DryRun (boolean) – Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • Filters (list) –

    The filters.

    • group-name - For Availability Zones, use the Region name. For Local Zones, use the name of the group associated with the Local Zone (for example, us-west-2-lax-1) For Wavelength Zones, use the name of the group associated with the Wavelength Zone (for example, us-east-1-wl1).

    • message - The Zone message.

    • opt-in-status - The opt-in status ( opted-in | not-opted-in | opt-in-not-required).

    • parent-zone-id - The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.

    • parent-zone-name - The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.

    • region-name - The name of the Region for the Zone (for example, us-east-1).

    • state - The state of the Availability Zone, the Local Zone, or the Wavelength Zone ( available).

    • zone-id - The ID of the Availability Zone (for example, use1-az1), the Local Zone (for example, usw2-lax1-az1), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

    • zone-name - The name of the Availability Zone (for example, us-east-1a), the Local Zone (for example, us-west-2-lax-1a), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

    • zone-type - The type of zone ( availability-zone | local-zone | wavelength-zone).

    • (dict) –

      A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

      If you specify multiple filters, the filters are joined with an AND, and the request returns only results that match all of the specified filters.

      For more information, see List and filter using the CLI and API in the Amazon EC2 User Guide.

      • Name (string) –

        The name of the filter. Filter names are case-sensitive.

      • Values (list) –

        The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR, and the request returns all results that match any of the specified values.

        • (string) –

Return type:

dict

Returns:

Response Syntax

{
    'AvailabilityZones': [
        {
            'OptInStatus': 'opt-in-not-required'|'opted-in'|'not-opted-in',
            'Messages': [
                {
                    'Message': 'string'
                },
            ],
            'RegionName': 'string',
            'ZoneName': 'string',
            'ZoneId': 'string',
            'GroupName': 'string',
            'NetworkBorderGroup': 'string',
            'ZoneType': 'string',
            'ParentZoneName': 'string',
            'ParentZoneId': 'string',
            'State': 'available'|'information'|'impaired'|'unavailable'|'constrained'
        },
    ]
}

Response Structure

  • (dict) –

    • AvailabilityZones (list) –

      Information about the Availability Zones, Local Zones, and Wavelength Zones.

      • (dict) –

        Describes Availability Zones, Local Zones, and Wavelength Zones.

        • OptInStatus (string) –

          For Availability Zones, this parameter always has the value of opt-in-not-required.

          For Local Zones and Wavelength Zones, this parameter is the opt-in status. The possible values are opted-in, and not-opted-in.

        • Messages (list) –

          Any messages about the Availability Zone, Local Zone, or Wavelength Zone.

          • (dict) –

            Describes a message about an Availability Zone, Local Zone, or Wavelength Zone.

            • Message (string) –

              The message about the Availability Zone, Local Zone, or Wavelength Zone.

        • RegionName (string) –

          The name of the Region.

        • ZoneName (string) –

          The name of the Availability Zone, Local Zone, or Wavelength Zone.

        • ZoneId (string) –

          The ID of the Availability Zone, Local Zone, or Wavelength Zone.

        • GroupName (string) –

          For Availability Zones, this parameter has the same value as the Region name.

          For Local Zones, the name of the associated group, for example us-west-2-lax-1.

          For Wavelength Zones, the name of the associated group, for example us-east-1-wl1-bos-wlz-1.

        • NetworkBorderGroup (string) –

          The name of the network border group.

        • ZoneType (string) –

          The type of zone. The valid values are availability-zone, local-zone, and wavelength-zone.

        • ParentZoneName (string) –

          The name of the zone that handles some of the Local Zone or Wavelength Zone control plane operations, such as API calls.

        • ParentZoneId (string) –

          The ID of the zone that handles some of the Local Zone or Wavelength Zone control plane operations, such as API calls.

        • State (string) –

          The state of the Availability Zone, Local Zone, or Wavelength Zone. This value is always available.

Examples

This example describes the Availability Zones that are available to you. The response includes Availability Zones only for the current region.

response = client.describe_availability_zones(
)

print(response)

Expected Output:

{
    'AvailabilityZones': [
        {
            'Messages': [
            ],
            'RegionName': 'us-east-1',
            'State': 'available',
            'ZoneName': 'us-east-1b',
        },
        {
            'Messages': [
            ],
            'RegionName': 'us-east-1',
            'State': 'available',
            'ZoneName': 'us-east-1c',
        },
        {
            'Messages': [
            ],
            'RegionName': 'us-east-1',
            'State': 'available',
            'ZoneName': 'us-east-1d',
        },
        {
            'Messages': [
            ],
            'RegionName': 'us-east-1',
            'State': 'available',
            'ZoneName': 'us-east-1e',
        },
    ],
    'ResponseMetadata': {
        '...': '...',
    },
}