import * as pulumi from "@pulumi/pulumi"; import * as outputs from "./types/output"; /** * Use this data source to access information about all [Locations](https://docs.controlplane.com/reference/location) within Control Plane. * * ## Outputs * * The following attributes are exported: * * - **locations** (Block List) (see below). * * * * ### `locations` * * - **cpln_id** (String) The ID, in GUID format, of the location. * - **name** (String) Name of the location. * - **description** (String) Description of the location. * - **tags** (Map of String) Key-value map of resource tags. * - **origin** (String) Origin of the location. Valid values: `builtin`, `default`, `custom`. * - **cloud_provider** (String) Cloud Provider of the location. Valid values: `aws`, `gcp`, `azure`, `byok`, `linode`, `vultr`, `equinix`, `oci`. * - **region** (String) Region of the location. * - **enabled** (Boolean) Indication if location is enabled. * - **geo** (Block List, Max: 1) (see below) * - **ip_ranges** (List of String) A list of IP ranges of the location. * - **self_link** (String) Full link to this resource. Can be referenced by other resources. * * * * ### `geo` * * Location geographical details * * - **lat** (Number) Latitude. * - **lon** (Number) Longitude. * - **country** (String) Country. * - **state** (String) State. * - **city** (String) City. * - **continent** (String) Continent. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cpln from "@pulumiverse/cpln"; * * export = async () => { * const locations = await cpln.getLocations({}); * return { * locations: locations.locations, * }; * } * ``` */ export declare function getLocations(opts?: pulumi.InvokeOptions): Promise; /** * A collection of values returned by getLocations. */ export interface GetLocationsResult { /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly locations: outputs.GetLocationsLocation[]; } /** * Use this data source to access information about all [Locations](https://docs.controlplane.com/reference/location) within Control Plane. * * ## Outputs * * The following attributes are exported: * * - **locations** (Block List) (see below). * * * * ### `locations` * * - **cpln_id** (String) The ID, in GUID format, of the location. * - **name** (String) Name of the location. * - **description** (String) Description of the location. * - **tags** (Map of String) Key-value map of resource tags. * - **origin** (String) Origin of the location. Valid values: `builtin`, `default`, `custom`. * - **cloud_provider** (String) Cloud Provider of the location. Valid values: `aws`, `gcp`, `azure`, `byok`, `linode`, `vultr`, `equinix`, `oci`. * - **region** (String) Region of the location. * - **enabled** (Boolean) Indication if location is enabled. * - **geo** (Block List, Max: 1) (see below) * - **ip_ranges** (List of String) A list of IP ranges of the location. * - **self_link** (String) Full link to this resource. Can be referenced by other resources. * * * * ### `geo` * * Location geographical details * * - **lat** (Number) Latitude. * - **lon** (Number) Longitude. * - **country** (String) Country. * - **state** (String) State. * - **city** (String) City. * - **continent** (String) Continent. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cpln from "@pulumiverse/cpln"; * * export = async () => { * const locations = await cpln.getLocations({}); * return { * locations: locations.locations, * }; * } * ``` */ export declare function getLocationsOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output;