import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Use this data source to access information about an existing [Global Virtual Cloud (GVC)](https://docs.controlplane.com/reference/gvc) within Control Plane. * * ## Required * * - **name** (String) Name of the GVC. * * ## Outputs * * The following attributes are exported: * * - **cpln_id** (String) The ID, in GUID format, of the GVC. * - **name** (String) Name of the GVC. * - **alias** (String) The alias name of the GVC. * - **description** (String) Description of the GVC. * - **tags** (Map of String) Key-value map of resource tags. * - **self_link** (String) Full link to this resource. Can be referenced by other resources. * - **domain** (String) Custom domain name used by associated workloads. * - **locations** (List of String) A list of [locations](https://docs.controlplane.com/reference/location#current) making up the Global Virtual Cloud. * - **pull_secrets** (List of String) A list of [pull secret](https://docs.controlplane.com/reference/gvc#pull-secrets) names used to authenticate to any private image repository referenced by Workloads within the GVC. * - **lightstep_tracing** (Block List, Max: 1) (see below). * - **otel_tracing** (Block List, Max: 1) (see below). * - **controlplane_tracing** (Block List, Max: 1) (see below). * - **location_query** (Block List, Max: 1) (see below). * - **location_options** (Block Set) (see below). * - **load_balancer** (Block List, Max: 1) (see below). * * * * ### `lightstepTracing` * * - **sampling** (Int) Sampling percentage. * - **endpoint** (String) Tracing Endpoint Workload. Either the canonical endpoint or the internal endpoint. * - **credentials** (String) Full link to referenced Opaque Secret. * * * * ### `otelTracing` * * - **sampling** (Int) Determines what percentage of requests should be traced. * - **endpoint** (String) Tracing Endpoint Workload. Either the canonical endpoint or internal endpoint. * - **custom_tags** (Map of String) Key-value map of custom tags. * * * * ### `controlplaneTracing` * * - **sampling** (Int) Determines what percentage of requests should be traced. * - **custom_tags** (Map of String) Key-value map of custom tags. * * * * ### `locationQuery` * * A query that dynamically selects the locations making up the Global Virtual Cloud. * * - **fetch** (String) Type of fetch. Specify either: `links` or `items`. Default: `items`. * - **spec** (Block List, Max: 1) (see below). * * * * ### `location_query.spec` * * - **match** (String) Type of match. Available values: `all`, `any`, `none`. Default: `all`. * - **terms** (Block List) (see below). * * * * ### `location_query.spec.terms` * * Terms can only contain one of the following attributes: `property`, `rel`, `tag`. * * - **op** (String) Type of query operation. Available values: `=`, `>`, `>=`, `<`, `<=`, `!=`, `~`, `=~`, `exists`, `!exists`, `contains`. Default: `=`. * - **property** (String) Property to use for query evaluation. * - **rel** (String) Relation to use for query evaluation. * - **tag** (String) Tag key to use for query evaluation. * - **value** (String) Testing value for query evaluation. * * * * ### `locationOptions` * * - **name** (String) Name of the location these options apply to. * - **routing_tier** (Int) Routing tier for DNS geo routing. Lower value = higher priority. Locations with the same `routingTier` form a group; within a group, lowest latency wins. If all locations in the highest-priority group are unavailable, the next group is used. * - **latency_offset_ms** (Int) Artificial latency offset in milliseconds added to measured latency. Positive values push traffic away from this location, negative values attract traffic. Default: `0`. * - **latency_tolerance_ms** (Int) Maximum acceptable latency in milliseconds. If measured latency exceeds this value, the location is treated as unavailable for DNS geo routing. * * * * ### `loadBalancer` * * - **dedicated** (Boolean) Creates a dedicated load balancer in each location and enables additional Domain features: custom ports, protocols and wildcard hostnames. Charges apply for each location. * * - **trusted_proxies** (Int) Controls the address used for request logging and for setting the X-Envoy-External-Address header. If set to 1, then the last address in an existing X-Forwarded-For header will be used in place of the source client IP address. If set to 2, then the second to last address in an existing X-Forwarded-For header will be used in place of the source client IP address. If the XFF header does not have at least two addresses or does not exist then the source client IP address will be used instead. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cpln from "@pulumiverse/cpln"; * * const gvc = cpln.getGvc({ * name: "gvc-example", * }); * export const gvcId = gvc.then(gvc => gvc.id); * export const gvcLocations = gvc.then(gvc => gvc.locations); * ``` */ export declare function getGvc(args: GetGvcArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getGvc. */ export interface GetGvcArgs { controlplaneTracing?: inputs.GetGvcControlplaneTracing; /** * @deprecated Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead. */ domain?: string; endpointNamingFormat?: string; env?: { [key: string]: string; }; keda?: inputs.GetGvcKeda; lightstepTracing?: inputs.GetGvcLightstepTracing; loadBalancer?: inputs.GetGvcLoadBalancer; locationOptions?: inputs.GetGvcLocationOption[]; locationQueries?: inputs.GetGvcLocationQuery[]; locations?: string[]; name: string; otelTracing?: inputs.GetGvcOtelTracing; pullSecrets?: string[]; sidecar?: inputs.GetGvcSidecar; tags?: { [key: string]: string; }; } /** * A collection of values returned by getGvc. */ export interface GetGvcResult { readonly alias: string; readonly controlplaneTracing?: outputs.GetGvcControlplaneTracing; readonly cplnId: string; readonly description: string; /** * @deprecated Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead. */ readonly domain?: string; readonly endpointNamingFormat: string; readonly env?: { [key: string]: string; }; readonly id: string; readonly keda?: outputs.GetGvcKeda; readonly lightstepTracing?: outputs.GetGvcLightstepTracing; readonly loadBalancer?: outputs.GetGvcLoadBalancer; readonly locationOptions?: outputs.GetGvcLocationOption[]; readonly locationQueries?: outputs.GetGvcLocationQuery[]; readonly locations?: string[]; readonly name: string; readonly otelTracing?: outputs.GetGvcOtelTracing; readonly pullSecrets?: string[]; readonly selfLink: string; readonly sidecar?: outputs.GetGvcSidecar; readonly tags: { [key: string]: string; }; } /** * Use this data source to access information about an existing [Global Virtual Cloud (GVC)](https://docs.controlplane.com/reference/gvc) within Control Plane. * * ## Required * * - **name** (String) Name of the GVC. * * ## Outputs * * The following attributes are exported: * * - **cpln_id** (String) The ID, in GUID format, of the GVC. * - **name** (String) Name of the GVC. * - **alias** (String) The alias name of the GVC. * - **description** (String) Description of the GVC. * - **tags** (Map of String) Key-value map of resource tags. * - **self_link** (String) Full link to this resource. Can be referenced by other resources. * - **domain** (String) Custom domain name used by associated workloads. * - **locations** (List of String) A list of [locations](https://docs.controlplane.com/reference/location#current) making up the Global Virtual Cloud. * - **pull_secrets** (List of String) A list of [pull secret](https://docs.controlplane.com/reference/gvc#pull-secrets) names used to authenticate to any private image repository referenced by Workloads within the GVC. * - **lightstep_tracing** (Block List, Max: 1) (see below). * - **otel_tracing** (Block List, Max: 1) (see below). * - **controlplane_tracing** (Block List, Max: 1) (see below). * - **location_query** (Block List, Max: 1) (see below). * - **location_options** (Block Set) (see below). * - **load_balancer** (Block List, Max: 1) (see below). * * * * ### `lightstepTracing` * * - **sampling** (Int) Sampling percentage. * - **endpoint** (String) Tracing Endpoint Workload. Either the canonical endpoint or the internal endpoint. * - **credentials** (String) Full link to referenced Opaque Secret. * * * * ### `otelTracing` * * - **sampling** (Int) Determines what percentage of requests should be traced. * - **endpoint** (String) Tracing Endpoint Workload. Either the canonical endpoint or internal endpoint. * - **custom_tags** (Map of String) Key-value map of custom tags. * * * * ### `controlplaneTracing` * * - **sampling** (Int) Determines what percentage of requests should be traced. * - **custom_tags** (Map of String) Key-value map of custom tags. * * * * ### `locationQuery` * * A query that dynamically selects the locations making up the Global Virtual Cloud. * * - **fetch** (String) Type of fetch. Specify either: `links` or `items`. Default: `items`. * - **spec** (Block List, Max: 1) (see below). * * * * ### `location_query.spec` * * - **match** (String) Type of match. Available values: `all`, `any`, `none`. Default: `all`. * - **terms** (Block List) (see below). * * * * ### `location_query.spec.terms` * * Terms can only contain one of the following attributes: `property`, `rel`, `tag`. * * - **op** (String) Type of query operation. Available values: `=`, `>`, `>=`, `<`, `<=`, `!=`, `~`, `=~`, `exists`, `!exists`, `contains`. Default: `=`. * - **property** (String) Property to use for query evaluation. * - **rel** (String) Relation to use for query evaluation. * - **tag** (String) Tag key to use for query evaluation. * - **value** (String) Testing value for query evaluation. * * * * ### `locationOptions` * * - **name** (String) Name of the location these options apply to. * - **routing_tier** (Int) Routing tier for DNS geo routing. Lower value = higher priority. Locations with the same `routingTier` form a group; within a group, lowest latency wins. If all locations in the highest-priority group are unavailable, the next group is used. * - **latency_offset_ms** (Int) Artificial latency offset in milliseconds added to measured latency. Positive values push traffic away from this location, negative values attract traffic. Default: `0`. * - **latency_tolerance_ms** (Int) Maximum acceptable latency in milliseconds. If measured latency exceeds this value, the location is treated as unavailable for DNS geo routing. * * * * ### `loadBalancer` * * - **dedicated** (Boolean) Creates a dedicated load balancer in each location and enables additional Domain features: custom ports, protocols and wildcard hostnames. Charges apply for each location. * * - **trusted_proxies** (Int) Controls the address used for request logging and for setting the X-Envoy-External-Address header. If set to 1, then the last address in an existing X-Forwarded-For header will be used in place of the source client IP address. If set to 2, then the second to last address in an existing X-Forwarded-For header will be used in place of the source client IP address. If the XFF header does not have at least two addresses or does not exist then the source client IP address will be used instead. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cpln from "@pulumiverse/cpln"; * * const gvc = cpln.getGvc({ * name: "gvc-example", * }); * export const gvcId = gvc.then(gvc => gvc.id); * export const gvcLocations = gvc.then(gvc => gvc.locations); * ``` */ export declare function getGvcOutput(args: GetGvcOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getGvc. */ export interface GetGvcOutputArgs { controlplaneTracing?: pulumi.Input; /** * @deprecated Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead. */ domain?: pulumi.Input; endpointNamingFormat?: pulumi.Input; env?: pulumi.Input<{ [key: string]: pulumi.Input; }>; keda?: pulumi.Input; lightstepTracing?: pulumi.Input; loadBalancer?: pulumi.Input; locationOptions?: pulumi.Input[]>; locationQueries?: pulumi.Input[]>; locations?: pulumi.Input[]>; name: pulumi.Input; otelTracing?: pulumi.Input; pullSecrets?: pulumi.Input[]>; sidecar?: pulumi.Input; tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; }