pulumi-vault 5.19.0a1705621752__py3-none-any.whl → 5.20.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 (43) hide show
  1. pulumi_vault/__init__.py +59 -0
  2. pulumi_vault/_inputs.py +380 -0
  3. pulumi_vault/_utilities.py +2 -2
  4. pulumi_vault/aws/secret_backend.py +188 -0
  5. pulumi_vault/aws/secret_backend_static_role.py +2 -2
  6. pulumi_vault/azure/backend.py +7 -21
  7. pulumi_vault/config/__init__.pyi +0 -3
  8. pulumi_vault/config/outputs.py +380 -0
  9. pulumi_vault/config/vars.py +0 -3
  10. pulumi_vault/consul/secret_backend.py +7 -35
  11. pulumi_vault/database/_inputs.py +176 -0
  12. pulumi_vault/database/outputs.py +168 -0
  13. pulumi_vault/get_raft_autopilot_state.py +0 -12
  14. pulumi_vault/identity/group_alias.py +6 -6
  15. pulumi_vault/kubernetes/secret_backend_role.py +8 -4
  16. pulumi_vault/kv/_inputs.py +12 -0
  17. pulumi_vault/kv/outputs.py +12 -0
  18. pulumi_vault/ldap/secret_backend_dynamic_role.py +2 -2
  19. pulumi_vault/ldap/secret_backend_static_role.py +2 -2
  20. pulumi_vault/managed/_inputs.py +12 -0
  21. pulumi_vault/managed/keys.py +20 -0
  22. pulumi_vault/managed/outputs.py +12 -0
  23. pulumi_vault/mongodbatlas/secret_role.py +2 -2
  24. pulumi_vault/namespace.py +46 -14
  25. pulumi_vault/pkisecret/secret_backend_config_issuers.py +0 -6
  26. pulumi_vault/pkisecret/secret_backend_issuer.py +0 -10
  27. pulumi_vault/pkisecret/secret_backend_role.py +7 -7
  28. pulumi_vault/rabbitmq/_inputs.py +36 -0
  29. pulumi_vault/rabbitmq/outputs.py +36 -0
  30. pulumi_vault/saml/auth_backend_role.py +7 -14
  31. pulumi_vault/secrets/__init__.py +14 -0
  32. pulumi_vault/secrets/sync_association.py +464 -0
  33. pulumi_vault/secrets/sync_aws_destination.py +564 -0
  34. pulumi_vault/secrets/sync_azure_destination.py +674 -0
  35. pulumi_vault/secrets/sync_config.py +297 -0
  36. pulumi_vault/secrets/sync_gcp_destination.py +438 -0
  37. pulumi_vault/secrets/sync_gh_destination.py +511 -0
  38. pulumi_vault/secrets/sync_vercel_destination.py +541 -0
  39. pulumi_vault/ssh/secret_backend_role.py +7 -14
  40. {pulumi_vault-5.19.0a1705621752.dist-info → pulumi_vault-5.20.0.dist-info}/METADATA +2 -2
  41. {pulumi_vault-5.19.0a1705621752.dist-info → pulumi_vault-5.20.0.dist-info}/RECORD +43 -35
  42. {pulumi_vault-5.19.0a1705621752.dist-info → pulumi_vault-5.20.0.dist-info}/WHEEL +0 -0
  43. {pulumi_vault-5.19.0a1705621752.dist-info → pulumi_vault-5.20.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,438 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ __all__ = ['SyncGcpDestinationArgs', 'SyncGcpDestination']
13
+
14
+ @pulumi.input_type
15
+ class SyncGcpDestinationArgs:
16
+ def __init__(__self__, *,
17
+ credentials: Optional[pulumi.Input[str]] = None,
18
+ custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
19
+ name: Optional[pulumi.Input[str]] = None,
20
+ namespace: Optional[pulumi.Input[str]] = None,
21
+ secret_name_template: Optional[pulumi.Input[str]] = None):
22
+ """
23
+ The set of arguments for constructing a SyncGcpDestination resource.
24
+ :param pulumi.Input[str] credentials: JSON-encoded credentials to use to connect to GCP.
25
+ Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
26
+ variable.
27
+ :param pulumi.Input[Mapping[str, Any]] custom_tags: Custom tags to set on the secret managed at the destination.
28
+ :param pulumi.Input[str] name: Unique name of the GCP destination.
29
+ :param pulumi.Input[str] namespace: The namespace to provision the resource in.
30
+ The value should not contain leading or trailing forward slashes.
31
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
32
+ :param pulumi.Input[str] secret_name_template: Template describing how to generate external secret names.
33
+ Supports a subset of the Go Template syntax.
34
+ """
35
+ if credentials is not None:
36
+ pulumi.set(__self__, "credentials", credentials)
37
+ if custom_tags is not None:
38
+ pulumi.set(__self__, "custom_tags", custom_tags)
39
+ if name is not None:
40
+ pulumi.set(__self__, "name", name)
41
+ if namespace is not None:
42
+ pulumi.set(__self__, "namespace", namespace)
43
+ if secret_name_template is not None:
44
+ pulumi.set(__self__, "secret_name_template", secret_name_template)
45
+
46
+ @property
47
+ @pulumi.getter
48
+ def credentials(self) -> Optional[pulumi.Input[str]]:
49
+ """
50
+ JSON-encoded credentials to use to connect to GCP.
51
+ Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
52
+ variable.
53
+ """
54
+ return pulumi.get(self, "credentials")
55
+
56
+ @credentials.setter
57
+ def credentials(self, value: Optional[pulumi.Input[str]]):
58
+ pulumi.set(self, "credentials", value)
59
+
60
+ @property
61
+ @pulumi.getter(name="customTags")
62
+ def custom_tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
63
+ """
64
+ Custom tags to set on the secret managed at the destination.
65
+ """
66
+ return pulumi.get(self, "custom_tags")
67
+
68
+ @custom_tags.setter
69
+ def custom_tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
70
+ pulumi.set(self, "custom_tags", value)
71
+
72
+ @property
73
+ @pulumi.getter
74
+ def name(self) -> Optional[pulumi.Input[str]]:
75
+ """
76
+ Unique name of the GCP destination.
77
+ """
78
+ return pulumi.get(self, "name")
79
+
80
+ @name.setter
81
+ def name(self, value: Optional[pulumi.Input[str]]):
82
+ pulumi.set(self, "name", value)
83
+
84
+ @property
85
+ @pulumi.getter
86
+ def namespace(self) -> Optional[pulumi.Input[str]]:
87
+ """
88
+ The namespace to provision the resource in.
89
+ The value should not contain leading or trailing forward slashes.
90
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
91
+ """
92
+ return pulumi.get(self, "namespace")
93
+
94
+ @namespace.setter
95
+ def namespace(self, value: Optional[pulumi.Input[str]]):
96
+ pulumi.set(self, "namespace", value)
97
+
98
+ @property
99
+ @pulumi.getter(name="secretNameTemplate")
100
+ def secret_name_template(self) -> Optional[pulumi.Input[str]]:
101
+ """
102
+ Template describing how to generate external secret names.
103
+ Supports a subset of the Go Template syntax.
104
+ """
105
+ return pulumi.get(self, "secret_name_template")
106
+
107
+ @secret_name_template.setter
108
+ def secret_name_template(self, value: Optional[pulumi.Input[str]]):
109
+ pulumi.set(self, "secret_name_template", value)
110
+
111
+
112
+ @pulumi.input_type
113
+ class _SyncGcpDestinationState:
114
+ def __init__(__self__, *,
115
+ credentials: Optional[pulumi.Input[str]] = None,
116
+ custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
117
+ name: Optional[pulumi.Input[str]] = None,
118
+ namespace: Optional[pulumi.Input[str]] = None,
119
+ secret_name_template: Optional[pulumi.Input[str]] = None,
120
+ type: Optional[pulumi.Input[str]] = None):
121
+ """
122
+ Input properties used for looking up and filtering SyncGcpDestination resources.
123
+ :param pulumi.Input[str] credentials: JSON-encoded credentials to use to connect to GCP.
124
+ Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
125
+ variable.
126
+ :param pulumi.Input[Mapping[str, Any]] custom_tags: Custom tags to set on the secret managed at the destination.
127
+ :param pulumi.Input[str] name: Unique name of the GCP destination.
128
+ :param pulumi.Input[str] namespace: The namespace to provision the resource in.
129
+ The value should not contain leading or trailing forward slashes.
130
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
131
+ :param pulumi.Input[str] secret_name_template: Template describing how to generate external secret names.
132
+ Supports a subset of the Go Template syntax.
133
+ :param pulumi.Input[str] type: The type of the secrets destination (`gcp-sm`).
134
+ """
135
+ if credentials is not None:
136
+ pulumi.set(__self__, "credentials", credentials)
137
+ if custom_tags is not None:
138
+ pulumi.set(__self__, "custom_tags", custom_tags)
139
+ if name is not None:
140
+ pulumi.set(__self__, "name", name)
141
+ if namespace is not None:
142
+ pulumi.set(__self__, "namespace", namespace)
143
+ if secret_name_template is not None:
144
+ pulumi.set(__self__, "secret_name_template", secret_name_template)
145
+ if type is not None:
146
+ pulumi.set(__self__, "type", type)
147
+
148
+ @property
149
+ @pulumi.getter
150
+ def credentials(self) -> Optional[pulumi.Input[str]]:
151
+ """
152
+ JSON-encoded credentials to use to connect to GCP.
153
+ Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
154
+ variable.
155
+ """
156
+ return pulumi.get(self, "credentials")
157
+
158
+ @credentials.setter
159
+ def credentials(self, value: Optional[pulumi.Input[str]]):
160
+ pulumi.set(self, "credentials", value)
161
+
162
+ @property
163
+ @pulumi.getter(name="customTags")
164
+ def custom_tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
165
+ """
166
+ Custom tags to set on the secret managed at the destination.
167
+ """
168
+ return pulumi.get(self, "custom_tags")
169
+
170
+ @custom_tags.setter
171
+ def custom_tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
172
+ pulumi.set(self, "custom_tags", value)
173
+
174
+ @property
175
+ @pulumi.getter
176
+ def name(self) -> Optional[pulumi.Input[str]]:
177
+ """
178
+ Unique name of the GCP destination.
179
+ """
180
+ return pulumi.get(self, "name")
181
+
182
+ @name.setter
183
+ def name(self, value: Optional[pulumi.Input[str]]):
184
+ pulumi.set(self, "name", value)
185
+
186
+ @property
187
+ @pulumi.getter
188
+ def namespace(self) -> Optional[pulumi.Input[str]]:
189
+ """
190
+ The namespace to provision the resource in.
191
+ The value should not contain leading or trailing forward slashes.
192
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
193
+ """
194
+ return pulumi.get(self, "namespace")
195
+
196
+ @namespace.setter
197
+ def namespace(self, value: Optional[pulumi.Input[str]]):
198
+ pulumi.set(self, "namespace", value)
199
+
200
+ @property
201
+ @pulumi.getter(name="secretNameTemplate")
202
+ def secret_name_template(self) -> Optional[pulumi.Input[str]]:
203
+ """
204
+ Template describing how to generate external secret names.
205
+ Supports a subset of the Go Template syntax.
206
+ """
207
+ return pulumi.get(self, "secret_name_template")
208
+
209
+ @secret_name_template.setter
210
+ def secret_name_template(self, value: Optional[pulumi.Input[str]]):
211
+ pulumi.set(self, "secret_name_template", value)
212
+
213
+ @property
214
+ @pulumi.getter
215
+ def type(self) -> Optional[pulumi.Input[str]]:
216
+ """
217
+ The type of the secrets destination (`gcp-sm`).
218
+ """
219
+ return pulumi.get(self, "type")
220
+
221
+ @type.setter
222
+ def type(self, value: Optional[pulumi.Input[str]]):
223
+ pulumi.set(self, "type", value)
224
+
225
+
226
+ class SyncGcpDestination(pulumi.CustomResource):
227
+ @overload
228
+ def __init__(__self__,
229
+ resource_name: str,
230
+ opts: Optional[pulumi.ResourceOptions] = None,
231
+ credentials: Optional[pulumi.Input[str]] = None,
232
+ custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
233
+ name: Optional[pulumi.Input[str]] = None,
234
+ namespace: Optional[pulumi.Input[str]] = None,
235
+ secret_name_template: Optional[pulumi.Input[str]] = None,
236
+ __props__=None):
237
+ """
238
+ ## Example Usage
239
+
240
+ ```python
241
+ import pulumi
242
+ import pulumi_vault as vault
243
+
244
+ gcp = vault.secrets.SyncGcpDestination("gcp",
245
+ credentials=(lambda path: open(path).read())(var["credentials_file"]),
246
+ secret_name_template="vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}",
247
+ custom_tags={
248
+ "foo": "bar",
249
+ })
250
+ ```
251
+
252
+ ## Import
253
+
254
+ GCP Secrets sync destinations can be imported using the `name`, e.g.
255
+
256
+ ```sh
257
+ $ pulumi import vault:secrets/syncGcpDestination:SyncGcpDestination gcp gcp-dest
258
+ ```
259
+
260
+ :param str resource_name: The name of the resource.
261
+ :param pulumi.ResourceOptions opts: Options for the resource.
262
+ :param pulumi.Input[str] credentials: JSON-encoded credentials to use to connect to GCP.
263
+ Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
264
+ variable.
265
+ :param pulumi.Input[Mapping[str, Any]] custom_tags: Custom tags to set on the secret managed at the destination.
266
+ :param pulumi.Input[str] name: Unique name of the GCP destination.
267
+ :param pulumi.Input[str] namespace: The namespace to provision the resource in.
268
+ The value should not contain leading or trailing forward slashes.
269
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
270
+ :param pulumi.Input[str] secret_name_template: Template describing how to generate external secret names.
271
+ Supports a subset of the Go Template syntax.
272
+ """
273
+ ...
274
+ @overload
275
+ def __init__(__self__,
276
+ resource_name: str,
277
+ args: Optional[SyncGcpDestinationArgs] = None,
278
+ opts: Optional[pulumi.ResourceOptions] = None):
279
+ """
280
+ ## Example Usage
281
+
282
+ ```python
283
+ import pulumi
284
+ import pulumi_vault as vault
285
+
286
+ gcp = vault.secrets.SyncGcpDestination("gcp",
287
+ credentials=(lambda path: open(path).read())(var["credentials_file"]),
288
+ secret_name_template="vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}",
289
+ custom_tags={
290
+ "foo": "bar",
291
+ })
292
+ ```
293
+
294
+ ## Import
295
+
296
+ GCP Secrets sync destinations can be imported using the `name`, e.g.
297
+
298
+ ```sh
299
+ $ pulumi import vault:secrets/syncGcpDestination:SyncGcpDestination gcp gcp-dest
300
+ ```
301
+
302
+ :param str resource_name: The name of the resource.
303
+ :param SyncGcpDestinationArgs args: The arguments to use to populate this resource's properties.
304
+ :param pulumi.ResourceOptions opts: Options for the resource.
305
+ """
306
+ ...
307
+ def __init__(__self__, resource_name: str, *args, **kwargs):
308
+ resource_args, opts = _utilities.get_resource_args_opts(SyncGcpDestinationArgs, pulumi.ResourceOptions, *args, **kwargs)
309
+ if resource_args is not None:
310
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
311
+ else:
312
+ __self__._internal_init(resource_name, *args, **kwargs)
313
+
314
+ def _internal_init(__self__,
315
+ resource_name: str,
316
+ opts: Optional[pulumi.ResourceOptions] = None,
317
+ credentials: Optional[pulumi.Input[str]] = None,
318
+ custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
319
+ name: Optional[pulumi.Input[str]] = None,
320
+ namespace: Optional[pulumi.Input[str]] = None,
321
+ secret_name_template: Optional[pulumi.Input[str]] = None,
322
+ __props__=None):
323
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
324
+ if not isinstance(opts, pulumi.ResourceOptions):
325
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
326
+ if opts.id is None:
327
+ if __props__ is not None:
328
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
329
+ __props__ = SyncGcpDestinationArgs.__new__(SyncGcpDestinationArgs)
330
+
331
+ __props__.__dict__["credentials"] = None if credentials is None else pulumi.Output.secret(credentials)
332
+ __props__.__dict__["custom_tags"] = custom_tags
333
+ __props__.__dict__["name"] = name
334
+ __props__.__dict__["namespace"] = namespace
335
+ __props__.__dict__["secret_name_template"] = secret_name_template
336
+ __props__.__dict__["type"] = None
337
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["credentials"])
338
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
339
+ super(SyncGcpDestination, __self__).__init__(
340
+ 'vault:secrets/syncGcpDestination:SyncGcpDestination',
341
+ resource_name,
342
+ __props__,
343
+ opts)
344
+
345
+ @staticmethod
346
+ def get(resource_name: str,
347
+ id: pulumi.Input[str],
348
+ opts: Optional[pulumi.ResourceOptions] = None,
349
+ credentials: Optional[pulumi.Input[str]] = None,
350
+ custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
351
+ name: Optional[pulumi.Input[str]] = None,
352
+ namespace: Optional[pulumi.Input[str]] = None,
353
+ secret_name_template: Optional[pulumi.Input[str]] = None,
354
+ type: Optional[pulumi.Input[str]] = None) -> 'SyncGcpDestination':
355
+ """
356
+ Get an existing SyncGcpDestination resource's state with the given name, id, and optional extra
357
+ properties used to qualify the lookup.
358
+
359
+ :param str resource_name: The unique name of the resulting resource.
360
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
361
+ :param pulumi.ResourceOptions opts: Options for the resource.
362
+ :param pulumi.Input[str] credentials: JSON-encoded credentials to use to connect to GCP.
363
+ Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
364
+ variable.
365
+ :param pulumi.Input[Mapping[str, Any]] custom_tags: Custom tags to set on the secret managed at the destination.
366
+ :param pulumi.Input[str] name: Unique name of the GCP destination.
367
+ :param pulumi.Input[str] namespace: The namespace to provision the resource in.
368
+ The value should not contain leading or trailing forward slashes.
369
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
370
+ :param pulumi.Input[str] secret_name_template: Template describing how to generate external secret names.
371
+ Supports a subset of the Go Template syntax.
372
+ :param pulumi.Input[str] type: The type of the secrets destination (`gcp-sm`).
373
+ """
374
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
375
+
376
+ __props__ = _SyncGcpDestinationState.__new__(_SyncGcpDestinationState)
377
+
378
+ __props__.__dict__["credentials"] = credentials
379
+ __props__.__dict__["custom_tags"] = custom_tags
380
+ __props__.__dict__["name"] = name
381
+ __props__.__dict__["namespace"] = namespace
382
+ __props__.__dict__["secret_name_template"] = secret_name_template
383
+ __props__.__dict__["type"] = type
384
+ return SyncGcpDestination(resource_name, opts=opts, __props__=__props__)
385
+
386
+ @property
387
+ @pulumi.getter
388
+ def credentials(self) -> pulumi.Output[Optional[str]]:
389
+ """
390
+ JSON-encoded credentials to use to connect to GCP.
391
+ Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
392
+ variable.
393
+ """
394
+ return pulumi.get(self, "credentials")
395
+
396
+ @property
397
+ @pulumi.getter(name="customTags")
398
+ def custom_tags(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
399
+ """
400
+ Custom tags to set on the secret managed at the destination.
401
+ """
402
+ return pulumi.get(self, "custom_tags")
403
+
404
+ @property
405
+ @pulumi.getter
406
+ def name(self) -> pulumi.Output[str]:
407
+ """
408
+ Unique name of the GCP destination.
409
+ """
410
+ return pulumi.get(self, "name")
411
+
412
+ @property
413
+ @pulumi.getter
414
+ def namespace(self) -> pulumi.Output[Optional[str]]:
415
+ """
416
+ The namespace to provision the resource in.
417
+ The value should not contain leading or trailing forward slashes.
418
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
419
+ """
420
+ return pulumi.get(self, "namespace")
421
+
422
+ @property
423
+ @pulumi.getter(name="secretNameTemplate")
424
+ def secret_name_template(self) -> pulumi.Output[str]:
425
+ """
426
+ Template describing how to generate external secret names.
427
+ Supports a subset of the Go Template syntax.
428
+ """
429
+ return pulumi.get(self, "secret_name_template")
430
+
431
+ @property
432
+ @pulumi.getter
433
+ def type(self) -> pulumi.Output[str]:
434
+ """
435
+ The type of the secrets destination (`gcp-sm`).
436
+ """
437
+ return pulumi.get(self, "type")
438
+