Show / Hide Table of Contents

Class GetAvailabilityZones

Inheritance
System.Object
GetAvailabilityZones
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Pulumi.Aws
Assembly: Pulumi.Aws.dll
Syntax
public static class GetAvailabilityZones

Methods

View Source

InvokeAsync(GetAvailabilityZonesArgs, InvokeOptions)

The Availability Zones data source allows access to the list of AWS Availability Zones which can be accessed by an AWS account within the region configured in the provider.

This is different from the aws..getAvailabilityZone (singular) data source, which provides some details about a specific availability zone.

When Local Zones are enabled in a region, by default the API and this data source include both Local Zones and Availability Zones. To return only Availability Zones, see the example section below.

{{% examples %}}

Example Usage

{{% example %}}

By State

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
public MyStack()
{
    var available = Output.Create(Aws.GetAvailabilityZones.InvokeAsync(new Aws.GetAvailabilityZonesArgs
    {
        State = "available",
    }));
    var primary = new Aws.Ec2.Subnet("primary", new Aws.Ec2.SubnetArgs
    {
        AvailabilityZone = available.Apply(available => available.Names[0]),
    });
    // ...
    var secondary = new Aws.Ec2.Subnet("secondary", new Aws.Ec2.SubnetArgs
    {
        AvailabilityZone = available.Apply(available => available.Names[1]),
    });
    // ...
}

}

{{% /example %}} {{% example %}}

By Filter

All Local Zones (regardless of opt-in status):

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
public MyStack()
{
    var example = Output.Create(Aws.GetAvailabilityZones.InvokeAsync(new Aws.GetAvailabilityZonesArgs
    {
        AllAvailabilityZones = true,
        Filters = 
        {
            new Aws.Inputs.GetAvailabilityZonesFilterArgs
            {
                Name = "opt-in-status",
                Values = 
                {
                    "not-opted-in",
                    "opted-in",
                },
            },
        },
    }));
}

}

Only Availability Zones (no Local Zones):

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
public MyStack()
{
    var example = Output.Create(Aws.GetAvailabilityZones.InvokeAsync(new Aws.GetAvailabilityZonesArgs
    {
        Filters = 
        {
            new Aws.Inputs.GetAvailabilityZonesFilterArgs
            {
                Name = "opt-in-status",
                Values = 
                {
                    "opt-in-not-required",
                },
            },
        },
    }));
}

}

{{% /example %}} {{% /examples %}}

Declaration
public static Task<GetAvailabilityZonesResult> InvokeAsync(GetAvailabilityZonesArgs args = null, InvokeOptions options = null)
Parameters
Type Name Description
GetAvailabilityZonesArgs args
InvokeOptions options
Returns
Type Description
System.Threading.Tasks.Task<GetAvailabilityZonesResult>
  • View Source
Back to top Copyright 2016-2020, Pulumi Corporation.