@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
91 lines (90 loc) • 3.39 kB
TypeScript
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>;
}