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; }>; }