UNPKG

@pulumi/gcp

Version:

A Pulumi package for creating and managing Google Cloud Platform resources.

91 lines (90 loc) 3.39 kB
import * as pulumi from "@pulumi/pulumi"; /** * Provides access to available Google Compute regions for a given project. * See more about [regions and zones](https://cloud.google.com/compute/docs/regions-zones/) in the upstream docs. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const available = gcp.compute.getRegions({}); * const cluster: gcp.compute.Subnetwork[] = []; * available.then(available => available.names).length.apply(rangeBody => { * for (const range = {value: 0}; range.value < rangeBody; range.value++) { * cluster.push(new gcp.compute.Subnetwork(`cluster-${range.value}`, { * name: "my-network", * ipCidrRange: `10.36.${range.value}.0/24`, * network: "my-network", * region: available.then(available => available.names[range.value]), * })); * } * }); * ``` */ export declare function getRegions(args?: GetRegionsArgs, opts?: pulumi.InvokeOptions): Promise<GetRegionsResult>; /** * A collection of arguments for invoking getRegions. */ export interface GetRegionsArgs { /** * Project from which to list available regions. Defaults to project declared in the provider. */ project?: string; /** * Allows to filter list of regions based on their current status. Status can be either `UP` or `DOWN`. * Defaults to no filtering (all available regions - both `UP` and `DOWN`). */ status?: string; } /** * A collection of values returned by getRegions. */ export interface GetRegionsResult { /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * A list of regions available in the given project */ readonly names: string[]; readonly project: string; readonly status?: string; } /** * Provides access to available Google Compute regions for a given project. * See more about [regions and zones](https://cloud.google.com/compute/docs/regions-zones/) in the upstream docs. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const available = gcp.compute.getRegions({}); * const cluster: gcp.compute.Subnetwork[] = []; * available.then(available => available.names).length.apply(rangeBody => { * for (const range = {value: 0}; range.value < rangeBody; range.value++) { * cluster.push(new gcp.compute.Subnetwork(`cluster-${range.value}`, { * name: "my-network", * ipCidrRange: `10.36.${range.value}.0/24`, * network: "my-network", * region: available.then(available => available.names[range.value]), * })); * } * }); * ``` */ export declare function getRegionsOutput(args?: GetRegionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRegionsResult>; /** * A collection of arguments for invoking getRegions. */ export interface GetRegionsOutputArgs { /** * Project from which to list available regions. Defaults to project declared in the provider. */ project?: pulumi.Input<string>; /** * Allows to filter list of regions based on their current status. Status can be either `UP` or `DOWN`. * Defaults to no filtering (all available regions - both `UP` and `DOWN`). */ status?: pulumi.Input<string>; }