pulumiverse-cpln 0.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. pulumiverse_cpln/__init__.py +241 -0
  2. pulumiverse_cpln/_inputs.py +18692 -0
  3. pulumiverse_cpln/_utilities.py +331 -0
  4. pulumiverse_cpln/agent.py +330 -0
  5. pulumiverse_cpln/audit_context.py +300 -0
  6. pulumiverse_cpln/cloud_account.py +546 -0
  7. pulumiverse_cpln/config/__init__.py +9 -0
  8. pulumiverse_cpln/config/__init__.pyi +48 -0
  9. pulumiverse_cpln/config/vars.py +64 -0
  10. pulumiverse_cpln/custom_location.py +424 -0
  11. pulumiverse_cpln/domain.py +377 -0
  12. pulumiverse_cpln/domain_route.py +645 -0
  13. pulumiverse_cpln/get_cloud_account.py +107 -0
  14. pulumiverse_cpln/get_gvc.py +423 -0
  15. pulumiverse_cpln/get_image.py +284 -0
  16. pulumiverse_cpln/get_images.py +261 -0
  17. pulumiverse_cpln/get_location.py +273 -0
  18. pulumiverse_cpln/get_locations.py +171 -0
  19. pulumiverse_cpln/get_org.py +250 -0
  20. pulumiverse_cpln/get_secret.py +555 -0
  21. pulumiverse_cpln/group.py +539 -0
  22. pulumiverse_cpln/gvc.py +771 -0
  23. pulumiverse_cpln/identity.py +688 -0
  24. pulumiverse_cpln/ip_set.py +521 -0
  25. pulumiverse_cpln/location.py +435 -0
  26. pulumiverse_cpln/mk8s.py +848 -0
  27. pulumiverse_cpln/mk8s_kubeconfig.py +362 -0
  28. pulumiverse_cpln/org.py +594 -0
  29. pulumiverse_cpln/org_logging.py +616 -0
  30. pulumiverse_cpln/org_tracing.py +347 -0
  31. pulumiverse_cpln/outputs.py +14498 -0
  32. pulumiverse_cpln/policy.py +620 -0
  33. pulumiverse_cpln/provider.py +271 -0
  34. pulumiverse_cpln/pulumi-plugin.json +5 -0
  35. pulumiverse_cpln/py.typed +0 -0
  36. pulumiverse_cpln/secret.py +915 -0
  37. pulumiverse_cpln/service_account.py +328 -0
  38. pulumiverse_cpln/service_account_key.py +285 -0
  39. pulumiverse_cpln/volume_set.py +765 -0
  40. pulumiverse_cpln/workload.py +1033 -0
  41. pulumiverse_cpln-0.0.0.dist-info/METADATA +83 -0
  42. pulumiverse_cpln-0.0.0.dist-info/RECORD +44 -0
  43. pulumiverse_cpln-0.0.0.dist-info/WHEEL +5 -0
  44. pulumiverse_cpln-0.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,107 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from . import _utilities
17
+
18
+ __all__ = [
19
+ 'GetCloudAccountResult',
20
+ 'AwaitableGetCloudAccountResult',
21
+ 'get_cloud_account',
22
+ 'get_cloud_account_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetCloudAccountResult:
27
+ """
28
+ A collection of values returned by getCloudAccount.
29
+ """
30
+ def __init__(__self__, aws_identifiers=None, id=None):
31
+ if aws_identifiers and not isinstance(aws_identifiers, list):
32
+ raise TypeError("Expected argument 'aws_identifiers' to be a list")
33
+ pulumi.set(__self__, "aws_identifiers", aws_identifiers)
34
+ if id and not isinstance(id, str):
35
+ raise TypeError("Expected argument 'id' to be a str")
36
+ pulumi.set(__self__, "id", id)
37
+
38
+ @property
39
+ @pulumi.getter(name="awsIdentifiers")
40
+ def aws_identifiers(self) -> Sequence[builtins.str]:
41
+ return pulumi.get(self, "aws_identifiers")
42
+
43
+ @property
44
+ @pulumi.getter
45
+ def id(self) -> builtins.str:
46
+ return pulumi.get(self, "id")
47
+
48
+
49
+ class AwaitableGetCloudAccountResult(GetCloudAccountResult):
50
+ # pylint: disable=using-constant-test
51
+ def __await__(self):
52
+ if False:
53
+ yield self
54
+ return GetCloudAccountResult(
55
+ aws_identifiers=self.aws_identifiers,
56
+ id=self.id)
57
+
58
+
59
+ def get_cloud_account(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCloudAccountResult:
60
+ """
61
+ Use this data source to access information about an existing [Cloud Account](https://docs.controlplane.com/reference/cloudaccount) within Control Plane.
62
+
63
+ ## Outputs
64
+
65
+ - **aws_identifiers** (String)
66
+
67
+ ## Example Usage
68
+
69
+ ```python
70
+ import pulumi
71
+ import pulumi_cpln as cpln
72
+
73
+ this = cpln.get_cloud_account()
74
+ pulumi.export("cloudAccount", this.aws_identifiers)
75
+ ```
76
+ """
77
+ __args__ = dict()
78
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
79
+ __ret__ = pulumi.runtime.invoke('cpln:index/getCloudAccount:getCloudAccount', __args__, opts=opts, typ=GetCloudAccountResult).value
80
+
81
+ return AwaitableGetCloudAccountResult(
82
+ aws_identifiers=pulumi.get(__ret__, 'aws_identifiers'),
83
+ id=pulumi.get(__ret__, 'id'))
84
+ def get_cloud_account_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCloudAccountResult]:
85
+ """
86
+ Use this data source to access information about an existing [Cloud Account](https://docs.controlplane.com/reference/cloudaccount) within Control Plane.
87
+
88
+ ## Outputs
89
+
90
+ - **aws_identifiers** (String)
91
+
92
+ ## Example Usage
93
+
94
+ ```python
95
+ import pulumi
96
+ import pulumi_cpln as cpln
97
+
98
+ this = cpln.get_cloud_account()
99
+ pulumi.export("cloudAccount", this.aws_identifiers)
100
+ ```
101
+ """
102
+ __args__ = dict()
103
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
104
+ __ret__ = pulumi.runtime.invoke_output('cpln:index/getCloudAccount:getCloudAccount', __args__, opts=opts, typ=GetCloudAccountResult)
105
+ return __ret__.apply(lambda __response__: GetCloudAccountResult(
106
+ aws_identifiers=pulumi.get(__response__, 'aws_identifiers'),
107
+ id=pulumi.get(__response__, 'id')))
@@ -0,0 +1,423 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from . import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
19
+
20
+ __all__ = [
21
+ 'GetGvcResult',
22
+ 'AwaitableGetGvcResult',
23
+ 'get_gvc',
24
+ 'get_gvc_output',
25
+ ]
26
+
27
+ @pulumi.output_type
28
+ class GetGvcResult:
29
+ """
30
+ A collection of values returned by getGvc.
31
+ """
32
+ def __init__(__self__, alias=None, controlplane_tracing=None, cpln_id=None, description=None, domain=None, endpoint_naming_format=None, env=None, id=None, lightstep_tracing=None, load_balancer=None, locations=None, name=None, otel_tracing=None, pull_secrets=None, self_link=None, sidecar=None, tags=None):
33
+ if alias and not isinstance(alias, str):
34
+ raise TypeError("Expected argument 'alias' to be a str")
35
+ pulumi.set(__self__, "alias", alias)
36
+ if controlplane_tracing and not isinstance(controlplane_tracing, dict):
37
+ raise TypeError("Expected argument 'controlplane_tracing' to be a dict")
38
+ pulumi.set(__self__, "controlplane_tracing", controlplane_tracing)
39
+ if cpln_id and not isinstance(cpln_id, str):
40
+ raise TypeError("Expected argument 'cpln_id' to be a str")
41
+ pulumi.set(__self__, "cpln_id", cpln_id)
42
+ if description and not isinstance(description, str):
43
+ raise TypeError("Expected argument 'description' to be a str")
44
+ pulumi.set(__self__, "description", description)
45
+ if domain and not isinstance(domain, str):
46
+ raise TypeError("Expected argument 'domain' to be a str")
47
+ pulumi.set(__self__, "domain", domain)
48
+ if endpoint_naming_format and not isinstance(endpoint_naming_format, str):
49
+ raise TypeError("Expected argument 'endpoint_naming_format' to be a str")
50
+ pulumi.set(__self__, "endpoint_naming_format", endpoint_naming_format)
51
+ if env and not isinstance(env, dict):
52
+ raise TypeError("Expected argument 'env' to be a dict")
53
+ pulumi.set(__self__, "env", env)
54
+ if id and not isinstance(id, str):
55
+ raise TypeError("Expected argument 'id' to be a str")
56
+ pulumi.set(__self__, "id", id)
57
+ if lightstep_tracing and not isinstance(lightstep_tracing, dict):
58
+ raise TypeError("Expected argument 'lightstep_tracing' to be a dict")
59
+ pulumi.set(__self__, "lightstep_tracing", lightstep_tracing)
60
+ if load_balancer and not isinstance(load_balancer, dict):
61
+ raise TypeError("Expected argument 'load_balancer' to be a dict")
62
+ pulumi.set(__self__, "load_balancer", load_balancer)
63
+ if locations and not isinstance(locations, list):
64
+ raise TypeError("Expected argument 'locations' to be a list")
65
+ pulumi.set(__self__, "locations", locations)
66
+ if name and not isinstance(name, str):
67
+ raise TypeError("Expected argument 'name' to be a str")
68
+ pulumi.set(__self__, "name", name)
69
+ if otel_tracing and not isinstance(otel_tracing, dict):
70
+ raise TypeError("Expected argument 'otel_tracing' to be a dict")
71
+ pulumi.set(__self__, "otel_tracing", otel_tracing)
72
+ if pull_secrets and not isinstance(pull_secrets, list):
73
+ raise TypeError("Expected argument 'pull_secrets' to be a list")
74
+ pulumi.set(__self__, "pull_secrets", pull_secrets)
75
+ if self_link and not isinstance(self_link, str):
76
+ raise TypeError("Expected argument 'self_link' to be a str")
77
+ pulumi.set(__self__, "self_link", self_link)
78
+ if sidecar and not isinstance(sidecar, dict):
79
+ raise TypeError("Expected argument 'sidecar' to be a dict")
80
+ pulumi.set(__self__, "sidecar", sidecar)
81
+ if tags and not isinstance(tags, dict):
82
+ raise TypeError("Expected argument 'tags' to be a dict")
83
+ pulumi.set(__self__, "tags", tags)
84
+
85
+ @property
86
+ @pulumi.getter
87
+ def alias(self) -> builtins.str:
88
+ return pulumi.get(self, "alias")
89
+
90
+ @property
91
+ @pulumi.getter(name="controlplaneTracing")
92
+ def controlplane_tracing(self) -> Optional['outputs.GetGvcControlplaneTracingResult']:
93
+ return pulumi.get(self, "controlplane_tracing")
94
+
95
+ @property
96
+ @pulumi.getter(name="cplnId")
97
+ def cpln_id(self) -> builtins.str:
98
+ return pulumi.get(self, "cpln_id")
99
+
100
+ @property
101
+ @pulumi.getter
102
+ def description(self) -> builtins.str:
103
+ return pulumi.get(self, "description")
104
+
105
+ @property
106
+ @pulumi.getter
107
+ @_utilities.deprecated("""Selecting a domain on a GVC will be deprecated in the future. Use the 'cpln_domain resource' instead.""")
108
+ def domain(self) -> Optional[builtins.str]:
109
+ return pulumi.get(self, "domain")
110
+
111
+ @property
112
+ @pulumi.getter(name="endpointNamingFormat")
113
+ def endpoint_naming_format(self) -> builtins.str:
114
+ return pulumi.get(self, "endpoint_naming_format")
115
+
116
+ @property
117
+ @pulumi.getter
118
+ def env(self) -> Optional[Mapping[str, builtins.str]]:
119
+ return pulumi.get(self, "env")
120
+
121
+ @property
122
+ @pulumi.getter
123
+ def id(self) -> builtins.str:
124
+ return pulumi.get(self, "id")
125
+
126
+ @property
127
+ @pulumi.getter(name="lightstepTracing")
128
+ def lightstep_tracing(self) -> Optional['outputs.GetGvcLightstepTracingResult']:
129
+ return pulumi.get(self, "lightstep_tracing")
130
+
131
+ @property
132
+ @pulumi.getter(name="loadBalancer")
133
+ def load_balancer(self) -> Optional['outputs.GetGvcLoadBalancerResult']:
134
+ return pulumi.get(self, "load_balancer")
135
+
136
+ @property
137
+ @pulumi.getter
138
+ def locations(self) -> Optional[Sequence[builtins.str]]:
139
+ return pulumi.get(self, "locations")
140
+
141
+ @property
142
+ @pulumi.getter
143
+ def name(self) -> builtins.str:
144
+ return pulumi.get(self, "name")
145
+
146
+ @property
147
+ @pulumi.getter(name="otelTracing")
148
+ def otel_tracing(self) -> Optional['outputs.GetGvcOtelTracingResult']:
149
+ return pulumi.get(self, "otel_tracing")
150
+
151
+ @property
152
+ @pulumi.getter(name="pullSecrets")
153
+ def pull_secrets(self) -> Optional[Sequence[builtins.str]]:
154
+ return pulumi.get(self, "pull_secrets")
155
+
156
+ @property
157
+ @pulumi.getter(name="selfLink")
158
+ def self_link(self) -> builtins.str:
159
+ return pulumi.get(self, "self_link")
160
+
161
+ @property
162
+ @pulumi.getter
163
+ def sidecar(self) -> Optional['outputs.GetGvcSidecarResult']:
164
+ return pulumi.get(self, "sidecar")
165
+
166
+ @property
167
+ @pulumi.getter
168
+ def tags(self) -> Mapping[str, builtins.str]:
169
+ return pulumi.get(self, "tags")
170
+
171
+
172
+ class AwaitableGetGvcResult(GetGvcResult):
173
+ # pylint: disable=using-constant-test
174
+ def __await__(self):
175
+ if False:
176
+ yield self
177
+ return GetGvcResult(
178
+ alias=self.alias,
179
+ controlplane_tracing=self.controlplane_tracing,
180
+ cpln_id=self.cpln_id,
181
+ description=self.description,
182
+ domain=self.domain,
183
+ endpoint_naming_format=self.endpoint_naming_format,
184
+ env=self.env,
185
+ id=self.id,
186
+ lightstep_tracing=self.lightstep_tracing,
187
+ load_balancer=self.load_balancer,
188
+ locations=self.locations,
189
+ name=self.name,
190
+ otel_tracing=self.otel_tracing,
191
+ pull_secrets=self.pull_secrets,
192
+ self_link=self.self_link,
193
+ sidecar=self.sidecar,
194
+ tags=self.tags)
195
+
196
+
197
+ def get_gvc(controlplane_tracing: Optional[Union['GetGvcControlplaneTracingArgs', 'GetGvcControlplaneTracingArgsDict']] = None,
198
+ domain: Optional[builtins.str] = None,
199
+ endpoint_naming_format: Optional[builtins.str] = None,
200
+ env: Optional[Mapping[str, builtins.str]] = None,
201
+ lightstep_tracing: Optional[Union['GetGvcLightstepTracingArgs', 'GetGvcLightstepTracingArgsDict']] = None,
202
+ load_balancer: Optional[Union['GetGvcLoadBalancerArgs', 'GetGvcLoadBalancerArgsDict']] = None,
203
+ locations: Optional[Sequence[builtins.str]] = None,
204
+ name: Optional[builtins.str] = None,
205
+ otel_tracing: Optional[Union['GetGvcOtelTracingArgs', 'GetGvcOtelTracingArgsDict']] = None,
206
+ pull_secrets: Optional[Sequence[builtins.str]] = None,
207
+ sidecar: Optional[Union['GetGvcSidecarArgs', 'GetGvcSidecarArgsDict']] = None,
208
+ tags: Optional[Mapping[str, builtins.str]] = None,
209
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGvcResult:
210
+ """
211
+ Use this data source to access information about an existing [Global Virtual Cloud (GVC)](https://docs.controlplane.com/reference/gvc) within Control Plane.
212
+
213
+ ## Required
214
+
215
+ - **name** (String) Name of the GVC.
216
+
217
+ ## Outputs
218
+
219
+ The following attributes are exported:
220
+
221
+ - **cpln_id** (String) The ID, in GUID format, of the GVC.
222
+ - **name** (String) Name of the GVC.
223
+ - **alias** (String) The alias name of the GVC.
224
+ - **description** (String) Description of the GVC.
225
+ - **tags** (Map of String) Key-value map of resource tags.
226
+ - **self_link** (String) Full link to this resource. Can be referenced by other resources.
227
+ - **domain** (String) Custom domain name used by associated workloads.
228
+ - **locations** (List of String) A list of [locations](https://docs.controlplane.com/reference/location#current) making up the Global Virtual Cloud.
229
+ - **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.
230
+ - **lightstep_tracing** (Block List, Max: 1) (see below).
231
+ - **otel_tracing** (Block List, Max: 1) (see below).
232
+ - **controlplane_tracing** (Block List, Max: 1) (see below).
233
+ - **load_balancer** (Block List, Max: 1) (see below).
234
+
235
+ <a id="nestedblock--lightstep_tracing"></a>
236
+
237
+ ### `lightstep_tracing`
238
+
239
+ - **sampling** (Int) Sampling percentage.
240
+ - **endpoint** (String) Tracing Endpoint Workload. Either the canonical endpoint or the internal endpoint.
241
+ - **credentials** (String) Full link to referenced Opaque Secret.
242
+
243
+ <a id="nestedblock--otel_tracing"></a>
244
+
245
+ ### `otel_tracing`
246
+
247
+ - **sampling** (Int) Determines what percentage of requests should be traced.
248
+ - **endpoint** (String) Tracing Endpoint Workload. Either the canonical endpoint or internal endpoint.
249
+ - **custom_tags** (Map of String) Key-value map of custom tags.
250
+
251
+ <a id="nestedblock--controlplane_tracing"></a>
252
+
253
+ ### `controlplane_tracing`
254
+
255
+ - **sampling** (Int) Determines what percentage of requests should be traced.
256
+ - **custom_tags** (Map of String) Key-value map of custom tags.
257
+
258
+ <a id="nestedblock--load_balancer"></a>
259
+
260
+ ### `load_balancer`
261
+
262
+ - **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.
263
+
264
+ - **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.
265
+
266
+ ## Example Usage
267
+
268
+ ```python
269
+ import pulumi
270
+ import pulumi_cpln as cpln
271
+
272
+ gvc = cpln.get_gvc(name="gvc-example")
273
+ pulumi.export("gvcId", gvc.id)
274
+ pulumi.export("gvcLocations", gvc.locations)
275
+ ```
276
+ """
277
+ __args__ = dict()
278
+ __args__['controlplaneTracing'] = controlplane_tracing
279
+ __args__['domain'] = domain
280
+ __args__['endpointNamingFormat'] = endpoint_naming_format
281
+ __args__['env'] = env
282
+ __args__['lightstepTracing'] = lightstep_tracing
283
+ __args__['loadBalancer'] = load_balancer
284
+ __args__['locations'] = locations
285
+ __args__['name'] = name
286
+ __args__['otelTracing'] = otel_tracing
287
+ __args__['pullSecrets'] = pull_secrets
288
+ __args__['sidecar'] = sidecar
289
+ __args__['tags'] = tags
290
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
291
+ __ret__ = pulumi.runtime.invoke('cpln:index/getGvc:getGvc', __args__, opts=opts, typ=GetGvcResult).value
292
+
293
+ return AwaitableGetGvcResult(
294
+ alias=pulumi.get(__ret__, 'alias'),
295
+ controlplane_tracing=pulumi.get(__ret__, 'controlplane_tracing'),
296
+ cpln_id=pulumi.get(__ret__, 'cpln_id'),
297
+ description=pulumi.get(__ret__, 'description'),
298
+ domain=pulumi.get(__ret__, 'domain'),
299
+ endpoint_naming_format=pulumi.get(__ret__, 'endpoint_naming_format'),
300
+ env=pulumi.get(__ret__, 'env'),
301
+ id=pulumi.get(__ret__, 'id'),
302
+ lightstep_tracing=pulumi.get(__ret__, 'lightstep_tracing'),
303
+ load_balancer=pulumi.get(__ret__, 'load_balancer'),
304
+ locations=pulumi.get(__ret__, 'locations'),
305
+ name=pulumi.get(__ret__, 'name'),
306
+ otel_tracing=pulumi.get(__ret__, 'otel_tracing'),
307
+ pull_secrets=pulumi.get(__ret__, 'pull_secrets'),
308
+ self_link=pulumi.get(__ret__, 'self_link'),
309
+ sidecar=pulumi.get(__ret__, 'sidecar'),
310
+ tags=pulumi.get(__ret__, 'tags'))
311
+ def get_gvc_output(controlplane_tracing: Optional[pulumi.Input[Optional[Union['GetGvcControlplaneTracingArgs', 'GetGvcControlplaneTracingArgsDict']]]] = None,
312
+ domain: Optional[pulumi.Input[Optional[builtins.str]]] = None,
313
+ endpoint_naming_format: Optional[pulumi.Input[Optional[builtins.str]]] = None,
314
+ env: Optional[pulumi.Input[Optional[Mapping[str, builtins.str]]]] = None,
315
+ lightstep_tracing: Optional[pulumi.Input[Optional[Union['GetGvcLightstepTracingArgs', 'GetGvcLightstepTracingArgsDict']]]] = None,
316
+ load_balancer: Optional[pulumi.Input[Optional[Union['GetGvcLoadBalancerArgs', 'GetGvcLoadBalancerArgsDict']]]] = None,
317
+ locations: Optional[pulumi.Input[Optional[Sequence[builtins.str]]]] = None,
318
+ name: Optional[pulumi.Input[builtins.str]] = None,
319
+ otel_tracing: Optional[pulumi.Input[Optional[Union['GetGvcOtelTracingArgs', 'GetGvcOtelTracingArgsDict']]]] = None,
320
+ pull_secrets: Optional[pulumi.Input[Optional[Sequence[builtins.str]]]] = None,
321
+ sidecar: Optional[pulumi.Input[Optional[Union['GetGvcSidecarArgs', 'GetGvcSidecarArgsDict']]]] = None,
322
+ tags: Optional[pulumi.Input[Optional[Mapping[str, builtins.str]]]] = None,
323
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGvcResult]:
324
+ """
325
+ Use this data source to access information about an existing [Global Virtual Cloud (GVC)](https://docs.controlplane.com/reference/gvc) within Control Plane.
326
+
327
+ ## Required
328
+
329
+ - **name** (String) Name of the GVC.
330
+
331
+ ## Outputs
332
+
333
+ The following attributes are exported:
334
+
335
+ - **cpln_id** (String) The ID, in GUID format, of the GVC.
336
+ - **name** (String) Name of the GVC.
337
+ - **alias** (String) The alias name of the GVC.
338
+ - **description** (String) Description of the GVC.
339
+ - **tags** (Map of String) Key-value map of resource tags.
340
+ - **self_link** (String) Full link to this resource. Can be referenced by other resources.
341
+ - **domain** (String) Custom domain name used by associated workloads.
342
+ - **locations** (List of String) A list of [locations](https://docs.controlplane.com/reference/location#current) making up the Global Virtual Cloud.
343
+ - **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.
344
+ - **lightstep_tracing** (Block List, Max: 1) (see below).
345
+ - **otel_tracing** (Block List, Max: 1) (see below).
346
+ - **controlplane_tracing** (Block List, Max: 1) (see below).
347
+ - **load_balancer** (Block List, Max: 1) (see below).
348
+
349
+ <a id="nestedblock--lightstep_tracing"></a>
350
+
351
+ ### `lightstep_tracing`
352
+
353
+ - **sampling** (Int) Sampling percentage.
354
+ - **endpoint** (String) Tracing Endpoint Workload. Either the canonical endpoint or the internal endpoint.
355
+ - **credentials** (String) Full link to referenced Opaque Secret.
356
+
357
+ <a id="nestedblock--otel_tracing"></a>
358
+
359
+ ### `otel_tracing`
360
+
361
+ - **sampling** (Int) Determines what percentage of requests should be traced.
362
+ - **endpoint** (String) Tracing Endpoint Workload. Either the canonical endpoint or internal endpoint.
363
+ - **custom_tags** (Map of String) Key-value map of custom tags.
364
+
365
+ <a id="nestedblock--controlplane_tracing"></a>
366
+
367
+ ### `controlplane_tracing`
368
+
369
+ - **sampling** (Int) Determines what percentage of requests should be traced.
370
+ - **custom_tags** (Map of String) Key-value map of custom tags.
371
+
372
+ <a id="nestedblock--load_balancer"></a>
373
+
374
+ ### `load_balancer`
375
+
376
+ - **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.
377
+
378
+ - **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.
379
+
380
+ ## Example Usage
381
+
382
+ ```python
383
+ import pulumi
384
+ import pulumi_cpln as cpln
385
+
386
+ gvc = cpln.get_gvc(name="gvc-example")
387
+ pulumi.export("gvcId", gvc.id)
388
+ pulumi.export("gvcLocations", gvc.locations)
389
+ ```
390
+ """
391
+ __args__ = dict()
392
+ __args__['controlplaneTracing'] = controlplane_tracing
393
+ __args__['domain'] = domain
394
+ __args__['endpointNamingFormat'] = endpoint_naming_format
395
+ __args__['env'] = env
396
+ __args__['lightstepTracing'] = lightstep_tracing
397
+ __args__['loadBalancer'] = load_balancer
398
+ __args__['locations'] = locations
399
+ __args__['name'] = name
400
+ __args__['otelTracing'] = otel_tracing
401
+ __args__['pullSecrets'] = pull_secrets
402
+ __args__['sidecar'] = sidecar
403
+ __args__['tags'] = tags
404
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
405
+ __ret__ = pulumi.runtime.invoke_output('cpln:index/getGvc:getGvc', __args__, opts=opts, typ=GetGvcResult)
406
+ return __ret__.apply(lambda __response__: GetGvcResult(
407
+ alias=pulumi.get(__response__, 'alias'),
408
+ controlplane_tracing=pulumi.get(__response__, 'controlplane_tracing'),
409
+ cpln_id=pulumi.get(__response__, 'cpln_id'),
410
+ description=pulumi.get(__response__, 'description'),
411
+ domain=pulumi.get(__response__, 'domain'),
412
+ endpoint_naming_format=pulumi.get(__response__, 'endpoint_naming_format'),
413
+ env=pulumi.get(__response__, 'env'),
414
+ id=pulumi.get(__response__, 'id'),
415
+ lightstep_tracing=pulumi.get(__response__, 'lightstep_tracing'),
416
+ load_balancer=pulumi.get(__response__, 'load_balancer'),
417
+ locations=pulumi.get(__response__, 'locations'),
418
+ name=pulumi.get(__response__, 'name'),
419
+ otel_tracing=pulumi.get(__response__, 'otel_tracing'),
420
+ pull_secrets=pulumi.get(__response__, 'pull_secrets'),
421
+ self_link=pulumi.get(__response__, 'self_link'),
422
+ sidecar=pulumi.get(__response__, 'sidecar'),
423
+ tags=pulumi.get(__response__, 'tags')))