import * as pulumi from "@pulumi/pulumi"; /** * Get Artifact Registry locations available for a project. * * To get more information about Artifact Registry, see: * * * [API documentation](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations/list) * * How-to Guides * * [Official Documentation](https://cloud.google.com/artifact-registry/docs/overview) * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const available = gcp.artifactregistry.getLocations({}); * ``` * * ### Multi-Regional Artifact Registry Deployment * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const available = gcp.artifactregistry.getLocations({}); * const repoOne = new gcp.artifactregistry.Repository("repo_one", { * location: available.then(available => available.locations?.[0]), * repositoryId: "repo-one", * format: "apt", * }); * const repoTwo = new gcp.artifactregistry.Repository("repo_two", { * location: available.then(available => available.locations?.[1]), * repositoryId: "repo-two", * format: "apt", * }); * ``` */ export declare function getLocations(args?: GetLocationsArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getLocations. */ export interface GetLocationsArgs { /** * The project to list versions for. If it * is not provided, the provider project is used. */ project?: string; } /** * A collection of values returned by getLocations. */ export interface GetLocationsResult { /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * The list of Artifact Registry locations available for the given project. */ readonly locations: string[]; readonly project: string; } /** * Get Artifact Registry locations available for a project. * * To get more information about Artifact Registry, see: * * * [API documentation](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations/list) * * How-to Guides * * [Official Documentation](https://cloud.google.com/artifact-registry/docs/overview) * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const available = gcp.artifactregistry.getLocations({}); * ``` * * ### Multi-Regional Artifact Registry Deployment * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const available = gcp.artifactregistry.getLocations({}); * const repoOne = new gcp.artifactregistry.Repository("repo_one", { * location: available.then(available => available.locations?.[0]), * repositoryId: "repo-one", * format: "apt", * }); * const repoTwo = new gcp.artifactregistry.Repository("repo_two", { * location: available.then(available => available.locations?.[1]), * repositoryId: "repo-two", * format: "apt", * }); * ``` */ export declare function getLocationsOutput(args?: GetLocationsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getLocations. */ export interface GetLocationsOutputArgs { /** * The project to list versions for. If it * is not provided, the provider project is used. */ project?: pulumi.Input; }