import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
* Use this data source to access information about a [Location](https://docs.controlplane.com/reference/location) within Control Plane.
*
* ## Required
*
* - **name** (String) Name of the location (i.e. `aws-us-west-2`).
*
* ## Outputs
*
* The following attributes are exported:
*
* - **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 location = await cpln.getLocation({
* name: "aws-us-west-2",
* });
* return {
* location: location,
* locationEnabled: location.enabled,
* };
* }
* ```
*/
export declare function getLocation(args: GetLocationArgs, opts?: pulumi.InvokeOptions): Promise;
/**
* A collection of arguments for invoking getLocation.
*/
export interface GetLocationArgs {
name: string;
tags?: {
[key: string]: string;
};
}
/**
* A collection of values returned by getLocation.
*/
export interface GetLocationResult {
readonly cloudProvider: string;
readonly cplnId: string;
readonly description: string;
readonly enabled: boolean;
readonly geos: outputs.GetLocationGeo[];
readonly id: string;
readonly ipRanges: string[];
readonly name: string;
readonly origin: string;
readonly region: string;
readonly selfLink: string;
readonly tags: {
[key: string]: string;
};
}
/**
* Use this data source to access information about a [Location](https://docs.controlplane.com/reference/location) within Control Plane.
*
* ## Required
*
* - **name** (String) Name of the location (i.e. `aws-us-west-2`).
*
* ## Outputs
*
* The following attributes are exported:
*
* - **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 location = await cpln.getLocation({
* name: "aws-us-west-2",
* });
* return {
* location: location,
* locationEnabled: location.enabled,
* };
* }
* ```
*/
export declare function getLocationOutput(args: GetLocationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output;
/**
* A collection of arguments for invoking getLocation.
*/
export interface GetLocationOutputArgs {
name: pulumi.Input;
tags?: pulumi.Input<{
[key: string]: pulumi.Input;
}>;
}