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,555 @@
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
+ 'GetSecretResult',
22
+ 'AwaitableGetSecretResult',
23
+ 'get_secret',
24
+ 'get_secret_output',
25
+ ]
26
+
27
+ @pulumi.output_type
28
+ class GetSecretResult:
29
+ """
30
+ A collection of values returned by getSecret.
31
+ """
32
+ def __init__(__self__, aws=None, azure_connectors=None, azure_sdk=None, cpln_id=None, description=None, dictionary=None, dictionary_as_envs=None, docker=None, ecrs=None, gcp=None, id=None, keypairs=None, name=None, nats_accounts=None, opaques=None, secret_link=None, self_link=None, tags=None, tls=None, userpasses=None):
33
+ if aws and not isinstance(aws, list):
34
+ raise TypeError("Expected argument 'aws' to be a list")
35
+ pulumi.set(__self__, "aws", aws)
36
+ if azure_connectors and not isinstance(azure_connectors, list):
37
+ raise TypeError("Expected argument 'azure_connectors' to be a list")
38
+ pulumi.set(__self__, "azure_connectors", azure_connectors)
39
+ if azure_sdk and not isinstance(azure_sdk, str):
40
+ raise TypeError("Expected argument 'azure_sdk' to be a str")
41
+ pulumi.set(__self__, "azure_sdk", azure_sdk)
42
+ if cpln_id and not isinstance(cpln_id, str):
43
+ raise TypeError("Expected argument 'cpln_id' to be a str")
44
+ pulumi.set(__self__, "cpln_id", cpln_id)
45
+ if description and not isinstance(description, str):
46
+ raise TypeError("Expected argument 'description' to be a str")
47
+ pulumi.set(__self__, "description", description)
48
+ if dictionary and not isinstance(dictionary, dict):
49
+ raise TypeError("Expected argument 'dictionary' to be a dict")
50
+ pulumi.set(__self__, "dictionary", dictionary)
51
+ if dictionary_as_envs and not isinstance(dictionary_as_envs, dict):
52
+ raise TypeError("Expected argument 'dictionary_as_envs' to be a dict")
53
+ pulumi.set(__self__, "dictionary_as_envs", dictionary_as_envs)
54
+ if docker and not isinstance(docker, str):
55
+ raise TypeError("Expected argument 'docker' to be a str")
56
+ pulumi.set(__self__, "docker", docker)
57
+ if ecrs and not isinstance(ecrs, list):
58
+ raise TypeError("Expected argument 'ecrs' to be a list")
59
+ pulumi.set(__self__, "ecrs", ecrs)
60
+ if gcp and not isinstance(gcp, str):
61
+ raise TypeError("Expected argument 'gcp' to be a str")
62
+ pulumi.set(__self__, "gcp", gcp)
63
+ if id and not isinstance(id, str):
64
+ raise TypeError("Expected argument 'id' to be a str")
65
+ pulumi.set(__self__, "id", id)
66
+ if keypairs and not isinstance(keypairs, list):
67
+ raise TypeError("Expected argument 'keypairs' to be a list")
68
+ pulumi.set(__self__, "keypairs", keypairs)
69
+ if name and not isinstance(name, str):
70
+ raise TypeError("Expected argument 'name' to be a str")
71
+ pulumi.set(__self__, "name", name)
72
+ if nats_accounts and not isinstance(nats_accounts, list):
73
+ raise TypeError("Expected argument 'nats_accounts' to be a list")
74
+ pulumi.set(__self__, "nats_accounts", nats_accounts)
75
+ if opaques and not isinstance(opaques, list):
76
+ raise TypeError("Expected argument 'opaques' to be a list")
77
+ pulumi.set(__self__, "opaques", opaques)
78
+ if secret_link and not isinstance(secret_link, str):
79
+ raise TypeError("Expected argument 'secret_link' to be a str")
80
+ pulumi.set(__self__, "secret_link", secret_link)
81
+ if self_link and not isinstance(self_link, str):
82
+ raise TypeError("Expected argument 'self_link' to be a str")
83
+ pulumi.set(__self__, "self_link", self_link)
84
+ if tags and not isinstance(tags, dict):
85
+ raise TypeError("Expected argument 'tags' to be a dict")
86
+ pulumi.set(__self__, "tags", tags)
87
+ if tls and not isinstance(tls, list):
88
+ raise TypeError("Expected argument 'tls' to be a list")
89
+ pulumi.set(__self__, "tls", tls)
90
+ if userpasses and not isinstance(userpasses, list):
91
+ raise TypeError("Expected argument 'userpasses' to be a list")
92
+ pulumi.set(__self__, "userpasses", userpasses)
93
+
94
+ @property
95
+ @pulumi.getter
96
+ def aws(self) -> Optional[Sequence['outputs.GetSecretAwResult']]:
97
+ return pulumi.get(self, "aws")
98
+
99
+ @property
100
+ @pulumi.getter(name="azureConnectors")
101
+ def azure_connectors(self) -> Optional[Sequence['outputs.GetSecretAzureConnectorResult']]:
102
+ return pulumi.get(self, "azure_connectors")
103
+
104
+ @property
105
+ @pulumi.getter(name="azureSdk")
106
+ def azure_sdk(self) -> builtins.str:
107
+ return pulumi.get(self, "azure_sdk")
108
+
109
+ @property
110
+ @pulumi.getter(name="cplnId")
111
+ def cpln_id(self) -> builtins.str:
112
+ return pulumi.get(self, "cpln_id")
113
+
114
+ @property
115
+ @pulumi.getter
116
+ def description(self) -> builtins.str:
117
+ return pulumi.get(self, "description")
118
+
119
+ @property
120
+ @pulumi.getter
121
+ def dictionary(self) -> Mapping[str, builtins.str]:
122
+ return pulumi.get(self, "dictionary")
123
+
124
+ @property
125
+ @pulumi.getter(name="dictionaryAsEnvs")
126
+ def dictionary_as_envs(self) -> Mapping[str, builtins.str]:
127
+ return pulumi.get(self, "dictionary_as_envs")
128
+
129
+ @property
130
+ @pulumi.getter
131
+ def docker(self) -> builtins.str:
132
+ return pulumi.get(self, "docker")
133
+
134
+ @property
135
+ @pulumi.getter
136
+ def ecrs(self) -> Optional[Sequence['outputs.GetSecretEcrResult']]:
137
+ return pulumi.get(self, "ecrs")
138
+
139
+ @property
140
+ @pulumi.getter
141
+ def gcp(self) -> builtins.str:
142
+ return pulumi.get(self, "gcp")
143
+
144
+ @property
145
+ @pulumi.getter
146
+ def id(self) -> builtins.str:
147
+ return pulumi.get(self, "id")
148
+
149
+ @property
150
+ @pulumi.getter
151
+ def keypairs(self) -> Optional[Sequence['outputs.GetSecretKeypairResult']]:
152
+ return pulumi.get(self, "keypairs")
153
+
154
+ @property
155
+ @pulumi.getter
156
+ def name(self) -> builtins.str:
157
+ return pulumi.get(self, "name")
158
+
159
+ @property
160
+ @pulumi.getter(name="natsAccounts")
161
+ def nats_accounts(self) -> Optional[Sequence['outputs.GetSecretNatsAccountResult']]:
162
+ return pulumi.get(self, "nats_accounts")
163
+
164
+ @property
165
+ @pulumi.getter
166
+ def opaques(self) -> Optional[Sequence['outputs.GetSecretOpaqueResult']]:
167
+ return pulumi.get(self, "opaques")
168
+
169
+ @property
170
+ @pulumi.getter(name="secretLink")
171
+ def secret_link(self) -> builtins.str:
172
+ return pulumi.get(self, "secret_link")
173
+
174
+ @property
175
+ @pulumi.getter(name="selfLink")
176
+ def self_link(self) -> builtins.str:
177
+ return pulumi.get(self, "self_link")
178
+
179
+ @property
180
+ @pulumi.getter
181
+ def tags(self) -> Mapping[str, builtins.str]:
182
+ return pulumi.get(self, "tags")
183
+
184
+ @property
185
+ @pulumi.getter
186
+ def tls(self) -> Optional[Sequence['outputs.GetSecretTlResult']]:
187
+ return pulumi.get(self, "tls")
188
+
189
+ @property
190
+ @pulumi.getter
191
+ def userpasses(self) -> Optional[Sequence['outputs.GetSecretUserpassResult']]:
192
+ return pulumi.get(self, "userpasses")
193
+
194
+
195
+ class AwaitableGetSecretResult(GetSecretResult):
196
+ # pylint: disable=using-constant-test
197
+ def __await__(self):
198
+ if False:
199
+ yield self
200
+ return GetSecretResult(
201
+ aws=self.aws,
202
+ azure_connectors=self.azure_connectors,
203
+ azure_sdk=self.azure_sdk,
204
+ cpln_id=self.cpln_id,
205
+ description=self.description,
206
+ dictionary=self.dictionary,
207
+ dictionary_as_envs=self.dictionary_as_envs,
208
+ docker=self.docker,
209
+ ecrs=self.ecrs,
210
+ gcp=self.gcp,
211
+ id=self.id,
212
+ keypairs=self.keypairs,
213
+ name=self.name,
214
+ nats_accounts=self.nats_accounts,
215
+ opaques=self.opaques,
216
+ secret_link=self.secret_link,
217
+ self_link=self.self_link,
218
+ tags=self.tags,
219
+ tls=self.tls,
220
+ userpasses=self.userpasses)
221
+
222
+
223
+ def get_secret(aws: Optional[Sequence[Union['GetSecretAwArgs', 'GetSecretAwArgsDict']]] = None,
224
+ azure_connectors: Optional[Sequence[Union['GetSecretAzureConnectorArgs', 'GetSecretAzureConnectorArgsDict']]] = None,
225
+ ecrs: Optional[Sequence[Union['GetSecretEcrArgs', 'GetSecretEcrArgsDict']]] = None,
226
+ keypairs: Optional[Sequence[Union['GetSecretKeypairArgs', 'GetSecretKeypairArgsDict']]] = None,
227
+ name: Optional[builtins.str] = None,
228
+ nats_accounts: Optional[Sequence[Union['GetSecretNatsAccountArgs', 'GetSecretNatsAccountArgsDict']]] = None,
229
+ opaques: Optional[Sequence[Union['GetSecretOpaqueArgs', 'GetSecretOpaqueArgsDict']]] = None,
230
+ tls: Optional[Sequence[Union['GetSecretTlArgs', 'GetSecretTlArgsDict']]] = None,
231
+ userpasses: Optional[Sequence[Union['GetSecretUserpassArgs', 'GetSecretUserpassArgsDict']]] = None,
232
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecretResult:
233
+ """
234
+ Use this data source to access information about a [Secret](https://docs.controlplane.com/reference/secret) within Control Plane.
235
+
236
+ ## Required
237
+
238
+ - **name** (String) Name of the secret.
239
+
240
+ ## Outputs
241
+
242
+ The following attributes are exported:
243
+
244
+ - **cpln_id** (String) The ID, in GUID format, of the secret.
245
+ - **name** (String) Name of the secret.
246
+ - **description** (String) Description of the secret.
247
+ - **tags** (Map of String) Key-value map of resource tags.
248
+ - **self_link** (String) Full link to this resource. Can be referenced by other resources.
249
+ - **secret_link** (String) Output used when linking a secret to an environment variable or volume, in the format: `cpln://secret/SECRET_NAME`.
250
+ - **dictionary_as_envs** (Map of String) If a dictionary secret is defined, this output will be a key-value map in the following format: `key = cpln://secret/SECRET_NAME.key`.
251
+ - **aws** (Block List, Max: 1) (see below) [Reference Page](https://docs.controlplane.com/reference/secret#aws).
252
+ - **azure_connector** (Block List, Max: 1) (see below) [Reference Page](https://docs.controlplane.com/reference/secret#azure-connector).
253
+ - **azure_sdk** (String, Sensitive) JSON string containing the Docker secret. [Reference Page](https://docs.controlplane.com/reference/secret#azure).
254
+ - **dictionary** (Map of String) List of unique key-value pairs. [Reference Page](https://docs.controlplane.com/reference/secret#dictionary).
255
+ - **docker** (String, Sensitive) JSON string containing the Docker secret. [Reference Page](https://docs.controlplane.com/reference/secret#docker).
256
+ - **ecr** (Block List, Max: 1) (see below).
257
+ - **gcp** (String, Sensitive) JSON string containing the GCP secret. [Reference Page](https://docs.controlplane.com/reference/secret#gcp)
258
+ - **keypair** (Block List, Max: 1) (see below) [Reference Page](https://docs.controlplane.com/reference/secret#keypair).
259
+ - **nats_account** (Block List, Max: 1) (see below) [Reference Page](https://docs.controlplane.com/reference/secret#nats-account).
260
+ - **opaque** (Block List, Max: 1) (see below) [Reference Page](https://docs.controlplane.com/reference/secret#opaque).
261
+ - **tls** (Block List, Max: 1) (see below) [Reference Page](https://docs.controlplane.com/reference/secret#tls).
262
+ - **userpass** (Block List, Max: 1) (see below) [Reference Page](https://docs.controlplane.com/reference/secret#username).
263
+
264
+ <a id="nestedblock--aws"></a>
265
+
266
+ ### `aws`
267
+
268
+ Optional:
269
+
270
+ - **access_key** (String, Sensitive) Access Key provided by AWS.
271
+ - **role_arn** (String) Role ARN provided by AWS.
272
+ - **secret_key** (String, Sensitive) Secret Key provided by AWS.
273
+ - **external_id** (String) AWS IAM Role External ID.
274
+
275
+ <a id="nestedblock--azure_connector"></a>
276
+
277
+ ### `azure_connector`
278
+
279
+ Optional:
280
+
281
+ - **code** (String, Sensitive) Code/Key to authenticate to deployment URL.
282
+ - **url** (String, Sensitive) Deployment URL.
283
+
284
+ <a id="nestedblock--ecr"></a>
285
+
286
+ ### `ecr`
287
+
288
+ [Reference Page](https://docs.controlplane.com/reference/secret#ecr)
289
+
290
+ Optional:
291
+
292
+ - **access_key** (String) Access Key provided by AWS.
293
+ - **repos** (Set of String) List of ECR repositories.
294
+ - **role_arn** (String) Role ARN provided by AWS.
295
+ - **secret_key** (String, Sensitive) Secret Key provided by AWS.
296
+ - **external_id** (String) AWS IAM Role External ID. Used when setting up cross-account access to your ECR repositories.
297
+
298
+ <a id="nestedblock--keypair"></a>
299
+
300
+ ### `keypair`
301
+
302
+ Optional:
303
+
304
+ - **passphrase** (String, Sensitive) Passphrase for private key.
305
+ - **public_key** (String) Public Key.
306
+ - **secret_key** (String, Sensitive) Secret/Private Key.
307
+
308
+ <a id="nestedblock--nats-account"></a>
309
+
310
+ ### `nats_account`
311
+
312
+ Required:
313
+
314
+ - **account_id** (String) Account ID.
315
+ - **private_key** (String) Private Key.
316
+
317
+ <a id="nestedblock--opaque"></a>
318
+
319
+ ### `opaque`
320
+
321
+ Optional:
322
+
323
+ - **encoding** (String) Available encodings: `plain`, `base64`. Default: `plain`.
324
+ - **payload** (String, Sensitive) Plain text or base64 encoded string. Use `encoding` attribute to specify encoding.
325
+
326
+ <a id="nestedblock--tls"></a>
327
+
328
+ ### `tls`
329
+
330
+ Optional:
331
+
332
+ - **cert** (String) Public Certificate.
333
+ - **chain** (String) Chain Certificate.
334
+ - **key** (String, Sensitive) Private Certificate.
335
+
336
+ <a id="nestedblock--userpass"></a>
337
+
338
+ ### `userpass`
339
+
340
+ Optional:
341
+
342
+ - **encoding** (String) Available encodings: `plain`, `base64`. Default: `plain`.
343
+ - **password** (String, Sensitive) Password.
344
+ - **username** (String) Username.
345
+
346
+ ## Example Usage
347
+
348
+ ```python
349
+ import pulumi
350
+ import pulumi_cpln as cpln
351
+
352
+ example = cpln.get_secret(name="example-secret-opaque")
353
+ pulumi.export("example-secret-payload", example.opaques.payload)
354
+ ```
355
+ """
356
+ __args__ = dict()
357
+ __args__['aws'] = aws
358
+ __args__['azureConnectors'] = azure_connectors
359
+ __args__['ecrs'] = ecrs
360
+ __args__['keypairs'] = keypairs
361
+ __args__['name'] = name
362
+ __args__['natsAccounts'] = nats_accounts
363
+ __args__['opaques'] = opaques
364
+ __args__['tls'] = tls
365
+ __args__['userpasses'] = userpasses
366
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
367
+ __ret__ = pulumi.runtime.invoke('cpln:index/getSecret:getSecret', __args__, opts=opts, typ=GetSecretResult).value
368
+
369
+ return AwaitableGetSecretResult(
370
+ aws=pulumi.get(__ret__, 'aws'),
371
+ azure_connectors=pulumi.get(__ret__, 'azure_connectors'),
372
+ azure_sdk=pulumi.get(__ret__, 'azure_sdk'),
373
+ cpln_id=pulumi.get(__ret__, 'cpln_id'),
374
+ description=pulumi.get(__ret__, 'description'),
375
+ dictionary=pulumi.get(__ret__, 'dictionary'),
376
+ dictionary_as_envs=pulumi.get(__ret__, 'dictionary_as_envs'),
377
+ docker=pulumi.get(__ret__, 'docker'),
378
+ ecrs=pulumi.get(__ret__, 'ecrs'),
379
+ gcp=pulumi.get(__ret__, 'gcp'),
380
+ id=pulumi.get(__ret__, 'id'),
381
+ keypairs=pulumi.get(__ret__, 'keypairs'),
382
+ name=pulumi.get(__ret__, 'name'),
383
+ nats_accounts=pulumi.get(__ret__, 'nats_accounts'),
384
+ opaques=pulumi.get(__ret__, 'opaques'),
385
+ secret_link=pulumi.get(__ret__, 'secret_link'),
386
+ self_link=pulumi.get(__ret__, 'self_link'),
387
+ tags=pulumi.get(__ret__, 'tags'),
388
+ tls=pulumi.get(__ret__, 'tls'),
389
+ userpasses=pulumi.get(__ret__, 'userpasses'))
390
+ def get_secret_output(aws: Optional[pulumi.Input[Optional[Sequence[Union['GetSecretAwArgs', 'GetSecretAwArgsDict']]]]] = None,
391
+ azure_connectors: Optional[pulumi.Input[Optional[Sequence[Union['GetSecretAzureConnectorArgs', 'GetSecretAzureConnectorArgsDict']]]]] = None,
392
+ ecrs: Optional[pulumi.Input[Optional[Sequence[Union['GetSecretEcrArgs', 'GetSecretEcrArgsDict']]]]] = None,
393
+ keypairs: Optional[pulumi.Input[Optional[Sequence[Union['GetSecretKeypairArgs', 'GetSecretKeypairArgsDict']]]]] = None,
394
+ name: Optional[pulumi.Input[builtins.str]] = None,
395
+ nats_accounts: Optional[pulumi.Input[Optional[Sequence[Union['GetSecretNatsAccountArgs', 'GetSecretNatsAccountArgsDict']]]]] = None,
396
+ opaques: Optional[pulumi.Input[Optional[Sequence[Union['GetSecretOpaqueArgs', 'GetSecretOpaqueArgsDict']]]]] = None,
397
+ tls: Optional[pulumi.Input[Optional[Sequence[Union['GetSecretTlArgs', 'GetSecretTlArgsDict']]]]] = None,
398
+ userpasses: Optional[pulumi.Input[Optional[Sequence[Union['GetSecretUserpassArgs', 'GetSecretUserpassArgsDict']]]]] = None,
399
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecretResult]:
400
+ """
401
+ Use this data source to access information about a [Secret](https://docs.controlplane.com/reference/secret) within Control Plane.
402
+
403
+ ## Required
404
+
405
+ - **name** (String) Name of the secret.
406
+
407
+ ## Outputs
408
+
409
+ The following attributes are exported:
410
+
411
+ - **cpln_id** (String) The ID, in GUID format, of the secret.
412
+ - **name** (String) Name of the secret.
413
+ - **description** (String) Description of the secret.
414
+ - **tags** (Map of String) Key-value map of resource tags.
415
+ - **self_link** (String) Full link to this resource. Can be referenced by other resources.
416
+ - **secret_link** (String) Output used when linking a secret to an environment variable or volume, in the format: `cpln://secret/SECRET_NAME`.
417
+ - **dictionary_as_envs** (Map of String) If a dictionary secret is defined, this output will be a key-value map in the following format: `key = cpln://secret/SECRET_NAME.key`.
418
+ - **aws** (Block List, Max: 1) (see below) [Reference Page](https://docs.controlplane.com/reference/secret#aws).
419
+ - **azure_connector** (Block List, Max: 1) (see below) [Reference Page](https://docs.controlplane.com/reference/secret#azure-connector).
420
+ - **azure_sdk** (String, Sensitive) JSON string containing the Docker secret. [Reference Page](https://docs.controlplane.com/reference/secret#azure).
421
+ - **dictionary** (Map of String) List of unique key-value pairs. [Reference Page](https://docs.controlplane.com/reference/secret#dictionary).
422
+ - **docker** (String, Sensitive) JSON string containing the Docker secret. [Reference Page](https://docs.controlplane.com/reference/secret#docker).
423
+ - **ecr** (Block List, Max: 1) (see below).
424
+ - **gcp** (String, Sensitive) JSON string containing the GCP secret. [Reference Page](https://docs.controlplane.com/reference/secret#gcp)
425
+ - **keypair** (Block List, Max: 1) (see below) [Reference Page](https://docs.controlplane.com/reference/secret#keypair).
426
+ - **nats_account** (Block List, Max: 1) (see below) [Reference Page](https://docs.controlplane.com/reference/secret#nats-account).
427
+ - **opaque** (Block List, Max: 1) (see below) [Reference Page](https://docs.controlplane.com/reference/secret#opaque).
428
+ - **tls** (Block List, Max: 1) (see below) [Reference Page](https://docs.controlplane.com/reference/secret#tls).
429
+ - **userpass** (Block List, Max: 1) (see below) [Reference Page](https://docs.controlplane.com/reference/secret#username).
430
+
431
+ <a id="nestedblock--aws"></a>
432
+
433
+ ### `aws`
434
+
435
+ Optional:
436
+
437
+ - **access_key** (String, Sensitive) Access Key provided by AWS.
438
+ - **role_arn** (String) Role ARN provided by AWS.
439
+ - **secret_key** (String, Sensitive) Secret Key provided by AWS.
440
+ - **external_id** (String) AWS IAM Role External ID.
441
+
442
+ <a id="nestedblock--azure_connector"></a>
443
+
444
+ ### `azure_connector`
445
+
446
+ Optional:
447
+
448
+ - **code** (String, Sensitive) Code/Key to authenticate to deployment URL.
449
+ - **url** (String, Sensitive) Deployment URL.
450
+
451
+ <a id="nestedblock--ecr"></a>
452
+
453
+ ### `ecr`
454
+
455
+ [Reference Page](https://docs.controlplane.com/reference/secret#ecr)
456
+
457
+ Optional:
458
+
459
+ - **access_key** (String) Access Key provided by AWS.
460
+ - **repos** (Set of String) List of ECR repositories.
461
+ - **role_arn** (String) Role ARN provided by AWS.
462
+ - **secret_key** (String, Sensitive) Secret Key provided by AWS.
463
+ - **external_id** (String) AWS IAM Role External ID. Used when setting up cross-account access to your ECR repositories.
464
+
465
+ <a id="nestedblock--keypair"></a>
466
+
467
+ ### `keypair`
468
+
469
+ Optional:
470
+
471
+ - **passphrase** (String, Sensitive) Passphrase for private key.
472
+ - **public_key** (String) Public Key.
473
+ - **secret_key** (String, Sensitive) Secret/Private Key.
474
+
475
+ <a id="nestedblock--nats-account"></a>
476
+
477
+ ### `nats_account`
478
+
479
+ Required:
480
+
481
+ - **account_id** (String) Account ID.
482
+ - **private_key** (String) Private Key.
483
+
484
+ <a id="nestedblock--opaque"></a>
485
+
486
+ ### `opaque`
487
+
488
+ Optional:
489
+
490
+ - **encoding** (String) Available encodings: `plain`, `base64`. Default: `plain`.
491
+ - **payload** (String, Sensitive) Plain text or base64 encoded string. Use `encoding` attribute to specify encoding.
492
+
493
+ <a id="nestedblock--tls"></a>
494
+
495
+ ### `tls`
496
+
497
+ Optional:
498
+
499
+ - **cert** (String) Public Certificate.
500
+ - **chain** (String) Chain Certificate.
501
+ - **key** (String, Sensitive) Private Certificate.
502
+
503
+ <a id="nestedblock--userpass"></a>
504
+
505
+ ### `userpass`
506
+
507
+ Optional:
508
+
509
+ - **encoding** (String) Available encodings: `plain`, `base64`. Default: `plain`.
510
+ - **password** (String, Sensitive) Password.
511
+ - **username** (String) Username.
512
+
513
+ ## Example Usage
514
+
515
+ ```python
516
+ import pulumi
517
+ import pulumi_cpln as cpln
518
+
519
+ example = cpln.get_secret(name="example-secret-opaque")
520
+ pulumi.export("example-secret-payload", example.opaques.payload)
521
+ ```
522
+ """
523
+ __args__ = dict()
524
+ __args__['aws'] = aws
525
+ __args__['azureConnectors'] = azure_connectors
526
+ __args__['ecrs'] = ecrs
527
+ __args__['keypairs'] = keypairs
528
+ __args__['name'] = name
529
+ __args__['natsAccounts'] = nats_accounts
530
+ __args__['opaques'] = opaques
531
+ __args__['tls'] = tls
532
+ __args__['userpasses'] = userpasses
533
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
534
+ __ret__ = pulumi.runtime.invoke_output('cpln:index/getSecret:getSecret', __args__, opts=opts, typ=GetSecretResult)
535
+ return __ret__.apply(lambda __response__: GetSecretResult(
536
+ aws=pulumi.get(__response__, 'aws'),
537
+ azure_connectors=pulumi.get(__response__, 'azure_connectors'),
538
+ azure_sdk=pulumi.get(__response__, 'azure_sdk'),
539
+ cpln_id=pulumi.get(__response__, 'cpln_id'),
540
+ description=pulumi.get(__response__, 'description'),
541
+ dictionary=pulumi.get(__response__, 'dictionary'),
542
+ dictionary_as_envs=pulumi.get(__response__, 'dictionary_as_envs'),
543
+ docker=pulumi.get(__response__, 'docker'),
544
+ ecrs=pulumi.get(__response__, 'ecrs'),
545
+ gcp=pulumi.get(__response__, 'gcp'),
546
+ id=pulumi.get(__response__, 'id'),
547
+ keypairs=pulumi.get(__response__, 'keypairs'),
548
+ name=pulumi.get(__response__, 'name'),
549
+ nats_accounts=pulumi.get(__response__, 'nats_accounts'),
550
+ opaques=pulumi.get(__response__, 'opaques'),
551
+ secret_link=pulumi.get(__response__, 'secret_link'),
552
+ self_link=pulumi.get(__response__, 'self_link'),
553
+ tags=pulumi.get(__response__, 'tags'),
554
+ tls=pulumi.get(__response__, 'tls'),
555
+ userpasses=pulumi.get(__response__, 'userpasses')))