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.
- pulumi_vault/__init__.py +32 -0
- pulumi_vault/_utilities.py +8 -4
- pulumi_vault/aws/auth_backend_client.py +228 -4
- pulumi_vault/aws/auth_backend_sts_role.py +47 -0
- pulumi_vault/aws/secret_backend.py +395 -38
- pulumi_vault/aws/secret_backend_static_role.py +217 -0
- pulumi_vault/azure/auth_backend_config.py +257 -5
- pulumi_vault/azure/backend.py +249 -4
- pulumi_vault/database/_inputs.py +1740 -44
- pulumi_vault/database/outputs.py +1198 -18
- pulumi_vault/database/secret_backend_connection.py +220 -0
- pulumi_vault/database/secret_backend_static_role.py +143 -1
- pulumi_vault/database/secrets_mount.py +8 -0
- pulumi_vault/gcp/auth_backend.py +222 -2
- pulumi_vault/gcp/secret_backend.py +244 -4
- pulumi_vault/ldap/auth_backend.py +222 -2
- pulumi_vault/ldap/secret_backend.py +222 -2
- pulumi_vault/pkisecret/__init__.py +6 -0
- pulumi_vault/pkisecret/_inputs.py +34 -6
- pulumi_vault/pkisecret/backend_acme_eab.py +549 -0
- pulumi_vault/pkisecret/backend_config_acme.py +689 -0
- pulumi_vault/pkisecret/backend_config_auto_tidy.py +1376 -0
- pulumi_vault/pkisecret/backend_config_cmpv2.py +572 -0
- pulumi_vault/pkisecret/get_backend_cert_metadata.py +277 -0
- pulumi_vault/pkisecret/get_backend_config_cmpv2.py +226 -0
- pulumi_vault/pkisecret/get_backend_issuer.py +114 -1
- pulumi_vault/pkisecret/outputs.py +40 -4
- pulumi_vault/pkisecret/secret_backend_cert.py +148 -7
- pulumi_vault/pkisecret/secret_backend_crl_config.py +54 -0
- pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +141 -0
- pulumi_vault/pkisecret/secret_backend_issuer.py +265 -0
- pulumi_vault/pkisecret/secret_backend_role.py +299 -3
- pulumi_vault/pkisecret/secret_backend_root_cert.py +423 -0
- pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +581 -3
- pulumi_vault/pkisecret/secret_backend_sign.py +94 -0
- pulumi_vault/pulumi-plugin.json +1 -1
- pulumi_vault/ssh/__init__.py +1 -0
- pulumi_vault/ssh/get_secret_backend_sign.py +294 -0
- pulumi_vault/ssh/secret_backend_role.py +27 -0
- pulumi_vault/terraformcloud/secret_role.py +7 -7
- pulumi_vault/transit/__init__.py +2 -0
- pulumi_vault/transit/get_sign.py +324 -0
- pulumi_vault/transit/get_verify.py +354 -0
- pulumi_vault/transit/secret_backend_key.py +162 -0
- {pulumi_vault-6.5.0a1736850018.dist-info → pulumi_vault-6.6.0.dist-info}/METADATA +1 -1
- {pulumi_vault-6.5.0a1736850018.dist-info → pulumi_vault-6.6.0.dist-info}/RECORD +48 -39
- {pulumi_vault-6.5.0a1736850018.dist-info → pulumi_vault-6.6.0.dist-info}/WHEEL +1 -1
- {pulumi_vault-6.5.0a1736850018.dist-info → pulumi_vault-6.6.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,549 @@
|
|
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
|
+
|
17
|
+
__all__ = ['BackendAcmeEabArgs', 'BackendAcmeEab']
|
18
|
+
|
19
|
+
@pulumi.input_type
|
20
|
+
class BackendAcmeEabArgs:
|
21
|
+
def __init__(__self__, *,
|
22
|
+
backend: pulumi.Input[str],
|
23
|
+
issuer: Optional[pulumi.Input[str]] = None,
|
24
|
+
namespace: Optional[pulumi.Input[str]] = None,
|
25
|
+
role: Optional[pulumi.Input[str]] = None):
|
26
|
+
"""
|
27
|
+
The set of arguments for constructing a BackendAcmeEab resource.
|
28
|
+
:param pulumi.Input[str] backend: The path to the PKI secret backend to
|
29
|
+
create the EAB token within, with no leading or trailing `/`s.
|
30
|
+
:param pulumi.Input[str] issuer: Create an EAB token that is specific to an issuer's ACME directory.
|
31
|
+
:param pulumi.Input[str] namespace: The namespace of the target resource.
|
32
|
+
The value should not contain leading or trailing forward slashes.
|
33
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
34
|
+
*Available only for Vault Enterprise*.
|
35
|
+
:param pulumi.Input[str] role: Create an EAB token that is specific to a role's ACME directory.
|
36
|
+
|
37
|
+
**NOTE**: Within Vault ACME there are different ACME directories which an EAB token is associated with;
|
38
|
+
|
39
|
+
1. Default directory (`pki/acme/`) - Do not specify a value for issuer nor role parameters.
|
40
|
+
2. Issuer specific (`pki/issuer/:issuer_ref/acme/`) - Specify a value for the issuer parameter
|
41
|
+
3. Role specific (`pki/roles/:role/acme/`) - Specify a value for the role parameter
|
42
|
+
4. Issuer and Role specific (`pki/issuer/:issuer_ref/roles/:role/acme/`) - Specify a value for both the issuer and role parameters
|
43
|
+
"""
|
44
|
+
pulumi.set(__self__, "backend", backend)
|
45
|
+
if issuer is not None:
|
46
|
+
pulumi.set(__self__, "issuer", issuer)
|
47
|
+
if namespace is not None:
|
48
|
+
pulumi.set(__self__, "namespace", namespace)
|
49
|
+
if role is not None:
|
50
|
+
pulumi.set(__self__, "role", role)
|
51
|
+
|
52
|
+
@property
|
53
|
+
@pulumi.getter
|
54
|
+
def backend(self) -> pulumi.Input[str]:
|
55
|
+
"""
|
56
|
+
The path to the PKI secret backend to
|
57
|
+
create the EAB token within, with no leading or trailing `/`s.
|
58
|
+
"""
|
59
|
+
return pulumi.get(self, "backend")
|
60
|
+
|
61
|
+
@backend.setter
|
62
|
+
def backend(self, value: pulumi.Input[str]):
|
63
|
+
pulumi.set(self, "backend", value)
|
64
|
+
|
65
|
+
@property
|
66
|
+
@pulumi.getter
|
67
|
+
def issuer(self) -> Optional[pulumi.Input[str]]:
|
68
|
+
"""
|
69
|
+
Create an EAB token that is specific to an issuer's ACME directory.
|
70
|
+
"""
|
71
|
+
return pulumi.get(self, "issuer")
|
72
|
+
|
73
|
+
@issuer.setter
|
74
|
+
def issuer(self, value: Optional[pulumi.Input[str]]):
|
75
|
+
pulumi.set(self, "issuer", value)
|
76
|
+
|
77
|
+
@property
|
78
|
+
@pulumi.getter
|
79
|
+
def namespace(self) -> Optional[pulumi.Input[str]]:
|
80
|
+
"""
|
81
|
+
The namespace of the target resource.
|
82
|
+
The value should not contain leading or trailing forward slashes.
|
83
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
84
|
+
*Available only for Vault Enterprise*.
|
85
|
+
"""
|
86
|
+
return pulumi.get(self, "namespace")
|
87
|
+
|
88
|
+
@namespace.setter
|
89
|
+
def namespace(self, value: Optional[pulumi.Input[str]]):
|
90
|
+
pulumi.set(self, "namespace", value)
|
91
|
+
|
92
|
+
@property
|
93
|
+
@pulumi.getter
|
94
|
+
def role(self) -> Optional[pulumi.Input[str]]:
|
95
|
+
"""
|
96
|
+
Create an EAB token that is specific to a role's ACME directory.
|
97
|
+
|
98
|
+
**NOTE**: Within Vault ACME there are different ACME directories which an EAB token is associated with;
|
99
|
+
|
100
|
+
1. Default directory (`pki/acme/`) - Do not specify a value for issuer nor role parameters.
|
101
|
+
2. Issuer specific (`pki/issuer/:issuer_ref/acme/`) - Specify a value for the issuer parameter
|
102
|
+
3. Role specific (`pki/roles/:role/acme/`) - Specify a value for the role parameter
|
103
|
+
4. Issuer and Role specific (`pki/issuer/:issuer_ref/roles/:role/acme/`) - Specify a value for both the issuer and role parameters
|
104
|
+
"""
|
105
|
+
return pulumi.get(self, "role")
|
106
|
+
|
107
|
+
@role.setter
|
108
|
+
def role(self, value: Optional[pulumi.Input[str]]):
|
109
|
+
pulumi.set(self, "role", value)
|
110
|
+
|
111
|
+
|
112
|
+
@pulumi.input_type
|
113
|
+
class _BackendAcmeEabState:
|
114
|
+
def __init__(__self__, *,
|
115
|
+
acme_directory: Optional[pulumi.Input[str]] = None,
|
116
|
+
backend: Optional[pulumi.Input[str]] = None,
|
117
|
+
created_on: Optional[pulumi.Input[str]] = None,
|
118
|
+
eab_id: Optional[pulumi.Input[str]] = None,
|
119
|
+
issuer: Optional[pulumi.Input[str]] = None,
|
120
|
+
key: Optional[pulumi.Input[str]] = None,
|
121
|
+
key_type: Optional[pulumi.Input[str]] = None,
|
122
|
+
namespace: Optional[pulumi.Input[str]] = None,
|
123
|
+
role: Optional[pulumi.Input[str]] = None):
|
124
|
+
"""
|
125
|
+
Input properties used for looking up and filtering BackendAcmeEab resources.
|
126
|
+
:param pulumi.Input[str] acme_directory: The ACME directory to which the key belongs
|
127
|
+
:param pulumi.Input[str] backend: The path to the PKI secret backend to
|
128
|
+
create the EAB token within, with no leading or trailing `/`s.
|
129
|
+
:param pulumi.Input[str] created_on: An RFC3339 formatted date time when the EAB token was created
|
130
|
+
:param pulumi.Input[str] eab_id: The identifier of a specific ACME EAB token
|
131
|
+
:param pulumi.Input[str] issuer: Create an EAB token that is specific to an issuer's ACME directory.
|
132
|
+
:param pulumi.Input[str] key: The EAB token
|
133
|
+
:param pulumi.Input[str] key_type: The key type of the EAB key
|
134
|
+
:param pulumi.Input[str] namespace: The namespace of the target resource.
|
135
|
+
The value should not contain leading or trailing forward slashes.
|
136
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
137
|
+
*Available only for Vault Enterprise*.
|
138
|
+
:param pulumi.Input[str] role: Create an EAB token that is specific to a role's ACME directory.
|
139
|
+
|
140
|
+
**NOTE**: Within Vault ACME there are different ACME directories which an EAB token is associated with;
|
141
|
+
|
142
|
+
1. Default directory (`pki/acme/`) - Do not specify a value for issuer nor role parameters.
|
143
|
+
2. Issuer specific (`pki/issuer/:issuer_ref/acme/`) - Specify a value for the issuer parameter
|
144
|
+
3. Role specific (`pki/roles/:role/acme/`) - Specify a value for the role parameter
|
145
|
+
4. Issuer and Role specific (`pki/issuer/:issuer_ref/roles/:role/acme/`) - Specify a value for both the issuer and role parameters
|
146
|
+
"""
|
147
|
+
if acme_directory is not None:
|
148
|
+
pulumi.set(__self__, "acme_directory", acme_directory)
|
149
|
+
if backend is not None:
|
150
|
+
pulumi.set(__self__, "backend", backend)
|
151
|
+
if created_on is not None:
|
152
|
+
pulumi.set(__self__, "created_on", created_on)
|
153
|
+
if eab_id is not None:
|
154
|
+
pulumi.set(__self__, "eab_id", eab_id)
|
155
|
+
if issuer is not None:
|
156
|
+
pulumi.set(__self__, "issuer", issuer)
|
157
|
+
if key is not None:
|
158
|
+
pulumi.set(__self__, "key", key)
|
159
|
+
if key_type is not None:
|
160
|
+
pulumi.set(__self__, "key_type", key_type)
|
161
|
+
if namespace is not None:
|
162
|
+
pulumi.set(__self__, "namespace", namespace)
|
163
|
+
if role is not None:
|
164
|
+
pulumi.set(__self__, "role", role)
|
165
|
+
|
166
|
+
@property
|
167
|
+
@pulumi.getter(name="acmeDirectory")
|
168
|
+
def acme_directory(self) -> Optional[pulumi.Input[str]]:
|
169
|
+
"""
|
170
|
+
The ACME directory to which the key belongs
|
171
|
+
"""
|
172
|
+
return pulumi.get(self, "acme_directory")
|
173
|
+
|
174
|
+
@acme_directory.setter
|
175
|
+
def acme_directory(self, value: Optional[pulumi.Input[str]]):
|
176
|
+
pulumi.set(self, "acme_directory", value)
|
177
|
+
|
178
|
+
@property
|
179
|
+
@pulumi.getter
|
180
|
+
def backend(self) -> Optional[pulumi.Input[str]]:
|
181
|
+
"""
|
182
|
+
The path to the PKI secret backend to
|
183
|
+
create the EAB token within, with no leading or trailing `/`s.
|
184
|
+
"""
|
185
|
+
return pulumi.get(self, "backend")
|
186
|
+
|
187
|
+
@backend.setter
|
188
|
+
def backend(self, value: Optional[pulumi.Input[str]]):
|
189
|
+
pulumi.set(self, "backend", value)
|
190
|
+
|
191
|
+
@property
|
192
|
+
@pulumi.getter(name="createdOn")
|
193
|
+
def created_on(self) -> Optional[pulumi.Input[str]]:
|
194
|
+
"""
|
195
|
+
An RFC3339 formatted date time when the EAB token was created
|
196
|
+
"""
|
197
|
+
return pulumi.get(self, "created_on")
|
198
|
+
|
199
|
+
@created_on.setter
|
200
|
+
def created_on(self, value: Optional[pulumi.Input[str]]):
|
201
|
+
pulumi.set(self, "created_on", value)
|
202
|
+
|
203
|
+
@property
|
204
|
+
@pulumi.getter(name="eabId")
|
205
|
+
def eab_id(self) -> Optional[pulumi.Input[str]]:
|
206
|
+
"""
|
207
|
+
The identifier of a specific ACME EAB token
|
208
|
+
"""
|
209
|
+
return pulumi.get(self, "eab_id")
|
210
|
+
|
211
|
+
@eab_id.setter
|
212
|
+
def eab_id(self, value: Optional[pulumi.Input[str]]):
|
213
|
+
pulumi.set(self, "eab_id", value)
|
214
|
+
|
215
|
+
@property
|
216
|
+
@pulumi.getter
|
217
|
+
def issuer(self) -> Optional[pulumi.Input[str]]:
|
218
|
+
"""
|
219
|
+
Create an EAB token that is specific to an issuer's ACME directory.
|
220
|
+
"""
|
221
|
+
return pulumi.get(self, "issuer")
|
222
|
+
|
223
|
+
@issuer.setter
|
224
|
+
def issuer(self, value: Optional[pulumi.Input[str]]):
|
225
|
+
pulumi.set(self, "issuer", value)
|
226
|
+
|
227
|
+
@property
|
228
|
+
@pulumi.getter
|
229
|
+
def key(self) -> Optional[pulumi.Input[str]]:
|
230
|
+
"""
|
231
|
+
The EAB token
|
232
|
+
"""
|
233
|
+
return pulumi.get(self, "key")
|
234
|
+
|
235
|
+
@key.setter
|
236
|
+
def key(self, value: Optional[pulumi.Input[str]]):
|
237
|
+
pulumi.set(self, "key", value)
|
238
|
+
|
239
|
+
@property
|
240
|
+
@pulumi.getter(name="keyType")
|
241
|
+
def key_type(self) -> Optional[pulumi.Input[str]]:
|
242
|
+
"""
|
243
|
+
The key type of the EAB key
|
244
|
+
"""
|
245
|
+
return pulumi.get(self, "key_type")
|
246
|
+
|
247
|
+
@key_type.setter
|
248
|
+
def key_type(self, value: Optional[pulumi.Input[str]]):
|
249
|
+
pulumi.set(self, "key_type", value)
|
250
|
+
|
251
|
+
@property
|
252
|
+
@pulumi.getter
|
253
|
+
def namespace(self) -> Optional[pulumi.Input[str]]:
|
254
|
+
"""
|
255
|
+
The namespace of the target resource.
|
256
|
+
The value should not contain leading or trailing forward slashes.
|
257
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
258
|
+
*Available only for Vault Enterprise*.
|
259
|
+
"""
|
260
|
+
return pulumi.get(self, "namespace")
|
261
|
+
|
262
|
+
@namespace.setter
|
263
|
+
def namespace(self, value: Optional[pulumi.Input[str]]):
|
264
|
+
pulumi.set(self, "namespace", value)
|
265
|
+
|
266
|
+
@property
|
267
|
+
@pulumi.getter
|
268
|
+
def role(self) -> Optional[pulumi.Input[str]]:
|
269
|
+
"""
|
270
|
+
Create an EAB token that is specific to a role's ACME directory.
|
271
|
+
|
272
|
+
**NOTE**: Within Vault ACME there are different ACME directories which an EAB token is associated with;
|
273
|
+
|
274
|
+
1. Default directory (`pki/acme/`) - Do not specify a value for issuer nor role parameters.
|
275
|
+
2. Issuer specific (`pki/issuer/:issuer_ref/acme/`) - Specify a value for the issuer parameter
|
276
|
+
3. Role specific (`pki/roles/:role/acme/`) - Specify a value for the role parameter
|
277
|
+
4. Issuer and Role specific (`pki/issuer/:issuer_ref/roles/:role/acme/`) - Specify a value for both the issuer and role parameters
|
278
|
+
"""
|
279
|
+
return pulumi.get(self, "role")
|
280
|
+
|
281
|
+
@role.setter
|
282
|
+
def role(self, value: Optional[pulumi.Input[str]]):
|
283
|
+
pulumi.set(self, "role", value)
|
284
|
+
|
285
|
+
|
286
|
+
class BackendAcmeEab(pulumi.CustomResource):
|
287
|
+
@overload
|
288
|
+
def __init__(__self__,
|
289
|
+
resource_name: str,
|
290
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
291
|
+
backend: Optional[pulumi.Input[str]] = None,
|
292
|
+
issuer: Optional[pulumi.Input[str]] = None,
|
293
|
+
namespace: Optional[pulumi.Input[str]] = None,
|
294
|
+
role: Optional[pulumi.Input[str]] = None,
|
295
|
+
__props__=None):
|
296
|
+
"""
|
297
|
+
Allows creating ACME EAB (External Account Binding) tokens and deleting unused ones.
|
298
|
+
|
299
|
+
## Example Usage
|
300
|
+
|
301
|
+
```python
|
302
|
+
import pulumi
|
303
|
+
import pulumi_vault as vault
|
304
|
+
|
305
|
+
test = vault.Mount("test",
|
306
|
+
path="pki",
|
307
|
+
type="pki",
|
308
|
+
description="PKI secret engine mount")
|
309
|
+
test_backend_acme_eab = vault.pki_secret.BackendAcmeEab("test", backend=test.path)
|
310
|
+
```
|
311
|
+
|
312
|
+
## Import
|
313
|
+
|
314
|
+
As EAB tokens are only available on initial creation there is no possibility to
|
315
|
+
|
316
|
+
import or update this resource.
|
317
|
+
|
318
|
+
:param str resource_name: The name of the resource.
|
319
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
320
|
+
:param pulumi.Input[str] backend: The path to the PKI secret backend to
|
321
|
+
create the EAB token within, with no leading or trailing `/`s.
|
322
|
+
:param pulumi.Input[str] issuer: Create an EAB token that is specific to an issuer's ACME directory.
|
323
|
+
:param pulumi.Input[str] namespace: The namespace of the target resource.
|
324
|
+
The value should not contain leading or trailing forward slashes.
|
325
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
326
|
+
*Available only for Vault Enterprise*.
|
327
|
+
:param pulumi.Input[str] role: Create an EAB token that is specific to a role's ACME directory.
|
328
|
+
|
329
|
+
**NOTE**: Within Vault ACME there are different ACME directories which an EAB token is associated with;
|
330
|
+
|
331
|
+
1. Default directory (`pki/acme/`) - Do not specify a value for issuer nor role parameters.
|
332
|
+
2. Issuer specific (`pki/issuer/:issuer_ref/acme/`) - Specify a value for the issuer parameter
|
333
|
+
3. Role specific (`pki/roles/:role/acme/`) - Specify a value for the role parameter
|
334
|
+
4. Issuer and Role specific (`pki/issuer/:issuer_ref/roles/:role/acme/`) - Specify a value for both the issuer and role parameters
|
335
|
+
"""
|
336
|
+
...
|
337
|
+
@overload
|
338
|
+
def __init__(__self__,
|
339
|
+
resource_name: str,
|
340
|
+
args: BackendAcmeEabArgs,
|
341
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
342
|
+
"""
|
343
|
+
Allows creating ACME EAB (External Account Binding) tokens and deleting unused ones.
|
344
|
+
|
345
|
+
## Example Usage
|
346
|
+
|
347
|
+
```python
|
348
|
+
import pulumi
|
349
|
+
import pulumi_vault as vault
|
350
|
+
|
351
|
+
test = vault.Mount("test",
|
352
|
+
path="pki",
|
353
|
+
type="pki",
|
354
|
+
description="PKI secret engine mount")
|
355
|
+
test_backend_acme_eab = vault.pki_secret.BackendAcmeEab("test", backend=test.path)
|
356
|
+
```
|
357
|
+
|
358
|
+
## Import
|
359
|
+
|
360
|
+
As EAB tokens are only available on initial creation there is no possibility to
|
361
|
+
|
362
|
+
import or update this resource.
|
363
|
+
|
364
|
+
:param str resource_name: The name of the resource.
|
365
|
+
:param BackendAcmeEabArgs args: The arguments to use to populate this resource's properties.
|
366
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
367
|
+
"""
|
368
|
+
...
|
369
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
370
|
+
resource_args, opts = _utilities.get_resource_args_opts(BackendAcmeEabArgs, pulumi.ResourceOptions, *args, **kwargs)
|
371
|
+
if resource_args is not None:
|
372
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
373
|
+
else:
|
374
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
375
|
+
|
376
|
+
def _internal_init(__self__,
|
377
|
+
resource_name: str,
|
378
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
379
|
+
backend: Optional[pulumi.Input[str]] = None,
|
380
|
+
issuer: Optional[pulumi.Input[str]] = None,
|
381
|
+
namespace: Optional[pulumi.Input[str]] = None,
|
382
|
+
role: Optional[pulumi.Input[str]] = None,
|
383
|
+
__props__=None):
|
384
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
385
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
386
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
387
|
+
if opts.id is None:
|
388
|
+
if __props__ is not None:
|
389
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
390
|
+
__props__ = BackendAcmeEabArgs.__new__(BackendAcmeEabArgs)
|
391
|
+
|
392
|
+
if backend is None and not opts.urn:
|
393
|
+
raise TypeError("Missing required property 'backend'")
|
394
|
+
__props__.__dict__["backend"] = backend
|
395
|
+
__props__.__dict__["issuer"] = issuer
|
396
|
+
__props__.__dict__["namespace"] = namespace
|
397
|
+
__props__.__dict__["role"] = role
|
398
|
+
__props__.__dict__["acme_directory"] = None
|
399
|
+
__props__.__dict__["created_on"] = None
|
400
|
+
__props__.__dict__["eab_id"] = None
|
401
|
+
__props__.__dict__["key"] = None
|
402
|
+
__props__.__dict__["key_type"] = None
|
403
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["key"])
|
404
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
405
|
+
super(BackendAcmeEab, __self__).__init__(
|
406
|
+
'vault:pkiSecret/backendAcmeEab:BackendAcmeEab',
|
407
|
+
resource_name,
|
408
|
+
__props__,
|
409
|
+
opts)
|
410
|
+
|
411
|
+
@staticmethod
|
412
|
+
def get(resource_name: str,
|
413
|
+
id: pulumi.Input[str],
|
414
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
415
|
+
acme_directory: Optional[pulumi.Input[str]] = None,
|
416
|
+
backend: Optional[pulumi.Input[str]] = None,
|
417
|
+
created_on: Optional[pulumi.Input[str]] = None,
|
418
|
+
eab_id: Optional[pulumi.Input[str]] = None,
|
419
|
+
issuer: Optional[pulumi.Input[str]] = None,
|
420
|
+
key: Optional[pulumi.Input[str]] = None,
|
421
|
+
key_type: Optional[pulumi.Input[str]] = None,
|
422
|
+
namespace: Optional[pulumi.Input[str]] = None,
|
423
|
+
role: Optional[pulumi.Input[str]] = None) -> 'BackendAcmeEab':
|
424
|
+
"""
|
425
|
+
Get an existing BackendAcmeEab resource's state with the given name, id, and optional extra
|
426
|
+
properties used to qualify the lookup.
|
427
|
+
|
428
|
+
:param str resource_name: The unique name of the resulting resource.
|
429
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
430
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
431
|
+
:param pulumi.Input[str] acme_directory: The ACME directory to which the key belongs
|
432
|
+
:param pulumi.Input[str] backend: The path to the PKI secret backend to
|
433
|
+
create the EAB token within, with no leading or trailing `/`s.
|
434
|
+
:param pulumi.Input[str] created_on: An RFC3339 formatted date time when the EAB token was created
|
435
|
+
:param pulumi.Input[str] eab_id: The identifier of a specific ACME EAB token
|
436
|
+
:param pulumi.Input[str] issuer: Create an EAB token that is specific to an issuer's ACME directory.
|
437
|
+
:param pulumi.Input[str] key: The EAB token
|
438
|
+
:param pulumi.Input[str] key_type: The key type of the EAB key
|
439
|
+
:param pulumi.Input[str] namespace: The namespace of the target resource.
|
440
|
+
The value should not contain leading or trailing forward slashes.
|
441
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
442
|
+
*Available only for Vault Enterprise*.
|
443
|
+
:param pulumi.Input[str] role: Create an EAB token that is specific to a role's ACME directory.
|
444
|
+
|
445
|
+
**NOTE**: Within Vault ACME there are different ACME directories which an EAB token is associated with;
|
446
|
+
|
447
|
+
1. Default directory (`pki/acme/`) - Do not specify a value for issuer nor role parameters.
|
448
|
+
2. Issuer specific (`pki/issuer/:issuer_ref/acme/`) - Specify a value for the issuer parameter
|
449
|
+
3. Role specific (`pki/roles/:role/acme/`) - Specify a value for the role parameter
|
450
|
+
4. Issuer and Role specific (`pki/issuer/:issuer_ref/roles/:role/acme/`) - Specify a value for both the issuer and role parameters
|
451
|
+
"""
|
452
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
453
|
+
|
454
|
+
__props__ = _BackendAcmeEabState.__new__(_BackendAcmeEabState)
|
455
|
+
|
456
|
+
__props__.__dict__["acme_directory"] = acme_directory
|
457
|
+
__props__.__dict__["backend"] = backend
|
458
|
+
__props__.__dict__["created_on"] = created_on
|
459
|
+
__props__.__dict__["eab_id"] = eab_id
|
460
|
+
__props__.__dict__["issuer"] = issuer
|
461
|
+
__props__.__dict__["key"] = key
|
462
|
+
__props__.__dict__["key_type"] = key_type
|
463
|
+
__props__.__dict__["namespace"] = namespace
|
464
|
+
__props__.__dict__["role"] = role
|
465
|
+
return BackendAcmeEab(resource_name, opts=opts, __props__=__props__)
|
466
|
+
|
467
|
+
@property
|
468
|
+
@pulumi.getter(name="acmeDirectory")
|
469
|
+
def acme_directory(self) -> pulumi.Output[str]:
|
470
|
+
"""
|
471
|
+
The ACME directory to which the key belongs
|
472
|
+
"""
|
473
|
+
return pulumi.get(self, "acme_directory")
|
474
|
+
|
475
|
+
@property
|
476
|
+
@pulumi.getter
|
477
|
+
def backend(self) -> pulumi.Output[str]:
|
478
|
+
"""
|
479
|
+
The path to the PKI secret backend to
|
480
|
+
create the EAB token within, with no leading or trailing `/`s.
|
481
|
+
"""
|
482
|
+
return pulumi.get(self, "backend")
|
483
|
+
|
484
|
+
@property
|
485
|
+
@pulumi.getter(name="createdOn")
|
486
|
+
def created_on(self) -> pulumi.Output[str]:
|
487
|
+
"""
|
488
|
+
An RFC3339 formatted date time when the EAB token was created
|
489
|
+
"""
|
490
|
+
return pulumi.get(self, "created_on")
|
491
|
+
|
492
|
+
@property
|
493
|
+
@pulumi.getter(name="eabId")
|
494
|
+
def eab_id(self) -> pulumi.Output[str]:
|
495
|
+
"""
|
496
|
+
The identifier of a specific ACME EAB token
|
497
|
+
"""
|
498
|
+
return pulumi.get(self, "eab_id")
|
499
|
+
|
500
|
+
@property
|
501
|
+
@pulumi.getter
|
502
|
+
def issuer(self) -> pulumi.Output[Optional[str]]:
|
503
|
+
"""
|
504
|
+
Create an EAB token that is specific to an issuer's ACME directory.
|
505
|
+
"""
|
506
|
+
return pulumi.get(self, "issuer")
|
507
|
+
|
508
|
+
@property
|
509
|
+
@pulumi.getter
|
510
|
+
def key(self) -> pulumi.Output[str]:
|
511
|
+
"""
|
512
|
+
The EAB token
|
513
|
+
"""
|
514
|
+
return pulumi.get(self, "key")
|
515
|
+
|
516
|
+
@property
|
517
|
+
@pulumi.getter(name="keyType")
|
518
|
+
def key_type(self) -> pulumi.Output[str]:
|
519
|
+
"""
|
520
|
+
The key type of the EAB key
|
521
|
+
"""
|
522
|
+
return pulumi.get(self, "key_type")
|
523
|
+
|
524
|
+
@property
|
525
|
+
@pulumi.getter
|
526
|
+
def namespace(self) -> pulumi.Output[Optional[str]]:
|
527
|
+
"""
|
528
|
+
The namespace of the target resource.
|
529
|
+
The value should not contain leading or trailing forward slashes.
|
530
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
531
|
+
*Available only for Vault Enterprise*.
|
532
|
+
"""
|
533
|
+
return pulumi.get(self, "namespace")
|
534
|
+
|
535
|
+
@property
|
536
|
+
@pulumi.getter
|
537
|
+
def role(self) -> pulumi.Output[Optional[str]]:
|
538
|
+
"""
|
539
|
+
Create an EAB token that is specific to a role's ACME directory.
|
540
|
+
|
541
|
+
**NOTE**: Within Vault ACME there are different ACME directories which an EAB token is associated with;
|
542
|
+
|
543
|
+
1. Default directory (`pki/acme/`) - Do not specify a value for issuer nor role parameters.
|
544
|
+
2. Issuer specific (`pki/issuer/:issuer_ref/acme/`) - Specify a value for the issuer parameter
|
545
|
+
3. Role specific (`pki/roles/:role/acme/`) - Specify a value for the role parameter
|
546
|
+
4. Issuer and Role specific (`pki/issuer/:issuer_ref/roles/:role/acme/`) - Specify a value for both the issuer and role parameters
|
547
|
+
"""
|
548
|
+
return pulumi.get(self, "role")
|
549
|
+
|