pulumi-vault 6.2.0a1718953130__py3-none-any.whl → 6.3.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 (41) hide show
  1. pulumi_vault/__init__.py +26 -0
  2. pulumi_vault/_inputs.py +20 -0
  3. pulumi_vault/_utilities.py +40 -4
  4. pulumi_vault/auth_backend.py +47 -0
  5. pulumi_vault/aws/auth_backend_client.py +247 -7
  6. pulumi_vault/aws/secret_backend_role.py +169 -0
  7. pulumi_vault/azure/auth_backend_config.py +133 -0
  8. pulumi_vault/azure/backend.py +197 -0
  9. pulumi_vault/database/secrets_mount.py +282 -0
  10. pulumi_vault/gcp/auth_backend.py +244 -0
  11. pulumi_vault/gcp/secret_backend.py +271 -3
  12. pulumi_vault/generic/endpoint.py +6 -6
  13. pulumi_vault/identity/get_entity.py +2 -2
  14. pulumi_vault/jwt/auth_backend_role.py +28 -35
  15. pulumi_vault/kubernetes/secret_backend.py +282 -0
  16. pulumi_vault/ldap/secret_backend.py +282 -0
  17. pulumi_vault/mount.py +331 -0
  18. pulumi_vault/okta/auth_backend.py +441 -0
  19. pulumi_vault/outputs.py +20 -0
  20. pulumi_vault/pkisecret/__init__.py +2 -0
  21. pulumi_vault/pkisecret/_inputs.py +40 -0
  22. pulumi_vault/pkisecret/backend_config_est.py +614 -0
  23. pulumi_vault/pkisecret/get_backend_config_est.py +233 -0
  24. pulumi_vault/pkisecret/outputs.py +64 -0
  25. pulumi_vault/pkisecret/secret_backend_cert.py +2 -2
  26. pulumi_vault/pkisecret/secret_backend_config_ca.py +2 -2
  27. pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +2 -2
  28. pulumi_vault/pkisecret/secret_backend_root_cert.py +2 -2
  29. pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +2 -2
  30. pulumi_vault/pkisecret/secret_backend_sign.py +2 -2
  31. pulumi_vault/plugin.py +590 -0
  32. pulumi_vault/plugin_pinned_version.py +293 -0
  33. pulumi_vault/provider.py +1 -3
  34. pulumi_vault/pulumi-plugin.json +1 -1
  35. pulumi_vault/quota_lease_count.py +47 -0
  36. pulumi_vault/quota_rate_limit.py +47 -0
  37. pulumi_vault/ssh/secret_backend_ca.py +94 -0
  38. {pulumi_vault-6.2.0a1718953130.dist-info → pulumi_vault-6.3.0.dist-info}/METADATA +1 -1
  39. {pulumi_vault-6.2.0a1718953130.dist-info → pulumi_vault-6.3.0.dist-info}/RECORD +41 -37
  40. {pulumi_vault-6.2.0a1718953130.dist-info → pulumi_vault-6.3.0.dist-info}/WHEEL +1 -1
  41. {pulumi_vault-6.2.0a1718953130.dist-info → pulumi_vault-6.3.0.dist-info}/top_level.txt +0 -0
pulumi_vault/mount.py CHANGED
@@ -17,26 +17,40 @@ class MountArgs:
17
17
  path: pulumi.Input[str],
18
18
  type: pulumi.Input[str],
19
19
  allowed_managed_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
20
+ allowed_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
20
21
  audit_non_hmac_request_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
21
22
  audit_non_hmac_response_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
22
23
  default_lease_ttl_seconds: Optional[pulumi.Input[int]] = None,
24
+ delegated_auth_accessors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
23
25
  description: Optional[pulumi.Input[str]] = None,
24
26
  external_entropy_access: Optional[pulumi.Input[bool]] = None,
27
+ identity_token_key: Optional[pulumi.Input[str]] = None,
28
+ listing_visibility: Optional[pulumi.Input[str]] = None,
25
29
  local: Optional[pulumi.Input[bool]] = None,
26
30
  max_lease_ttl_seconds: Optional[pulumi.Input[int]] = None,
27
31
  namespace: Optional[pulumi.Input[str]] = None,
28
32
  options: Optional[pulumi.Input[Mapping[str, Any]]] = None,
33
+ passthrough_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
34
+ plugin_version: Optional[pulumi.Input[str]] = None,
29
35
  seal_wrap: Optional[pulumi.Input[bool]] = None):
30
36
  """
31
37
  The set of arguments for constructing a Mount resource.
32
38
  :param pulumi.Input[str] path: Where the secret backend will be mounted
33
39
  :param pulumi.Input[str] type: Type of the backend, such as "aws"
34
40
  :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_managed_keys: Set of managed key registry entry names that the mount in question is allowed to access
41
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_response_headers: List of headers to allow, allowing a plugin to include
42
+ them in the response.
35
43
  :param pulumi.Input[Sequence[pulumi.Input[str]]] audit_non_hmac_request_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the request data object.
36
44
  :param pulumi.Input[Sequence[pulumi.Input[str]]] audit_non_hmac_response_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the response data object.
37
45
  :param pulumi.Input[int] default_lease_ttl_seconds: Default lease duration for tokens and secrets in seconds
46
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] delegated_auth_accessors: List of allowed authentication mount accessors the
47
+ backend can request delegated authentication for.
38
48
  :param pulumi.Input[str] description: Human-friendly description of the mount
39
49
  :param pulumi.Input[bool] external_entropy_access: Boolean flag that can be explicitly set to true to enable the secrets engine to access Vault's external entropy source
50
+ :param pulumi.Input[str] identity_token_key: The key to use for signing plugin workload identity tokens. If
51
+ not provided, this will default to Vault's OIDC default key.
52
+ :param pulumi.Input[str] listing_visibility: Specifies whether to show this mount in the UI-specific
53
+ listing endpoint. Valid values are `unauth` or `hidden`. If not set, behaves like `hidden`.
40
54
  :param pulumi.Input[bool] local: Boolean flag that can be explicitly set to true to enforce local mount in HA environment
41
55
  :param pulumi.Input[int] max_lease_ttl_seconds: Maximum possible lease duration for tokens and secrets in seconds
42
56
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
@@ -44,22 +58,35 @@ class MountArgs:
44
58
  The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
45
59
  *Available only for Vault Enterprise*.
46
60
  :param pulumi.Input[Mapping[str, Any]] options: Specifies mount type specific options that are passed to the backend
61
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] passthrough_request_headers: List of headers to allow and pass from the request to
62
+ the plugin.
63
+ :param pulumi.Input[str] plugin_version: Specifies the semantic version of the plugin to use, e.g. "v1.0.0".
64
+ If unspecified, the server will select any matching unversioned plugin that may have been
65
+ registered, the latest versioned plugin registered, or a built-in plugin in that order of precedence.
47
66
  :param pulumi.Input[bool] seal_wrap: Boolean flag that can be explicitly set to true to enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
48
67
  """
49
68
  pulumi.set(__self__, "path", path)
50
69
  pulumi.set(__self__, "type", type)
51
70
  if allowed_managed_keys is not None:
52
71
  pulumi.set(__self__, "allowed_managed_keys", allowed_managed_keys)
72
+ if allowed_response_headers is not None:
73
+ pulumi.set(__self__, "allowed_response_headers", allowed_response_headers)
53
74
  if audit_non_hmac_request_keys is not None:
54
75
  pulumi.set(__self__, "audit_non_hmac_request_keys", audit_non_hmac_request_keys)
55
76
  if audit_non_hmac_response_keys is not None:
56
77
  pulumi.set(__self__, "audit_non_hmac_response_keys", audit_non_hmac_response_keys)
57
78
  if default_lease_ttl_seconds is not None:
58
79
  pulumi.set(__self__, "default_lease_ttl_seconds", default_lease_ttl_seconds)
80
+ if delegated_auth_accessors is not None:
81
+ pulumi.set(__self__, "delegated_auth_accessors", delegated_auth_accessors)
59
82
  if description is not None:
60
83
  pulumi.set(__self__, "description", description)
61
84
  if external_entropy_access is not None:
62
85
  pulumi.set(__self__, "external_entropy_access", external_entropy_access)
86
+ if identity_token_key is not None:
87
+ pulumi.set(__self__, "identity_token_key", identity_token_key)
88
+ if listing_visibility is not None:
89
+ pulumi.set(__self__, "listing_visibility", listing_visibility)
63
90
  if local is not None:
64
91
  pulumi.set(__self__, "local", local)
65
92
  if max_lease_ttl_seconds is not None:
@@ -68,6 +95,10 @@ class MountArgs:
68
95
  pulumi.set(__self__, "namespace", namespace)
69
96
  if options is not None:
70
97
  pulumi.set(__self__, "options", options)
98
+ if passthrough_request_headers is not None:
99
+ pulumi.set(__self__, "passthrough_request_headers", passthrough_request_headers)
100
+ if plugin_version is not None:
101
+ pulumi.set(__self__, "plugin_version", plugin_version)
71
102
  if seal_wrap is not None:
72
103
  pulumi.set(__self__, "seal_wrap", seal_wrap)
73
104
 
@@ -107,6 +138,19 @@ class MountArgs:
107
138
  def allowed_managed_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
108
139
  pulumi.set(self, "allowed_managed_keys", value)
109
140
 
141
+ @property
142
+ @pulumi.getter(name="allowedResponseHeaders")
143
+ def allowed_response_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
144
+ """
145
+ List of headers to allow, allowing a plugin to include
146
+ them in the response.
147
+ """
148
+ return pulumi.get(self, "allowed_response_headers")
149
+
150
+ @allowed_response_headers.setter
151
+ def allowed_response_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
152
+ pulumi.set(self, "allowed_response_headers", value)
153
+
110
154
  @property
111
155
  @pulumi.getter(name="auditNonHmacRequestKeys")
112
156
  def audit_non_hmac_request_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
@@ -143,6 +187,19 @@ class MountArgs:
143
187
  def default_lease_ttl_seconds(self, value: Optional[pulumi.Input[int]]):
144
188
  pulumi.set(self, "default_lease_ttl_seconds", value)
145
189
 
190
+ @property
191
+ @pulumi.getter(name="delegatedAuthAccessors")
192
+ def delegated_auth_accessors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
193
+ """
194
+ List of allowed authentication mount accessors the
195
+ backend can request delegated authentication for.
196
+ """
197
+ return pulumi.get(self, "delegated_auth_accessors")
198
+
199
+ @delegated_auth_accessors.setter
200
+ def delegated_auth_accessors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
201
+ pulumi.set(self, "delegated_auth_accessors", value)
202
+
146
203
  @property
147
204
  @pulumi.getter
148
205
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -167,6 +224,32 @@ class MountArgs:
167
224
  def external_entropy_access(self, value: Optional[pulumi.Input[bool]]):
168
225
  pulumi.set(self, "external_entropy_access", value)
169
226
 
227
+ @property
228
+ @pulumi.getter(name="identityTokenKey")
229
+ def identity_token_key(self) -> Optional[pulumi.Input[str]]:
230
+ """
231
+ The key to use for signing plugin workload identity tokens. If
232
+ not provided, this will default to Vault's OIDC default key.
233
+ """
234
+ return pulumi.get(self, "identity_token_key")
235
+
236
+ @identity_token_key.setter
237
+ def identity_token_key(self, value: Optional[pulumi.Input[str]]):
238
+ pulumi.set(self, "identity_token_key", value)
239
+
240
+ @property
241
+ @pulumi.getter(name="listingVisibility")
242
+ def listing_visibility(self) -> Optional[pulumi.Input[str]]:
243
+ """
244
+ Specifies whether to show this mount in the UI-specific
245
+ listing endpoint. Valid values are `unauth` or `hidden`. If not set, behaves like `hidden`.
246
+ """
247
+ return pulumi.get(self, "listing_visibility")
248
+
249
+ @listing_visibility.setter
250
+ def listing_visibility(self, value: Optional[pulumi.Input[str]]):
251
+ pulumi.set(self, "listing_visibility", value)
252
+
170
253
  @property
171
254
  @pulumi.getter
172
255
  def local(self) -> Optional[pulumi.Input[bool]]:
@@ -218,6 +301,33 @@ class MountArgs:
218
301
  def options(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
219
302
  pulumi.set(self, "options", value)
220
303
 
304
+ @property
305
+ @pulumi.getter(name="passthroughRequestHeaders")
306
+ def passthrough_request_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
307
+ """
308
+ List of headers to allow and pass from the request to
309
+ the plugin.
310
+ """
311
+ return pulumi.get(self, "passthrough_request_headers")
312
+
313
+ @passthrough_request_headers.setter
314
+ def passthrough_request_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
315
+ pulumi.set(self, "passthrough_request_headers", value)
316
+
317
+ @property
318
+ @pulumi.getter(name="pluginVersion")
319
+ def plugin_version(self) -> Optional[pulumi.Input[str]]:
320
+ """
321
+ Specifies the semantic version of the plugin to use, e.g. "v1.0.0".
322
+ If unspecified, the server will select any matching unversioned plugin that may have been
323
+ registered, the latest versioned plugin registered, or a built-in plugin in that order of precedence.
324
+ """
325
+ return pulumi.get(self, "plugin_version")
326
+
327
+ @plugin_version.setter
328
+ def plugin_version(self, value: Optional[pulumi.Input[str]]):
329
+ pulumi.set(self, "plugin_version", value)
330
+
221
331
  @property
222
332
  @pulumi.getter(name="sealWrap")
223
333
  def seal_wrap(self) -> Optional[pulumi.Input[bool]]:
@@ -236,27 +346,41 @@ class _MountState:
236
346
  def __init__(__self__, *,
237
347
  accessor: Optional[pulumi.Input[str]] = None,
238
348
  allowed_managed_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
349
+ allowed_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
239
350
  audit_non_hmac_request_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
240
351
  audit_non_hmac_response_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
241
352
  default_lease_ttl_seconds: Optional[pulumi.Input[int]] = None,
353
+ delegated_auth_accessors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
242
354
  description: Optional[pulumi.Input[str]] = None,
243
355
  external_entropy_access: Optional[pulumi.Input[bool]] = None,
356
+ identity_token_key: Optional[pulumi.Input[str]] = None,
357
+ listing_visibility: Optional[pulumi.Input[str]] = None,
244
358
  local: Optional[pulumi.Input[bool]] = None,
245
359
  max_lease_ttl_seconds: Optional[pulumi.Input[int]] = None,
246
360
  namespace: Optional[pulumi.Input[str]] = None,
247
361
  options: Optional[pulumi.Input[Mapping[str, Any]]] = None,
362
+ passthrough_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
248
363
  path: Optional[pulumi.Input[str]] = None,
364
+ plugin_version: Optional[pulumi.Input[str]] = None,
249
365
  seal_wrap: Optional[pulumi.Input[bool]] = None,
250
366
  type: Optional[pulumi.Input[str]] = None):
251
367
  """
252
368
  Input properties used for looking up and filtering Mount resources.
253
369
  :param pulumi.Input[str] accessor: The accessor for this mount.
254
370
  :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_managed_keys: Set of managed key registry entry names that the mount in question is allowed to access
371
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_response_headers: List of headers to allow, allowing a plugin to include
372
+ them in the response.
255
373
  :param pulumi.Input[Sequence[pulumi.Input[str]]] audit_non_hmac_request_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the request data object.
256
374
  :param pulumi.Input[Sequence[pulumi.Input[str]]] audit_non_hmac_response_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the response data object.
257
375
  :param pulumi.Input[int] default_lease_ttl_seconds: Default lease duration for tokens and secrets in seconds
376
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] delegated_auth_accessors: List of allowed authentication mount accessors the
377
+ backend can request delegated authentication for.
258
378
  :param pulumi.Input[str] description: Human-friendly description of the mount
259
379
  :param pulumi.Input[bool] external_entropy_access: Boolean flag that can be explicitly set to true to enable the secrets engine to access Vault's external entropy source
380
+ :param pulumi.Input[str] identity_token_key: The key to use for signing plugin workload identity tokens. If
381
+ not provided, this will default to Vault's OIDC default key.
382
+ :param pulumi.Input[str] listing_visibility: Specifies whether to show this mount in the UI-specific
383
+ listing endpoint. Valid values are `unauth` or `hidden`. If not set, behaves like `hidden`.
260
384
  :param pulumi.Input[bool] local: Boolean flag that can be explicitly set to true to enforce local mount in HA environment
261
385
  :param pulumi.Input[int] max_lease_ttl_seconds: Maximum possible lease duration for tokens and secrets in seconds
262
386
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
@@ -264,7 +388,12 @@ class _MountState:
264
388
  The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
265
389
  *Available only for Vault Enterprise*.
266
390
  :param pulumi.Input[Mapping[str, Any]] options: Specifies mount type specific options that are passed to the backend
391
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] passthrough_request_headers: List of headers to allow and pass from the request to
392
+ the plugin.
267
393
  :param pulumi.Input[str] path: Where the secret backend will be mounted
394
+ :param pulumi.Input[str] plugin_version: Specifies the semantic version of the plugin to use, e.g. "v1.0.0".
395
+ If unspecified, the server will select any matching unversioned plugin that may have been
396
+ registered, the latest versioned plugin registered, or a built-in plugin in that order of precedence.
268
397
  :param pulumi.Input[bool] seal_wrap: Boolean flag that can be explicitly set to true to enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
269
398
  :param pulumi.Input[str] type: Type of the backend, such as "aws"
270
399
  """
@@ -272,16 +401,24 @@ class _MountState:
272
401
  pulumi.set(__self__, "accessor", accessor)
273
402
  if allowed_managed_keys is not None:
274
403
  pulumi.set(__self__, "allowed_managed_keys", allowed_managed_keys)
404
+ if allowed_response_headers is not None:
405
+ pulumi.set(__self__, "allowed_response_headers", allowed_response_headers)
275
406
  if audit_non_hmac_request_keys is not None:
276
407
  pulumi.set(__self__, "audit_non_hmac_request_keys", audit_non_hmac_request_keys)
277
408
  if audit_non_hmac_response_keys is not None:
278
409
  pulumi.set(__self__, "audit_non_hmac_response_keys", audit_non_hmac_response_keys)
279
410
  if default_lease_ttl_seconds is not None:
280
411
  pulumi.set(__self__, "default_lease_ttl_seconds", default_lease_ttl_seconds)
412
+ if delegated_auth_accessors is not None:
413
+ pulumi.set(__self__, "delegated_auth_accessors", delegated_auth_accessors)
281
414
  if description is not None:
282
415
  pulumi.set(__self__, "description", description)
283
416
  if external_entropy_access is not None:
284
417
  pulumi.set(__self__, "external_entropy_access", external_entropy_access)
418
+ if identity_token_key is not None:
419
+ pulumi.set(__self__, "identity_token_key", identity_token_key)
420
+ if listing_visibility is not None:
421
+ pulumi.set(__self__, "listing_visibility", listing_visibility)
285
422
  if local is not None:
286
423
  pulumi.set(__self__, "local", local)
287
424
  if max_lease_ttl_seconds is not None:
@@ -290,8 +427,12 @@ class _MountState:
290
427
  pulumi.set(__self__, "namespace", namespace)
291
428
  if options is not None:
292
429
  pulumi.set(__self__, "options", options)
430
+ if passthrough_request_headers is not None:
431
+ pulumi.set(__self__, "passthrough_request_headers", passthrough_request_headers)
293
432
  if path is not None:
294
433
  pulumi.set(__self__, "path", path)
434
+ if plugin_version is not None:
435
+ pulumi.set(__self__, "plugin_version", plugin_version)
295
436
  if seal_wrap is not None:
296
437
  pulumi.set(__self__, "seal_wrap", seal_wrap)
297
438
  if type is not None:
@@ -321,6 +462,19 @@ class _MountState:
321
462
  def allowed_managed_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
322
463
  pulumi.set(self, "allowed_managed_keys", value)
323
464
 
465
+ @property
466
+ @pulumi.getter(name="allowedResponseHeaders")
467
+ def allowed_response_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
468
+ """
469
+ List of headers to allow, allowing a plugin to include
470
+ them in the response.
471
+ """
472
+ return pulumi.get(self, "allowed_response_headers")
473
+
474
+ @allowed_response_headers.setter
475
+ def allowed_response_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
476
+ pulumi.set(self, "allowed_response_headers", value)
477
+
324
478
  @property
325
479
  @pulumi.getter(name="auditNonHmacRequestKeys")
326
480
  def audit_non_hmac_request_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
@@ -357,6 +511,19 @@ class _MountState:
357
511
  def default_lease_ttl_seconds(self, value: Optional[pulumi.Input[int]]):
358
512
  pulumi.set(self, "default_lease_ttl_seconds", value)
359
513
 
514
+ @property
515
+ @pulumi.getter(name="delegatedAuthAccessors")
516
+ def delegated_auth_accessors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
517
+ """
518
+ List of allowed authentication mount accessors the
519
+ backend can request delegated authentication for.
520
+ """
521
+ return pulumi.get(self, "delegated_auth_accessors")
522
+
523
+ @delegated_auth_accessors.setter
524
+ def delegated_auth_accessors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
525
+ pulumi.set(self, "delegated_auth_accessors", value)
526
+
360
527
  @property
361
528
  @pulumi.getter
362
529
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -381,6 +548,32 @@ class _MountState:
381
548
  def external_entropy_access(self, value: Optional[pulumi.Input[bool]]):
382
549
  pulumi.set(self, "external_entropy_access", value)
383
550
 
551
+ @property
552
+ @pulumi.getter(name="identityTokenKey")
553
+ def identity_token_key(self) -> Optional[pulumi.Input[str]]:
554
+ """
555
+ The key to use for signing plugin workload identity tokens. If
556
+ not provided, this will default to Vault's OIDC default key.
557
+ """
558
+ return pulumi.get(self, "identity_token_key")
559
+
560
+ @identity_token_key.setter
561
+ def identity_token_key(self, value: Optional[pulumi.Input[str]]):
562
+ pulumi.set(self, "identity_token_key", value)
563
+
564
+ @property
565
+ @pulumi.getter(name="listingVisibility")
566
+ def listing_visibility(self) -> Optional[pulumi.Input[str]]:
567
+ """
568
+ Specifies whether to show this mount in the UI-specific
569
+ listing endpoint. Valid values are `unauth` or `hidden`. If not set, behaves like `hidden`.
570
+ """
571
+ return pulumi.get(self, "listing_visibility")
572
+
573
+ @listing_visibility.setter
574
+ def listing_visibility(self, value: Optional[pulumi.Input[str]]):
575
+ pulumi.set(self, "listing_visibility", value)
576
+
384
577
  @property
385
578
  @pulumi.getter
386
579
  def local(self) -> Optional[pulumi.Input[bool]]:
@@ -432,6 +625,19 @@ class _MountState:
432
625
  def options(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
433
626
  pulumi.set(self, "options", value)
434
627
 
628
+ @property
629
+ @pulumi.getter(name="passthroughRequestHeaders")
630
+ def passthrough_request_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
631
+ """
632
+ List of headers to allow and pass from the request to
633
+ the plugin.
634
+ """
635
+ return pulumi.get(self, "passthrough_request_headers")
636
+
637
+ @passthrough_request_headers.setter
638
+ def passthrough_request_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
639
+ pulumi.set(self, "passthrough_request_headers", value)
640
+
435
641
  @property
436
642
  @pulumi.getter
437
643
  def path(self) -> Optional[pulumi.Input[str]]:
@@ -444,6 +650,20 @@ class _MountState:
444
650
  def path(self, value: Optional[pulumi.Input[str]]):
445
651
  pulumi.set(self, "path", value)
446
652
 
653
+ @property
654
+ @pulumi.getter(name="pluginVersion")
655
+ def plugin_version(self) -> Optional[pulumi.Input[str]]:
656
+ """
657
+ Specifies the semantic version of the plugin to use, e.g. "v1.0.0".
658
+ If unspecified, the server will select any matching unversioned plugin that may have been
659
+ registered, the latest versioned plugin registered, or a built-in plugin in that order of precedence.
660
+ """
661
+ return pulumi.get(self, "plugin_version")
662
+
663
+ @plugin_version.setter
664
+ def plugin_version(self, value: Optional[pulumi.Input[str]]):
665
+ pulumi.set(self, "plugin_version", value)
666
+
447
667
  @property
448
668
  @pulumi.getter(name="sealWrap")
449
669
  def seal_wrap(self) -> Optional[pulumi.Input[bool]]:
@@ -475,16 +695,22 @@ class Mount(pulumi.CustomResource):
475
695
  resource_name: str,
476
696
  opts: Optional[pulumi.ResourceOptions] = None,
477
697
  allowed_managed_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
698
+ allowed_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
478
699
  audit_non_hmac_request_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
479
700
  audit_non_hmac_response_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
480
701
  default_lease_ttl_seconds: Optional[pulumi.Input[int]] = None,
702
+ delegated_auth_accessors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
481
703
  description: Optional[pulumi.Input[str]] = None,
482
704
  external_entropy_access: Optional[pulumi.Input[bool]] = None,
705
+ identity_token_key: Optional[pulumi.Input[str]] = None,
706
+ listing_visibility: Optional[pulumi.Input[str]] = None,
483
707
  local: Optional[pulumi.Input[bool]] = None,
484
708
  max_lease_ttl_seconds: Optional[pulumi.Input[int]] = None,
485
709
  namespace: Optional[pulumi.Input[str]] = None,
486
710
  options: Optional[pulumi.Input[Mapping[str, Any]]] = None,
711
+ passthrough_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
487
712
  path: Optional[pulumi.Input[str]] = None,
713
+ plugin_version: Optional[pulumi.Input[str]] = None,
488
714
  seal_wrap: Optional[pulumi.Input[bool]] = None,
489
715
  type: Optional[pulumi.Input[str]] = None,
490
716
  __props__=None):
@@ -553,11 +779,19 @@ class Mount(pulumi.CustomResource):
553
779
  :param str resource_name: The name of the resource.
554
780
  :param pulumi.ResourceOptions opts: Options for the resource.
555
781
  :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_managed_keys: Set of managed key registry entry names that the mount in question is allowed to access
782
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_response_headers: List of headers to allow, allowing a plugin to include
783
+ them in the response.
556
784
  :param pulumi.Input[Sequence[pulumi.Input[str]]] audit_non_hmac_request_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the request data object.
557
785
  :param pulumi.Input[Sequence[pulumi.Input[str]]] audit_non_hmac_response_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the response data object.
558
786
  :param pulumi.Input[int] default_lease_ttl_seconds: Default lease duration for tokens and secrets in seconds
787
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] delegated_auth_accessors: List of allowed authentication mount accessors the
788
+ backend can request delegated authentication for.
559
789
  :param pulumi.Input[str] description: Human-friendly description of the mount
560
790
  :param pulumi.Input[bool] external_entropy_access: Boolean flag that can be explicitly set to true to enable the secrets engine to access Vault's external entropy source
791
+ :param pulumi.Input[str] identity_token_key: The key to use for signing plugin workload identity tokens. If
792
+ not provided, this will default to Vault's OIDC default key.
793
+ :param pulumi.Input[str] listing_visibility: Specifies whether to show this mount in the UI-specific
794
+ listing endpoint. Valid values are `unauth` or `hidden`. If not set, behaves like `hidden`.
561
795
  :param pulumi.Input[bool] local: Boolean flag that can be explicitly set to true to enforce local mount in HA environment
562
796
  :param pulumi.Input[int] max_lease_ttl_seconds: Maximum possible lease duration for tokens and secrets in seconds
563
797
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
@@ -565,7 +799,12 @@ class Mount(pulumi.CustomResource):
565
799
  The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
566
800
  *Available only for Vault Enterprise*.
567
801
  :param pulumi.Input[Mapping[str, Any]] options: Specifies mount type specific options that are passed to the backend
802
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] passthrough_request_headers: List of headers to allow and pass from the request to
803
+ the plugin.
568
804
  :param pulumi.Input[str] path: Where the secret backend will be mounted
805
+ :param pulumi.Input[str] plugin_version: Specifies the semantic version of the plugin to use, e.g. "v1.0.0".
806
+ If unspecified, the server will select any matching unversioned plugin that may have been
807
+ registered, the latest versioned plugin registered, or a built-in plugin in that order of precedence.
569
808
  :param pulumi.Input[bool] seal_wrap: Boolean flag that can be explicitly set to true to enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
570
809
  :param pulumi.Input[str] type: Type of the backend, such as "aws"
571
810
  """
@@ -653,16 +892,22 @@ class Mount(pulumi.CustomResource):
653
892
  resource_name: str,
654
893
  opts: Optional[pulumi.ResourceOptions] = None,
655
894
  allowed_managed_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
895
+ allowed_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
656
896
  audit_non_hmac_request_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
657
897
  audit_non_hmac_response_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
658
898
  default_lease_ttl_seconds: Optional[pulumi.Input[int]] = None,
899
+ delegated_auth_accessors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
659
900
  description: Optional[pulumi.Input[str]] = None,
660
901
  external_entropy_access: Optional[pulumi.Input[bool]] = None,
902
+ identity_token_key: Optional[pulumi.Input[str]] = None,
903
+ listing_visibility: Optional[pulumi.Input[str]] = None,
661
904
  local: Optional[pulumi.Input[bool]] = None,
662
905
  max_lease_ttl_seconds: Optional[pulumi.Input[int]] = None,
663
906
  namespace: Optional[pulumi.Input[str]] = None,
664
907
  options: Optional[pulumi.Input[Mapping[str, Any]]] = None,
908
+ passthrough_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
665
909
  path: Optional[pulumi.Input[str]] = None,
910
+ plugin_version: Optional[pulumi.Input[str]] = None,
666
911
  seal_wrap: Optional[pulumi.Input[bool]] = None,
667
912
  type: Optional[pulumi.Input[str]] = None,
668
913
  __props__=None):
@@ -675,18 +920,24 @@ class Mount(pulumi.CustomResource):
675
920
  __props__ = MountArgs.__new__(MountArgs)
676
921
 
677
922
  __props__.__dict__["allowed_managed_keys"] = allowed_managed_keys
923
+ __props__.__dict__["allowed_response_headers"] = allowed_response_headers
678
924
  __props__.__dict__["audit_non_hmac_request_keys"] = audit_non_hmac_request_keys
679
925
  __props__.__dict__["audit_non_hmac_response_keys"] = audit_non_hmac_response_keys
680
926
  __props__.__dict__["default_lease_ttl_seconds"] = default_lease_ttl_seconds
927
+ __props__.__dict__["delegated_auth_accessors"] = delegated_auth_accessors
681
928
  __props__.__dict__["description"] = description
682
929
  __props__.__dict__["external_entropy_access"] = external_entropy_access
930
+ __props__.__dict__["identity_token_key"] = identity_token_key
931
+ __props__.__dict__["listing_visibility"] = listing_visibility
683
932
  __props__.__dict__["local"] = local
684
933
  __props__.__dict__["max_lease_ttl_seconds"] = max_lease_ttl_seconds
685
934
  __props__.__dict__["namespace"] = namespace
686
935
  __props__.__dict__["options"] = options
936
+ __props__.__dict__["passthrough_request_headers"] = passthrough_request_headers
687
937
  if path is None and not opts.urn:
688
938
  raise TypeError("Missing required property 'path'")
689
939
  __props__.__dict__["path"] = path
940
+ __props__.__dict__["plugin_version"] = plugin_version
690
941
  __props__.__dict__["seal_wrap"] = seal_wrap
691
942
  if type is None and not opts.urn:
692
943
  raise TypeError("Missing required property 'type'")
@@ -704,16 +955,22 @@ class Mount(pulumi.CustomResource):
704
955
  opts: Optional[pulumi.ResourceOptions] = None,
705
956
  accessor: Optional[pulumi.Input[str]] = None,
706
957
  allowed_managed_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
958
+ allowed_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
707
959
  audit_non_hmac_request_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
708
960
  audit_non_hmac_response_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
709
961
  default_lease_ttl_seconds: Optional[pulumi.Input[int]] = None,
962
+ delegated_auth_accessors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
710
963
  description: Optional[pulumi.Input[str]] = None,
711
964
  external_entropy_access: Optional[pulumi.Input[bool]] = None,
965
+ identity_token_key: Optional[pulumi.Input[str]] = None,
966
+ listing_visibility: Optional[pulumi.Input[str]] = None,
712
967
  local: Optional[pulumi.Input[bool]] = None,
713
968
  max_lease_ttl_seconds: Optional[pulumi.Input[int]] = None,
714
969
  namespace: Optional[pulumi.Input[str]] = None,
715
970
  options: Optional[pulumi.Input[Mapping[str, Any]]] = None,
971
+ passthrough_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
716
972
  path: Optional[pulumi.Input[str]] = None,
973
+ plugin_version: Optional[pulumi.Input[str]] = None,
717
974
  seal_wrap: Optional[pulumi.Input[bool]] = None,
718
975
  type: Optional[pulumi.Input[str]] = None) -> 'Mount':
719
976
  """
@@ -725,11 +982,19 @@ class Mount(pulumi.CustomResource):
725
982
  :param pulumi.ResourceOptions opts: Options for the resource.
726
983
  :param pulumi.Input[str] accessor: The accessor for this mount.
727
984
  :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_managed_keys: Set of managed key registry entry names that the mount in question is allowed to access
985
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_response_headers: List of headers to allow, allowing a plugin to include
986
+ them in the response.
728
987
  :param pulumi.Input[Sequence[pulumi.Input[str]]] audit_non_hmac_request_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the request data object.
729
988
  :param pulumi.Input[Sequence[pulumi.Input[str]]] audit_non_hmac_response_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the response data object.
730
989
  :param pulumi.Input[int] default_lease_ttl_seconds: Default lease duration for tokens and secrets in seconds
990
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] delegated_auth_accessors: List of allowed authentication mount accessors the
991
+ backend can request delegated authentication for.
731
992
  :param pulumi.Input[str] description: Human-friendly description of the mount
732
993
  :param pulumi.Input[bool] external_entropy_access: Boolean flag that can be explicitly set to true to enable the secrets engine to access Vault's external entropy source
994
+ :param pulumi.Input[str] identity_token_key: The key to use for signing plugin workload identity tokens. If
995
+ not provided, this will default to Vault's OIDC default key.
996
+ :param pulumi.Input[str] listing_visibility: Specifies whether to show this mount in the UI-specific
997
+ listing endpoint. Valid values are `unauth` or `hidden`. If not set, behaves like `hidden`.
733
998
  :param pulumi.Input[bool] local: Boolean flag that can be explicitly set to true to enforce local mount in HA environment
734
999
  :param pulumi.Input[int] max_lease_ttl_seconds: Maximum possible lease duration for tokens and secrets in seconds
735
1000
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
@@ -737,7 +1002,12 @@ class Mount(pulumi.CustomResource):
737
1002
  The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
738
1003
  *Available only for Vault Enterprise*.
739
1004
  :param pulumi.Input[Mapping[str, Any]] options: Specifies mount type specific options that are passed to the backend
1005
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] passthrough_request_headers: List of headers to allow and pass from the request to
1006
+ the plugin.
740
1007
  :param pulumi.Input[str] path: Where the secret backend will be mounted
1008
+ :param pulumi.Input[str] plugin_version: Specifies the semantic version of the plugin to use, e.g. "v1.0.0".
1009
+ If unspecified, the server will select any matching unversioned plugin that may have been
1010
+ registered, the latest versioned plugin registered, or a built-in plugin in that order of precedence.
741
1011
  :param pulumi.Input[bool] seal_wrap: Boolean flag that can be explicitly set to true to enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
742
1012
  :param pulumi.Input[str] type: Type of the backend, such as "aws"
743
1013
  """
@@ -747,16 +1017,22 @@ class Mount(pulumi.CustomResource):
747
1017
 
748
1018
  __props__.__dict__["accessor"] = accessor
749
1019
  __props__.__dict__["allowed_managed_keys"] = allowed_managed_keys
1020
+ __props__.__dict__["allowed_response_headers"] = allowed_response_headers
750
1021
  __props__.__dict__["audit_non_hmac_request_keys"] = audit_non_hmac_request_keys
751
1022
  __props__.__dict__["audit_non_hmac_response_keys"] = audit_non_hmac_response_keys
752
1023
  __props__.__dict__["default_lease_ttl_seconds"] = default_lease_ttl_seconds
1024
+ __props__.__dict__["delegated_auth_accessors"] = delegated_auth_accessors
753
1025
  __props__.__dict__["description"] = description
754
1026
  __props__.__dict__["external_entropy_access"] = external_entropy_access
1027
+ __props__.__dict__["identity_token_key"] = identity_token_key
1028
+ __props__.__dict__["listing_visibility"] = listing_visibility
755
1029
  __props__.__dict__["local"] = local
756
1030
  __props__.__dict__["max_lease_ttl_seconds"] = max_lease_ttl_seconds
757
1031
  __props__.__dict__["namespace"] = namespace
758
1032
  __props__.__dict__["options"] = options
1033
+ __props__.__dict__["passthrough_request_headers"] = passthrough_request_headers
759
1034
  __props__.__dict__["path"] = path
1035
+ __props__.__dict__["plugin_version"] = plugin_version
760
1036
  __props__.__dict__["seal_wrap"] = seal_wrap
761
1037
  __props__.__dict__["type"] = type
762
1038
  return Mount(resource_name, opts=opts, __props__=__props__)
@@ -777,6 +1053,15 @@ class Mount(pulumi.CustomResource):
777
1053
  """
778
1054
  return pulumi.get(self, "allowed_managed_keys")
779
1055
 
1056
+ @property
1057
+ @pulumi.getter(name="allowedResponseHeaders")
1058
+ def allowed_response_headers(self) -> pulumi.Output[Optional[Sequence[str]]]:
1059
+ """
1060
+ List of headers to allow, allowing a plugin to include
1061
+ them in the response.
1062
+ """
1063
+ return pulumi.get(self, "allowed_response_headers")
1064
+
780
1065
  @property
781
1066
  @pulumi.getter(name="auditNonHmacRequestKeys")
782
1067
  def audit_non_hmac_request_keys(self) -> pulumi.Output[Sequence[str]]:
@@ -801,6 +1086,15 @@ class Mount(pulumi.CustomResource):
801
1086
  """
802
1087
  return pulumi.get(self, "default_lease_ttl_seconds")
803
1088
 
1089
+ @property
1090
+ @pulumi.getter(name="delegatedAuthAccessors")
1091
+ def delegated_auth_accessors(self) -> pulumi.Output[Optional[Sequence[str]]]:
1092
+ """
1093
+ List of allowed authentication mount accessors the
1094
+ backend can request delegated authentication for.
1095
+ """
1096
+ return pulumi.get(self, "delegated_auth_accessors")
1097
+
804
1098
  @property
805
1099
  @pulumi.getter
806
1100
  def description(self) -> pulumi.Output[Optional[str]]:
@@ -817,6 +1111,24 @@ class Mount(pulumi.CustomResource):
817
1111
  """
818
1112
  return pulumi.get(self, "external_entropy_access")
819
1113
 
1114
+ @property
1115
+ @pulumi.getter(name="identityTokenKey")
1116
+ def identity_token_key(self) -> pulumi.Output[Optional[str]]:
1117
+ """
1118
+ The key to use for signing plugin workload identity tokens. If
1119
+ not provided, this will default to Vault's OIDC default key.
1120
+ """
1121
+ return pulumi.get(self, "identity_token_key")
1122
+
1123
+ @property
1124
+ @pulumi.getter(name="listingVisibility")
1125
+ def listing_visibility(self) -> pulumi.Output[Optional[str]]:
1126
+ """
1127
+ Specifies whether to show this mount in the UI-specific
1128
+ listing endpoint. Valid values are `unauth` or `hidden`. If not set, behaves like `hidden`.
1129
+ """
1130
+ return pulumi.get(self, "listing_visibility")
1131
+
820
1132
  @property
821
1133
  @pulumi.getter
822
1134
  def local(self) -> pulumi.Output[Optional[bool]]:
@@ -852,6 +1164,15 @@ class Mount(pulumi.CustomResource):
852
1164
  """
853
1165
  return pulumi.get(self, "options")
854
1166
 
1167
+ @property
1168
+ @pulumi.getter(name="passthroughRequestHeaders")
1169
+ def passthrough_request_headers(self) -> pulumi.Output[Optional[Sequence[str]]]:
1170
+ """
1171
+ List of headers to allow and pass from the request to
1172
+ the plugin.
1173
+ """
1174
+ return pulumi.get(self, "passthrough_request_headers")
1175
+
855
1176
  @property
856
1177
  @pulumi.getter
857
1178
  def path(self) -> pulumi.Output[str]:
@@ -860,6 +1181,16 @@ class Mount(pulumi.CustomResource):
860
1181
  """
861
1182
  return pulumi.get(self, "path")
862
1183
 
1184
+ @property
1185
+ @pulumi.getter(name="pluginVersion")
1186
+ def plugin_version(self) -> pulumi.Output[Optional[str]]:
1187
+ """
1188
+ Specifies the semantic version of the plugin to use, e.g. "v1.0.0".
1189
+ If unspecified, the server will select any matching unversioned plugin that may have been
1190
+ registered, the latest versioned plugin registered, or a built-in plugin in that order of precedence.
1191
+ """
1192
+ return pulumi.get(self, "plugin_version")
1193
+
863
1194
  @property
864
1195
  @pulumi.getter(name="sealWrap")
865
1196
  def seal_wrap(self) -> pulumi.Output[bool]: