@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
156 lines • 5.47 kB
JavaScript
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAvailabilityZonesOutput = exports.getAvailabilityZones = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
* 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](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) 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.
*
* ## Example Usage
*
* ### By State
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* // Declare the data source
* const available = aws.getAvailabilityZones({
* state: "available",
* });
* // e.g., Create subnets in the first two available availability zones
* const primary = new aws.ec2.Subnet("primary", {availabilityZone: available.then(available => available.names?.[0])});
* const secondary = new aws.ec2.Subnet("secondary", {availabilityZone: available.then(available => available.names?.[1])});
* ```
*
* ### By Filter
*
* All Local Zones (regardless of opt-in status):
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = aws.getAvailabilityZones({
* allAvailabilityZones: true,
* filters: [{
* name: "opt-in-status",
* values: [
* "not-opted-in",
* "opted-in",
* ],
* }],
* });
* ```
*
* Only Availability Zones (no Local Zones):
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = aws.getAvailabilityZones({
* filters: [{
* name: "opt-in-status",
* values: ["opt-in-not-required"],
* }],
* });
* ```
*/
function getAvailabilityZones(args, opts) {
args = args || {};
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
return pulumi.runtime.invoke("aws:index/getAvailabilityZones:getAvailabilityZones", {
"allAvailabilityZones": args.allAvailabilityZones,
"excludeNames": args.excludeNames,
"excludeZoneIds": args.excludeZoneIds,
"filters": args.filters,
"region": args.region,
"state": args.state,
}, opts);
}
exports.getAvailabilityZones = getAvailabilityZones;
/**
* 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](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) 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.
*
* ## Example Usage
*
* ### By State
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* // Declare the data source
* const available = aws.getAvailabilityZones({
* state: "available",
* });
* // e.g., Create subnets in the first two available availability zones
* const primary = new aws.ec2.Subnet("primary", {availabilityZone: available.then(available => available.names?.[0])});
* const secondary = new aws.ec2.Subnet("secondary", {availabilityZone: available.then(available => available.names?.[1])});
* ```
*
* ### By Filter
*
* All Local Zones (regardless of opt-in status):
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = aws.getAvailabilityZones({
* allAvailabilityZones: true,
* filters: [{
* name: "opt-in-status",
* values: [
* "not-opted-in",
* "opted-in",
* ],
* }],
* });
* ```
*
* Only Availability Zones (no Local Zones):
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = aws.getAvailabilityZones({
* filters: [{
* name: "opt-in-status",
* values: ["opt-in-not-required"],
* }],
* });
* ```
*/
function getAvailabilityZonesOutput(args, opts) {
args = args || {};
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
return pulumi.runtime.invokeOutput("aws:index/getAvailabilityZones:getAvailabilityZones", {
"allAvailabilityZones": args.allAvailabilityZones,
"excludeNames": args.excludeNames,
"excludeZoneIds": args.excludeZoneIds,
"filters": args.filters,
"region": args.region,
"state": args.state,
}, opts);
}
exports.getAvailabilityZonesOutput = getAvailabilityZonesOutput;
//# sourceMappingURL=getAvailabilityZones.js.map
;