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;