pulumi-vault 6.5.0a1736850018__py3-none-any.whl → 6.6.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 (48) hide show
  1. pulumi_vault/__init__.py +32 -0
  2. pulumi_vault/_utilities.py +8 -4
  3. pulumi_vault/aws/auth_backend_client.py +228 -4
  4. pulumi_vault/aws/auth_backend_sts_role.py +47 -0
  5. pulumi_vault/aws/secret_backend.py +395 -38
  6. pulumi_vault/aws/secret_backend_static_role.py +217 -0
  7. pulumi_vault/azure/auth_backend_config.py +257 -5
  8. pulumi_vault/azure/backend.py +249 -4
  9. pulumi_vault/database/_inputs.py +1740 -44
  10. pulumi_vault/database/outputs.py +1198 -18
  11. pulumi_vault/database/secret_backend_connection.py +220 -0
  12. pulumi_vault/database/secret_backend_static_role.py +143 -1
  13. pulumi_vault/database/secrets_mount.py +8 -0
  14. pulumi_vault/gcp/auth_backend.py +222 -2
  15. pulumi_vault/gcp/secret_backend.py +244 -4
  16. pulumi_vault/ldap/auth_backend.py +222 -2
  17. pulumi_vault/ldap/secret_backend.py +222 -2
  18. pulumi_vault/pkisecret/__init__.py +6 -0
  19. pulumi_vault/pkisecret/_inputs.py +34 -6
  20. pulumi_vault/pkisecret/backend_acme_eab.py +549 -0
  21. pulumi_vault/pkisecret/backend_config_acme.py +689 -0
  22. pulumi_vault/pkisecret/backend_config_auto_tidy.py +1376 -0
  23. pulumi_vault/pkisecret/backend_config_cmpv2.py +572 -0
  24. pulumi_vault/pkisecret/get_backend_cert_metadata.py +277 -0
  25. pulumi_vault/pkisecret/get_backend_config_cmpv2.py +226 -0
  26. pulumi_vault/pkisecret/get_backend_issuer.py +114 -1
  27. pulumi_vault/pkisecret/outputs.py +40 -4
  28. pulumi_vault/pkisecret/secret_backend_cert.py +148 -7
  29. pulumi_vault/pkisecret/secret_backend_crl_config.py +54 -0
  30. pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +141 -0
  31. pulumi_vault/pkisecret/secret_backend_issuer.py +265 -0
  32. pulumi_vault/pkisecret/secret_backend_role.py +299 -3
  33. pulumi_vault/pkisecret/secret_backend_root_cert.py +423 -0
  34. pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +581 -3
  35. pulumi_vault/pkisecret/secret_backend_sign.py +94 -0
  36. pulumi_vault/pulumi-plugin.json +1 -1
  37. pulumi_vault/ssh/__init__.py +1 -0
  38. pulumi_vault/ssh/get_secret_backend_sign.py +294 -0
  39. pulumi_vault/ssh/secret_backend_role.py +27 -0
  40. pulumi_vault/terraformcloud/secret_role.py +7 -7
  41. pulumi_vault/transit/__init__.py +2 -0
  42. pulumi_vault/transit/get_sign.py +324 -0
  43. pulumi_vault/transit/get_verify.py +354 -0
  44. pulumi_vault/transit/secret_backend_key.py +162 -0
  45. {pulumi_vault-6.5.0a1736850018.dist-info → pulumi_vault-6.6.0.dist-info}/METADATA +1 -1
  46. {pulumi_vault-6.5.0a1736850018.dist-info → pulumi_vault-6.6.0.dist-info}/RECORD +48 -39
  47. {pulumi_vault-6.5.0a1736850018.dist-info → pulumi_vault-6.6.0.dist-info}/WHEEL +1 -1
  48. {pulumi_vault-6.5.0a1736850018.dist-info → pulumi_vault-6.6.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,572 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['BackendConfigCmpv2Args', 'BackendConfigCmpv2']
20
+
21
+ @pulumi.input_type
22
+ class BackendConfigCmpv2Args:
23
+ def __init__(__self__, *,
24
+ backend: pulumi.Input[str],
25
+ audit_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
26
+ authenticators: Optional[pulumi.Input['BackendConfigCmpv2AuthenticatorsArgs']] = None,
27
+ default_path_policy: Optional[pulumi.Input[str]] = None,
28
+ disabled_validations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
29
+ enable_sentinel_parsing: Optional[pulumi.Input[bool]] = None,
30
+ enabled: Optional[pulumi.Input[bool]] = None,
31
+ namespace: Optional[pulumi.Input[str]] = None):
32
+ """
33
+ The set of arguments for constructing a BackendConfigCmpv2 resource.
34
+ :param pulumi.Input[str] backend: The path to the PKI secret backend to
35
+ read the CMPv2 configuration from, with no leading or trailing `/`s.
36
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] audit_fields: Fields parsed from the CSR that appear in the audit and can be used by sentinel policies.
37
+ :param pulumi.Input['BackendConfigCmpv2AuthenticatorsArgs'] authenticators: Lists the mount accessors CMPv2 should delegate authentication requests towards (see below for nested schema).
38
+ :param pulumi.Input[str] default_path_policy: Specifies the behavior for requests using the non-role-qualified CMPv2 requests. Can be sign-verbatim or a role given by role:<role_name>.
39
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] disabled_validations: A comma-separated list of validations not to perform on CMPv2 messages.
40
+
41
+ <a id="nestedatt--authenticators"></a>
42
+ :param pulumi.Input[bool] enable_sentinel_parsing: If set, parse out fields from the provided CSR making them available for Sentinel policies.
43
+ :param pulumi.Input[bool] enabled: Specifies whether CMPv2 is enabled.
44
+ :param pulumi.Input[str] namespace: The namespace of the target resource.
45
+ The value should not contain leading or trailing forward slashes.
46
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
47
+ *Available only for Vault Enterprise*.
48
+ """
49
+ pulumi.set(__self__, "backend", backend)
50
+ if audit_fields is not None:
51
+ pulumi.set(__self__, "audit_fields", audit_fields)
52
+ if authenticators is not None:
53
+ pulumi.set(__self__, "authenticators", authenticators)
54
+ if default_path_policy is not None:
55
+ pulumi.set(__self__, "default_path_policy", default_path_policy)
56
+ if disabled_validations is not None:
57
+ pulumi.set(__self__, "disabled_validations", disabled_validations)
58
+ if enable_sentinel_parsing is not None:
59
+ pulumi.set(__self__, "enable_sentinel_parsing", enable_sentinel_parsing)
60
+ if enabled is not None:
61
+ pulumi.set(__self__, "enabled", enabled)
62
+ if namespace is not None:
63
+ pulumi.set(__self__, "namespace", namespace)
64
+
65
+ @property
66
+ @pulumi.getter
67
+ def backend(self) -> pulumi.Input[str]:
68
+ """
69
+ The path to the PKI secret backend to
70
+ read the CMPv2 configuration from, with no leading or trailing `/`s.
71
+ """
72
+ return pulumi.get(self, "backend")
73
+
74
+ @backend.setter
75
+ def backend(self, value: pulumi.Input[str]):
76
+ pulumi.set(self, "backend", value)
77
+
78
+ @property
79
+ @pulumi.getter(name="auditFields")
80
+ def audit_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
81
+ """
82
+ Fields parsed from the CSR that appear in the audit and can be used by sentinel policies.
83
+ """
84
+ return pulumi.get(self, "audit_fields")
85
+
86
+ @audit_fields.setter
87
+ def audit_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
88
+ pulumi.set(self, "audit_fields", value)
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def authenticators(self) -> Optional[pulumi.Input['BackendConfigCmpv2AuthenticatorsArgs']]:
93
+ """
94
+ Lists the mount accessors CMPv2 should delegate authentication requests towards (see below for nested schema).
95
+ """
96
+ return pulumi.get(self, "authenticators")
97
+
98
+ @authenticators.setter
99
+ def authenticators(self, value: Optional[pulumi.Input['BackendConfigCmpv2AuthenticatorsArgs']]):
100
+ pulumi.set(self, "authenticators", value)
101
+
102
+ @property
103
+ @pulumi.getter(name="defaultPathPolicy")
104
+ def default_path_policy(self) -> Optional[pulumi.Input[str]]:
105
+ """
106
+ Specifies the behavior for requests using the non-role-qualified CMPv2 requests. Can be sign-verbatim or a role given by role:<role_name>.
107
+ """
108
+ return pulumi.get(self, "default_path_policy")
109
+
110
+ @default_path_policy.setter
111
+ def default_path_policy(self, value: Optional[pulumi.Input[str]]):
112
+ pulumi.set(self, "default_path_policy", value)
113
+
114
+ @property
115
+ @pulumi.getter(name="disabledValidations")
116
+ def disabled_validations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
117
+ """
118
+ A comma-separated list of validations not to perform on CMPv2 messages.
119
+
120
+ <a id="nestedatt--authenticators"></a>
121
+ """
122
+ return pulumi.get(self, "disabled_validations")
123
+
124
+ @disabled_validations.setter
125
+ def disabled_validations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
126
+ pulumi.set(self, "disabled_validations", value)
127
+
128
+ @property
129
+ @pulumi.getter(name="enableSentinelParsing")
130
+ def enable_sentinel_parsing(self) -> Optional[pulumi.Input[bool]]:
131
+ """
132
+ If set, parse out fields from the provided CSR making them available for Sentinel policies.
133
+ """
134
+ return pulumi.get(self, "enable_sentinel_parsing")
135
+
136
+ @enable_sentinel_parsing.setter
137
+ def enable_sentinel_parsing(self, value: Optional[pulumi.Input[bool]]):
138
+ pulumi.set(self, "enable_sentinel_parsing", value)
139
+
140
+ @property
141
+ @pulumi.getter
142
+ def enabled(self) -> Optional[pulumi.Input[bool]]:
143
+ """
144
+ Specifies whether CMPv2 is enabled.
145
+ """
146
+ return pulumi.get(self, "enabled")
147
+
148
+ @enabled.setter
149
+ def enabled(self, value: Optional[pulumi.Input[bool]]):
150
+ pulumi.set(self, "enabled", value)
151
+
152
+ @property
153
+ @pulumi.getter
154
+ def namespace(self) -> Optional[pulumi.Input[str]]:
155
+ """
156
+ The namespace of the target resource.
157
+ The value should not contain leading or trailing forward slashes.
158
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
159
+ *Available only for Vault Enterprise*.
160
+ """
161
+ return pulumi.get(self, "namespace")
162
+
163
+ @namespace.setter
164
+ def namespace(self, value: Optional[pulumi.Input[str]]):
165
+ pulumi.set(self, "namespace", value)
166
+
167
+
168
+ @pulumi.input_type
169
+ class _BackendConfigCmpv2State:
170
+ def __init__(__self__, *,
171
+ audit_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
172
+ authenticators: Optional[pulumi.Input['BackendConfigCmpv2AuthenticatorsArgs']] = None,
173
+ backend: Optional[pulumi.Input[str]] = None,
174
+ default_path_policy: Optional[pulumi.Input[str]] = None,
175
+ disabled_validations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
176
+ enable_sentinel_parsing: Optional[pulumi.Input[bool]] = None,
177
+ enabled: Optional[pulumi.Input[bool]] = None,
178
+ last_updated: Optional[pulumi.Input[str]] = None,
179
+ namespace: Optional[pulumi.Input[str]] = None):
180
+ """
181
+ Input properties used for looking up and filtering BackendConfigCmpv2 resources.
182
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] audit_fields: Fields parsed from the CSR that appear in the audit and can be used by sentinel policies.
183
+ :param pulumi.Input['BackendConfigCmpv2AuthenticatorsArgs'] authenticators: Lists the mount accessors CMPv2 should delegate authentication requests towards (see below for nested schema).
184
+ :param pulumi.Input[str] backend: The path to the PKI secret backend to
185
+ read the CMPv2 configuration from, with no leading or trailing `/`s.
186
+ :param pulumi.Input[str] default_path_policy: Specifies the behavior for requests using the non-role-qualified CMPv2 requests. Can be sign-verbatim or a role given by role:<role_name>.
187
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] disabled_validations: A comma-separated list of validations not to perform on CMPv2 messages.
188
+
189
+ <a id="nestedatt--authenticators"></a>
190
+ :param pulumi.Input[bool] enable_sentinel_parsing: If set, parse out fields from the provided CSR making them available for Sentinel policies.
191
+ :param pulumi.Input[bool] enabled: Specifies whether CMPv2 is enabled.
192
+ :param pulumi.Input[str] last_updated: A read-only timestamp representing the last time the configuration was updated.
193
+ :param pulumi.Input[str] namespace: The namespace of the target resource.
194
+ The value should not contain leading or trailing forward slashes.
195
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
196
+ *Available only for Vault Enterprise*.
197
+ """
198
+ if audit_fields is not None:
199
+ pulumi.set(__self__, "audit_fields", audit_fields)
200
+ if authenticators is not None:
201
+ pulumi.set(__self__, "authenticators", authenticators)
202
+ if backend is not None:
203
+ pulumi.set(__self__, "backend", backend)
204
+ if default_path_policy is not None:
205
+ pulumi.set(__self__, "default_path_policy", default_path_policy)
206
+ if disabled_validations is not None:
207
+ pulumi.set(__self__, "disabled_validations", disabled_validations)
208
+ if enable_sentinel_parsing is not None:
209
+ pulumi.set(__self__, "enable_sentinel_parsing", enable_sentinel_parsing)
210
+ if enabled is not None:
211
+ pulumi.set(__self__, "enabled", enabled)
212
+ if last_updated is not None:
213
+ pulumi.set(__self__, "last_updated", last_updated)
214
+ if namespace is not None:
215
+ pulumi.set(__self__, "namespace", namespace)
216
+
217
+ @property
218
+ @pulumi.getter(name="auditFields")
219
+ def audit_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
220
+ """
221
+ Fields parsed from the CSR that appear in the audit and can be used by sentinel policies.
222
+ """
223
+ return pulumi.get(self, "audit_fields")
224
+
225
+ @audit_fields.setter
226
+ def audit_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
227
+ pulumi.set(self, "audit_fields", value)
228
+
229
+ @property
230
+ @pulumi.getter
231
+ def authenticators(self) -> Optional[pulumi.Input['BackendConfigCmpv2AuthenticatorsArgs']]:
232
+ """
233
+ Lists the mount accessors CMPv2 should delegate authentication requests towards (see below for nested schema).
234
+ """
235
+ return pulumi.get(self, "authenticators")
236
+
237
+ @authenticators.setter
238
+ def authenticators(self, value: Optional[pulumi.Input['BackendConfigCmpv2AuthenticatorsArgs']]):
239
+ pulumi.set(self, "authenticators", value)
240
+
241
+ @property
242
+ @pulumi.getter
243
+ def backend(self) -> Optional[pulumi.Input[str]]:
244
+ """
245
+ The path to the PKI secret backend to
246
+ read the CMPv2 configuration from, with no leading or trailing `/`s.
247
+ """
248
+ return pulumi.get(self, "backend")
249
+
250
+ @backend.setter
251
+ def backend(self, value: Optional[pulumi.Input[str]]):
252
+ pulumi.set(self, "backend", value)
253
+
254
+ @property
255
+ @pulumi.getter(name="defaultPathPolicy")
256
+ def default_path_policy(self) -> Optional[pulumi.Input[str]]:
257
+ """
258
+ Specifies the behavior for requests using the non-role-qualified CMPv2 requests. Can be sign-verbatim or a role given by role:<role_name>.
259
+ """
260
+ return pulumi.get(self, "default_path_policy")
261
+
262
+ @default_path_policy.setter
263
+ def default_path_policy(self, value: Optional[pulumi.Input[str]]):
264
+ pulumi.set(self, "default_path_policy", value)
265
+
266
+ @property
267
+ @pulumi.getter(name="disabledValidations")
268
+ def disabled_validations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
269
+ """
270
+ A comma-separated list of validations not to perform on CMPv2 messages.
271
+
272
+ <a id="nestedatt--authenticators"></a>
273
+ """
274
+ return pulumi.get(self, "disabled_validations")
275
+
276
+ @disabled_validations.setter
277
+ def disabled_validations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
278
+ pulumi.set(self, "disabled_validations", value)
279
+
280
+ @property
281
+ @pulumi.getter(name="enableSentinelParsing")
282
+ def enable_sentinel_parsing(self) -> Optional[pulumi.Input[bool]]:
283
+ """
284
+ If set, parse out fields from the provided CSR making them available for Sentinel policies.
285
+ """
286
+ return pulumi.get(self, "enable_sentinel_parsing")
287
+
288
+ @enable_sentinel_parsing.setter
289
+ def enable_sentinel_parsing(self, value: Optional[pulumi.Input[bool]]):
290
+ pulumi.set(self, "enable_sentinel_parsing", value)
291
+
292
+ @property
293
+ @pulumi.getter
294
+ def enabled(self) -> Optional[pulumi.Input[bool]]:
295
+ """
296
+ Specifies whether CMPv2 is enabled.
297
+ """
298
+ return pulumi.get(self, "enabled")
299
+
300
+ @enabled.setter
301
+ def enabled(self, value: Optional[pulumi.Input[bool]]):
302
+ pulumi.set(self, "enabled", value)
303
+
304
+ @property
305
+ @pulumi.getter(name="lastUpdated")
306
+ def last_updated(self) -> Optional[pulumi.Input[str]]:
307
+ """
308
+ A read-only timestamp representing the last time the configuration was updated.
309
+ """
310
+ return pulumi.get(self, "last_updated")
311
+
312
+ @last_updated.setter
313
+ def last_updated(self, value: Optional[pulumi.Input[str]]):
314
+ pulumi.set(self, "last_updated", value)
315
+
316
+ @property
317
+ @pulumi.getter
318
+ def namespace(self) -> Optional[pulumi.Input[str]]:
319
+ """
320
+ The namespace of the target resource.
321
+ The value should not contain leading or trailing forward slashes.
322
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
323
+ *Available only for Vault Enterprise*.
324
+ """
325
+ return pulumi.get(self, "namespace")
326
+
327
+ @namespace.setter
328
+ def namespace(self, value: Optional[pulumi.Input[str]]):
329
+ pulumi.set(self, "namespace", value)
330
+
331
+
332
+ class BackendConfigCmpv2(pulumi.CustomResource):
333
+ @overload
334
+ def __init__(__self__,
335
+ resource_name: str,
336
+ opts: Optional[pulumi.ResourceOptions] = None,
337
+ audit_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
338
+ authenticators: Optional[pulumi.Input[Union['BackendConfigCmpv2AuthenticatorsArgs', 'BackendConfigCmpv2AuthenticatorsArgsDict']]] = None,
339
+ backend: Optional[pulumi.Input[str]] = None,
340
+ default_path_policy: Optional[pulumi.Input[str]] = None,
341
+ disabled_validations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
342
+ enable_sentinel_parsing: Optional[pulumi.Input[bool]] = None,
343
+ enabled: Optional[pulumi.Input[bool]] = None,
344
+ namespace: Optional[pulumi.Input[str]] = None,
345
+ __props__=None):
346
+ """
347
+ Allows setting the CMPv2 configuration on a PKI Secret Backend
348
+
349
+ ## Import
350
+
351
+ The PKI config cluster can be imported using the resource's `id`.
352
+ In the case of the example above the `id` would be `pki-root/config/cmpv2`,
353
+ where the `pki-root` component is the resource's `backend`, e.g.
354
+
355
+ ```sh
356
+ $ pulumi import vault:pkiSecret/backendConfigCmpv2:BackendConfigCmpv2 example pki-root/config/cmpv2
357
+ ```
358
+
359
+ :param str resource_name: The name of the resource.
360
+ :param pulumi.ResourceOptions opts: Options for the resource.
361
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] audit_fields: Fields parsed from the CSR that appear in the audit and can be used by sentinel policies.
362
+ :param pulumi.Input[Union['BackendConfigCmpv2AuthenticatorsArgs', 'BackendConfigCmpv2AuthenticatorsArgsDict']] authenticators: Lists the mount accessors CMPv2 should delegate authentication requests towards (see below for nested schema).
363
+ :param pulumi.Input[str] backend: The path to the PKI secret backend to
364
+ read the CMPv2 configuration from, with no leading or trailing `/`s.
365
+ :param pulumi.Input[str] default_path_policy: Specifies the behavior for requests using the non-role-qualified CMPv2 requests. Can be sign-verbatim or a role given by role:<role_name>.
366
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] disabled_validations: A comma-separated list of validations not to perform on CMPv2 messages.
367
+
368
+ <a id="nestedatt--authenticators"></a>
369
+ :param pulumi.Input[bool] enable_sentinel_parsing: If set, parse out fields from the provided CSR making them available for Sentinel policies.
370
+ :param pulumi.Input[bool] enabled: Specifies whether CMPv2 is enabled.
371
+ :param pulumi.Input[str] namespace: The namespace of the target resource.
372
+ The value should not contain leading or trailing forward slashes.
373
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
374
+ *Available only for Vault Enterprise*.
375
+ """
376
+ ...
377
+ @overload
378
+ def __init__(__self__,
379
+ resource_name: str,
380
+ args: BackendConfigCmpv2Args,
381
+ opts: Optional[pulumi.ResourceOptions] = None):
382
+ """
383
+ Allows setting the CMPv2 configuration on a PKI Secret Backend
384
+
385
+ ## Import
386
+
387
+ The PKI config cluster can be imported using the resource's `id`.
388
+ In the case of the example above the `id` would be `pki-root/config/cmpv2`,
389
+ where the `pki-root` component is the resource's `backend`, e.g.
390
+
391
+ ```sh
392
+ $ pulumi import vault:pkiSecret/backendConfigCmpv2:BackendConfigCmpv2 example pki-root/config/cmpv2
393
+ ```
394
+
395
+ :param str resource_name: The name of the resource.
396
+ :param BackendConfigCmpv2Args args: The arguments to use to populate this resource's properties.
397
+ :param pulumi.ResourceOptions opts: Options for the resource.
398
+ """
399
+ ...
400
+ def __init__(__self__, resource_name: str, *args, **kwargs):
401
+ resource_args, opts = _utilities.get_resource_args_opts(BackendConfigCmpv2Args, pulumi.ResourceOptions, *args, **kwargs)
402
+ if resource_args is not None:
403
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
404
+ else:
405
+ __self__._internal_init(resource_name, *args, **kwargs)
406
+
407
+ def _internal_init(__self__,
408
+ resource_name: str,
409
+ opts: Optional[pulumi.ResourceOptions] = None,
410
+ audit_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
411
+ authenticators: Optional[pulumi.Input[Union['BackendConfigCmpv2AuthenticatorsArgs', 'BackendConfigCmpv2AuthenticatorsArgsDict']]] = None,
412
+ backend: Optional[pulumi.Input[str]] = None,
413
+ default_path_policy: Optional[pulumi.Input[str]] = None,
414
+ disabled_validations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
415
+ enable_sentinel_parsing: Optional[pulumi.Input[bool]] = None,
416
+ enabled: Optional[pulumi.Input[bool]] = None,
417
+ namespace: Optional[pulumi.Input[str]] = None,
418
+ __props__=None):
419
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
420
+ if not isinstance(opts, pulumi.ResourceOptions):
421
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
422
+ if opts.id is None:
423
+ if __props__ is not None:
424
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
425
+ __props__ = BackendConfigCmpv2Args.__new__(BackendConfigCmpv2Args)
426
+
427
+ __props__.__dict__["audit_fields"] = audit_fields
428
+ __props__.__dict__["authenticators"] = authenticators
429
+ if backend is None and not opts.urn:
430
+ raise TypeError("Missing required property 'backend'")
431
+ __props__.__dict__["backend"] = backend
432
+ __props__.__dict__["default_path_policy"] = default_path_policy
433
+ __props__.__dict__["disabled_validations"] = disabled_validations
434
+ __props__.__dict__["enable_sentinel_parsing"] = enable_sentinel_parsing
435
+ __props__.__dict__["enabled"] = enabled
436
+ __props__.__dict__["namespace"] = namespace
437
+ __props__.__dict__["last_updated"] = None
438
+ super(BackendConfigCmpv2, __self__).__init__(
439
+ 'vault:pkiSecret/backendConfigCmpv2:BackendConfigCmpv2',
440
+ resource_name,
441
+ __props__,
442
+ opts)
443
+
444
+ @staticmethod
445
+ def get(resource_name: str,
446
+ id: pulumi.Input[str],
447
+ opts: Optional[pulumi.ResourceOptions] = None,
448
+ audit_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
449
+ authenticators: Optional[pulumi.Input[Union['BackendConfigCmpv2AuthenticatorsArgs', 'BackendConfigCmpv2AuthenticatorsArgsDict']]] = None,
450
+ backend: Optional[pulumi.Input[str]] = None,
451
+ default_path_policy: Optional[pulumi.Input[str]] = None,
452
+ disabled_validations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
453
+ enable_sentinel_parsing: Optional[pulumi.Input[bool]] = None,
454
+ enabled: Optional[pulumi.Input[bool]] = None,
455
+ last_updated: Optional[pulumi.Input[str]] = None,
456
+ namespace: Optional[pulumi.Input[str]] = None) -> 'BackendConfigCmpv2':
457
+ """
458
+ Get an existing BackendConfigCmpv2 resource's state with the given name, id, and optional extra
459
+ properties used to qualify the lookup.
460
+
461
+ :param str resource_name: The unique name of the resulting resource.
462
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
463
+ :param pulumi.ResourceOptions opts: Options for the resource.
464
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] audit_fields: Fields parsed from the CSR that appear in the audit and can be used by sentinel policies.
465
+ :param pulumi.Input[Union['BackendConfigCmpv2AuthenticatorsArgs', 'BackendConfigCmpv2AuthenticatorsArgsDict']] authenticators: Lists the mount accessors CMPv2 should delegate authentication requests towards (see below for nested schema).
466
+ :param pulumi.Input[str] backend: The path to the PKI secret backend to
467
+ read the CMPv2 configuration from, with no leading or trailing `/`s.
468
+ :param pulumi.Input[str] default_path_policy: Specifies the behavior for requests using the non-role-qualified CMPv2 requests. Can be sign-verbatim or a role given by role:<role_name>.
469
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] disabled_validations: A comma-separated list of validations not to perform on CMPv2 messages.
470
+
471
+ <a id="nestedatt--authenticators"></a>
472
+ :param pulumi.Input[bool] enable_sentinel_parsing: If set, parse out fields from the provided CSR making them available for Sentinel policies.
473
+ :param pulumi.Input[bool] enabled: Specifies whether CMPv2 is enabled.
474
+ :param pulumi.Input[str] last_updated: A read-only timestamp representing the last time the configuration was updated.
475
+ :param pulumi.Input[str] namespace: The namespace of the target resource.
476
+ The value should not contain leading or trailing forward slashes.
477
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
478
+ *Available only for Vault Enterprise*.
479
+ """
480
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
481
+
482
+ __props__ = _BackendConfigCmpv2State.__new__(_BackendConfigCmpv2State)
483
+
484
+ __props__.__dict__["audit_fields"] = audit_fields
485
+ __props__.__dict__["authenticators"] = authenticators
486
+ __props__.__dict__["backend"] = backend
487
+ __props__.__dict__["default_path_policy"] = default_path_policy
488
+ __props__.__dict__["disabled_validations"] = disabled_validations
489
+ __props__.__dict__["enable_sentinel_parsing"] = enable_sentinel_parsing
490
+ __props__.__dict__["enabled"] = enabled
491
+ __props__.__dict__["last_updated"] = last_updated
492
+ __props__.__dict__["namespace"] = namespace
493
+ return BackendConfigCmpv2(resource_name, opts=opts, __props__=__props__)
494
+
495
+ @property
496
+ @pulumi.getter(name="auditFields")
497
+ def audit_fields(self) -> pulumi.Output[Sequence[str]]:
498
+ """
499
+ Fields parsed from the CSR that appear in the audit and can be used by sentinel policies.
500
+ """
501
+ return pulumi.get(self, "audit_fields")
502
+
503
+ @property
504
+ @pulumi.getter
505
+ def authenticators(self) -> pulumi.Output['outputs.BackendConfigCmpv2Authenticators']:
506
+ """
507
+ Lists the mount accessors CMPv2 should delegate authentication requests towards (see below for nested schema).
508
+ """
509
+ return pulumi.get(self, "authenticators")
510
+
511
+ @property
512
+ @pulumi.getter
513
+ def backend(self) -> pulumi.Output[str]:
514
+ """
515
+ The path to the PKI secret backend to
516
+ read the CMPv2 configuration from, with no leading or trailing `/`s.
517
+ """
518
+ return pulumi.get(self, "backend")
519
+
520
+ @property
521
+ @pulumi.getter(name="defaultPathPolicy")
522
+ def default_path_policy(self) -> pulumi.Output[Optional[str]]:
523
+ """
524
+ Specifies the behavior for requests using the non-role-qualified CMPv2 requests. Can be sign-verbatim or a role given by role:<role_name>.
525
+ """
526
+ return pulumi.get(self, "default_path_policy")
527
+
528
+ @property
529
+ @pulumi.getter(name="disabledValidations")
530
+ def disabled_validations(self) -> pulumi.Output[Optional[Sequence[str]]]:
531
+ """
532
+ A comma-separated list of validations not to perform on CMPv2 messages.
533
+
534
+ <a id="nestedatt--authenticators"></a>
535
+ """
536
+ return pulumi.get(self, "disabled_validations")
537
+
538
+ @property
539
+ @pulumi.getter(name="enableSentinelParsing")
540
+ def enable_sentinel_parsing(self) -> pulumi.Output[Optional[bool]]:
541
+ """
542
+ If set, parse out fields from the provided CSR making them available for Sentinel policies.
543
+ """
544
+ return pulumi.get(self, "enable_sentinel_parsing")
545
+
546
+ @property
547
+ @pulumi.getter
548
+ def enabled(self) -> pulumi.Output[Optional[bool]]:
549
+ """
550
+ Specifies whether CMPv2 is enabled.
551
+ """
552
+ return pulumi.get(self, "enabled")
553
+
554
+ @property
555
+ @pulumi.getter(name="lastUpdated")
556
+ def last_updated(self) -> pulumi.Output[str]:
557
+ """
558
+ A read-only timestamp representing the last time the configuration was updated.
559
+ """
560
+ return pulumi.get(self, "last_updated")
561
+
562
+ @property
563
+ @pulumi.getter
564
+ def namespace(self) -> pulumi.Output[Optional[str]]:
565
+ """
566
+ The namespace of the target resource.
567
+ The value should not contain leading or trailing forward slashes.
568
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
569
+ *Available only for Vault Enterprise*.
570
+ """
571
+ return pulumi.get(self, "namespace")
572
+