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 SourceInvokeAsync(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> |