getZones

suspend fun getZones(argument: GetZonesPlainArgs): GetZonesResult

This data source provides availability zones that can be accessed by an Alibaba Cloud account within the region configured in the provider.

NOTE: If one zone is sold out, it will not be exported.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
// Declare the data source
const zonesDs = alicloud.getZones({
availableInstanceType: "ecs.n4.large",
availableDiskCategory: "cloud_ssd",
});
import pulumi
import pulumi_alicloud as alicloud
# Declare the data source
zones_ds = alicloud.get_zones(available_instance_type="ecs.n4.large",
available_disk_category="cloud_ssd")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
// Declare the data source
var zonesDs = AliCloud.GetZones.Invoke(new()
{
AvailableInstanceType = "ecs.n4.large",
AvailableDiskCategory = "cloud_ssd",
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Declare the data source
_, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
AvailableInstanceType: pulumi.StringRef("ecs.n4.large"),
AvailableDiskCategory: pulumi.StringRef("cloud_ssd"),
}, nil)
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
// Declare the data source
final var zonesDs = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableInstanceType("ecs.n4.large")
.availableDiskCategory("cloud_ssd")
.build());
}
}
variables:
# Declare the data source
zonesDs:
fn::invoke:
function: alicloud:getZones
arguments:
availableInstanceType: ecs.n4.large
availableDiskCategory: cloud_ssd

Return

A collection of values returned by getZones.

Parameters

argument

A collection of arguments for invoking getZones.


suspend fun getZones(availableDiskCategory: String? = null, availableInstanceType: String? = null, availableResourceCreation: String? = null, availableSlbAddressIpVersion: String? = null, availableSlbAddressType: String? = null, enableDetails: Boolean? = null, instanceChargeType: String? = null, multi: Boolean? = null, networkType: String? = null, outputFile: String? = null, spotStrategy: String? = null): GetZonesResult

Return

A collection of values returned by getZones.

Parameters

availableDiskCategory

Filter the results by a specific disk category. Can be either cloud, cloud_efficiency, cloud_ssd, ephemeral_ssd.

availableInstanceType

Filter the results by a specific instance type.

availableResourceCreation

Filter the results by a specific resource type. Valid values: Instance, Disk, VSwitch, Rds, KVStore, FunctionCompute, Elasticsearch, Slb.

NOTE: From version 1.134.0, the available_resource_creation value "Rds" has been deprecated. If you want to fetch the available zones for RDS instance, you can use datasource alicloud_db_zones

availableSlbAddressIpVersion

Filter the results by a slb instance address version. Can be either ipv4, or ipv6.

NOTE: The disk category cloud has been outdated and can only be used by non-I/O Optimized ECS instances. Many availability zones don't support it. It is recommended to use cloud_efficiency or cloud_ssd.

availableSlbAddressType

Filter the results by a slb instance address type. Can be either Vpc, classic_internet or classic_intranet

enableDetails

Default to false and only output id in the zones block. Set it to true can output more details.

instanceChargeType

Filter the results by a specific ECS instance charge type. Valid values: PrePaid and PostPaid. Default to PostPaid.

multi

Indicate whether the zones can be used in a multi AZ configuration. Default to false. Multi AZ is usually used to launch RDS instances.

networkType

Filter the results by a specific network type. Valid values: Classic and Vpc.

outputFile

File name where to save data source results (after running pulumi preview).

spotStrategy
  • (Optional) Filter the results by a specific ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.

See also


suspend fun getZones(argument: suspend GetZonesPlainArgsBuilder.() -> Unit): GetZonesResult

Return

A collection of values returned by getZones.

Parameters

argument

Builder for com.pulumi.alicloud.kotlin.inputs.GetZonesPlainArgs.

See also