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.
- pulumi_vault/__init__.py +26 -0
- pulumi_vault/_inputs.py +20 -0
- pulumi_vault/_utilities.py +40 -4
- pulumi_vault/auth_backend.py +47 -0
- pulumi_vault/aws/auth_backend_client.py +247 -7
- pulumi_vault/aws/secret_backend_role.py +169 -0
- pulumi_vault/azure/auth_backend_config.py +133 -0
- pulumi_vault/azure/backend.py +197 -0
- pulumi_vault/database/secrets_mount.py +282 -0
- pulumi_vault/gcp/auth_backend.py +244 -0
- pulumi_vault/gcp/secret_backend.py +271 -3
- pulumi_vault/generic/endpoint.py +6 -6
- pulumi_vault/identity/get_entity.py +2 -2
- pulumi_vault/jwt/auth_backend_role.py +28 -35
- pulumi_vault/kubernetes/secret_backend.py +282 -0
- pulumi_vault/ldap/secret_backend.py +282 -0
- pulumi_vault/mount.py +331 -0
- pulumi_vault/okta/auth_backend.py +441 -0
- pulumi_vault/outputs.py +20 -0
- pulumi_vault/pkisecret/__init__.py +2 -0
- pulumi_vault/pkisecret/_inputs.py +40 -0
- pulumi_vault/pkisecret/backend_config_est.py +614 -0
- pulumi_vault/pkisecret/get_backend_config_est.py +233 -0
- pulumi_vault/pkisecret/outputs.py +64 -0
- pulumi_vault/pkisecret/secret_backend_cert.py +2 -2
- pulumi_vault/pkisecret/secret_backend_config_ca.py +2 -2
- pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +2 -2
- pulumi_vault/pkisecret/secret_backend_root_cert.py +2 -2
- pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +2 -2
- pulumi_vault/pkisecret/secret_backend_sign.py +2 -2
- pulumi_vault/plugin.py +590 -0
- pulumi_vault/plugin_pinned_version.py +293 -0
- pulumi_vault/provider.py +1 -3
- pulumi_vault/pulumi-plugin.json +1 -1
- pulumi_vault/quota_lease_count.py +47 -0
- pulumi_vault/quota_rate_limit.py +47 -0
- pulumi_vault/ssh/secret_backend_ca.py +94 -0
- {pulumi_vault-6.2.0a1718953130.dist-info → pulumi_vault-6.3.0.dist-info}/METADATA +1 -1
- {pulumi_vault-6.2.0a1718953130.dist-info → pulumi_vault-6.3.0.dist-info}/RECORD +41 -37
- {pulumi_vault-6.2.0a1718953130.dist-info → pulumi_vault-6.3.0.dist-info}/WHEEL +1 -1
- {pulumi_vault-6.2.0a1718953130.dist-info → pulumi_vault-6.3.0.dist-info}/top_level.txt +0 -0
@@ -19,7 +19,11 @@ class AuthBackendClientArgs:
|
|
19
19
|
ec2_endpoint: Optional[pulumi.Input[str]] = None,
|
20
20
|
iam_endpoint: Optional[pulumi.Input[str]] = None,
|
21
21
|
iam_server_id_header_value: Optional[pulumi.Input[str]] = None,
|
22
|
+
identity_token_audience: Optional[pulumi.Input[str]] = None,
|
23
|
+
identity_token_ttl: Optional[pulumi.Input[int]] = None,
|
24
|
+
max_retries: Optional[pulumi.Input[int]] = None,
|
22
25
|
namespace: Optional[pulumi.Input[str]] = None,
|
26
|
+
role_arn: Optional[pulumi.Input[str]] = None,
|
23
27
|
secret_key: Optional[pulumi.Input[str]] = None,
|
24
28
|
sts_endpoint: Optional[pulumi.Input[str]] = None,
|
25
29
|
sts_region: Optional[pulumi.Input[str]] = None,
|
@@ -27,7 +31,7 @@ class AuthBackendClientArgs:
|
|
27
31
|
"""
|
28
32
|
The set of arguments for constructing a AuthBackendClient resource.
|
29
33
|
:param pulumi.Input[str] access_key: The AWS access key that Vault should use for the
|
30
|
-
auth backend.
|
34
|
+
auth backend. Mutually exclusive with `identity_token_audience`.
|
31
35
|
:param pulumi.Input[str] backend: The path the AWS auth backend being configured was
|
32
36
|
mounted at. Defaults to `aws`.
|
33
37
|
:param pulumi.Input[str] ec2_endpoint: Override the URL Vault uses when making EC2 API
|
@@ -37,10 +41,18 @@ class AuthBackendClientArgs:
|
|
37
41
|
:param pulumi.Input[str] iam_server_id_header_value: The value to require in the
|
38
42
|
`X-Vault-AWS-IAM-Server-ID` header as part of `GetCallerIdentity` requests
|
39
43
|
that are used in the IAM auth method.
|
44
|
+
:param pulumi.Input[str] identity_token_audience: The audience claim value. Mutually exclusive with `access_key`.
|
45
|
+
Requires Vault 1.17+. *Available only for Vault Enterprise*
|
46
|
+
:param pulumi.Input[int] identity_token_ttl: The TTL of generated identity tokens in seconds. Requires Vault 1.17+.
|
47
|
+
*Available only for Vault Enterprise*
|
48
|
+
:param pulumi.Input[int] max_retries: Number of max retries the client should use for recoverable errors.
|
49
|
+
The default `-1` falls back to the AWS SDK's default behavior.
|
40
50
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
41
51
|
The value should not contain leading or trailing forward slashes.
|
42
52
|
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
43
53
|
*Available only for Vault Enterprise*.
|
54
|
+
:param pulumi.Input[str] role_arn: Role ARN to assume for plugin identity token federation. Requires Vault 1.17+.
|
55
|
+
*Available only for Vault Enterprise*
|
44
56
|
:param pulumi.Input[str] secret_key: The AWS secret key that Vault should use for the
|
45
57
|
auth backend.
|
46
58
|
:param pulumi.Input[str] sts_endpoint: Override the URL Vault uses when making STS API
|
@@ -63,8 +75,16 @@ class AuthBackendClientArgs:
|
|
63
75
|
pulumi.set(__self__, "iam_endpoint", iam_endpoint)
|
64
76
|
if iam_server_id_header_value is not None:
|
65
77
|
pulumi.set(__self__, "iam_server_id_header_value", iam_server_id_header_value)
|
78
|
+
if identity_token_audience is not None:
|
79
|
+
pulumi.set(__self__, "identity_token_audience", identity_token_audience)
|
80
|
+
if identity_token_ttl is not None:
|
81
|
+
pulumi.set(__self__, "identity_token_ttl", identity_token_ttl)
|
82
|
+
if max_retries is not None:
|
83
|
+
pulumi.set(__self__, "max_retries", max_retries)
|
66
84
|
if namespace is not None:
|
67
85
|
pulumi.set(__self__, "namespace", namespace)
|
86
|
+
if role_arn is not None:
|
87
|
+
pulumi.set(__self__, "role_arn", role_arn)
|
68
88
|
if secret_key is not None:
|
69
89
|
pulumi.set(__self__, "secret_key", secret_key)
|
70
90
|
if sts_endpoint is not None:
|
@@ -79,7 +99,7 @@ class AuthBackendClientArgs:
|
|
79
99
|
def access_key(self) -> Optional[pulumi.Input[str]]:
|
80
100
|
"""
|
81
101
|
The AWS access key that Vault should use for the
|
82
|
-
auth backend.
|
102
|
+
auth backend. Mutually exclusive with `identity_token_audience`.
|
83
103
|
"""
|
84
104
|
return pulumi.get(self, "access_key")
|
85
105
|
|
@@ -140,6 +160,45 @@ class AuthBackendClientArgs:
|
|
140
160
|
def iam_server_id_header_value(self, value: Optional[pulumi.Input[str]]):
|
141
161
|
pulumi.set(self, "iam_server_id_header_value", value)
|
142
162
|
|
163
|
+
@property
|
164
|
+
@pulumi.getter(name="identityTokenAudience")
|
165
|
+
def identity_token_audience(self) -> Optional[pulumi.Input[str]]:
|
166
|
+
"""
|
167
|
+
The audience claim value. Mutually exclusive with `access_key`.
|
168
|
+
Requires Vault 1.17+. *Available only for Vault Enterprise*
|
169
|
+
"""
|
170
|
+
return pulumi.get(self, "identity_token_audience")
|
171
|
+
|
172
|
+
@identity_token_audience.setter
|
173
|
+
def identity_token_audience(self, value: Optional[pulumi.Input[str]]):
|
174
|
+
pulumi.set(self, "identity_token_audience", value)
|
175
|
+
|
176
|
+
@property
|
177
|
+
@pulumi.getter(name="identityTokenTtl")
|
178
|
+
def identity_token_ttl(self) -> Optional[pulumi.Input[int]]:
|
179
|
+
"""
|
180
|
+
The TTL of generated identity tokens in seconds. Requires Vault 1.17+.
|
181
|
+
*Available only for Vault Enterprise*
|
182
|
+
"""
|
183
|
+
return pulumi.get(self, "identity_token_ttl")
|
184
|
+
|
185
|
+
@identity_token_ttl.setter
|
186
|
+
def identity_token_ttl(self, value: Optional[pulumi.Input[int]]):
|
187
|
+
pulumi.set(self, "identity_token_ttl", value)
|
188
|
+
|
189
|
+
@property
|
190
|
+
@pulumi.getter(name="maxRetries")
|
191
|
+
def max_retries(self) -> Optional[pulumi.Input[int]]:
|
192
|
+
"""
|
193
|
+
Number of max retries the client should use for recoverable errors.
|
194
|
+
The default `-1` falls back to the AWS SDK's default behavior.
|
195
|
+
"""
|
196
|
+
return pulumi.get(self, "max_retries")
|
197
|
+
|
198
|
+
@max_retries.setter
|
199
|
+
def max_retries(self, value: Optional[pulumi.Input[int]]):
|
200
|
+
pulumi.set(self, "max_retries", value)
|
201
|
+
|
143
202
|
@property
|
144
203
|
@pulumi.getter
|
145
204
|
def namespace(self) -> Optional[pulumi.Input[str]]:
|
@@ -155,6 +214,19 @@ class AuthBackendClientArgs:
|
|
155
214
|
def namespace(self, value: Optional[pulumi.Input[str]]):
|
156
215
|
pulumi.set(self, "namespace", value)
|
157
216
|
|
217
|
+
@property
|
218
|
+
@pulumi.getter(name="roleArn")
|
219
|
+
def role_arn(self) -> Optional[pulumi.Input[str]]:
|
220
|
+
"""
|
221
|
+
Role ARN to assume for plugin identity token federation. Requires Vault 1.17+.
|
222
|
+
*Available only for Vault Enterprise*
|
223
|
+
"""
|
224
|
+
return pulumi.get(self, "role_arn")
|
225
|
+
|
226
|
+
@role_arn.setter
|
227
|
+
def role_arn(self, value: Optional[pulumi.Input[str]]):
|
228
|
+
pulumi.set(self, "role_arn", value)
|
229
|
+
|
158
230
|
@property
|
159
231
|
@pulumi.getter(name="secretKey")
|
160
232
|
def secret_key(self) -> Optional[pulumi.Input[str]]:
|
@@ -219,7 +291,11 @@ class _AuthBackendClientState:
|
|
219
291
|
ec2_endpoint: Optional[pulumi.Input[str]] = None,
|
220
292
|
iam_endpoint: Optional[pulumi.Input[str]] = None,
|
221
293
|
iam_server_id_header_value: Optional[pulumi.Input[str]] = None,
|
294
|
+
identity_token_audience: Optional[pulumi.Input[str]] = None,
|
295
|
+
identity_token_ttl: Optional[pulumi.Input[int]] = None,
|
296
|
+
max_retries: Optional[pulumi.Input[int]] = None,
|
222
297
|
namespace: Optional[pulumi.Input[str]] = None,
|
298
|
+
role_arn: Optional[pulumi.Input[str]] = None,
|
223
299
|
secret_key: Optional[pulumi.Input[str]] = None,
|
224
300
|
sts_endpoint: Optional[pulumi.Input[str]] = None,
|
225
301
|
sts_region: Optional[pulumi.Input[str]] = None,
|
@@ -227,7 +303,7 @@ class _AuthBackendClientState:
|
|
227
303
|
"""
|
228
304
|
Input properties used for looking up and filtering AuthBackendClient resources.
|
229
305
|
:param pulumi.Input[str] access_key: The AWS access key that Vault should use for the
|
230
|
-
auth backend.
|
306
|
+
auth backend. Mutually exclusive with `identity_token_audience`.
|
231
307
|
:param pulumi.Input[str] backend: The path the AWS auth backend being configured was
|
232
308
|
mounted at. Defaults to `aws`.
|
233
309
|
:param pulumi.Input[str] ec2_endpoint: Override the URL Vault uses when making EC2 API
|
@@ -237,10 +313,18 @@ class _AuthBackendClientState:
|
|
237
313
|
:param pulumi.Input[str] iam_server_id_header_value: The value to require in the
|
238
314
|
`X-Vault-AWS-IAM-Server-ID` header as part of `GetCallerIdentity` requests
|
239
315
|
that are used in the IAM auth method.
|
316
|
+
:param pulumi.Input[str] identity_token_audience: The audience claim value. Mutually exclusive with `access_key`.
|
317
|
+
Requires Vault 1.17+. *Available only for Vault Enterprise*
|
318
|
+
:param pulumi.Input[int] identity_token_ttl: The TTL of generated identity tokens in seconds. Requires Vault 1.17+.
|
319
|
+
*Available only for Vault Enterprise*
|
320
|
+
:param pulumi.Input[int] max_retries: Number of max retries the client should use for recoverable errors.
|
321
|
+
The default `-1` falls back to the AWS SDK's default behavior.
|
240
322
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
241
323
|
The value should not contain leading or trailing forward slashes.
|
242
324
|
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
243
325
|
*Available only for Vault Enterprise*.
|
326
|
+
:param pulumi.Input[str] role_arn: Role ARN to assume for plugin identity token federation. Requires Vault 1.17+.
|
327
|
+
*Available only for Vault Enterprise*
|
244
328
|
:param pulumi.Input[str] secret_key: The AWS secret key that Vault should use for the
|
245
329
|
auth backend.
|
246
330
|
:param pulumi.Input[str] sts_endpoint: Override the URL Vault uses when making STS API
|
@@ -263,8 +347,16 @@ class _AuthBackendClientState:
|
|
263
347
|
pulumi.set(__self__, "iam_endpoint", iam_endpoint)
|
264
348
|
if iam_server_id_header_value is not None:
|
265
349
|
pulumi.set(__self__, "iam_server_id_header_value", iam_server_id_header_value)
|
350
|
+
if identity_token_audience is not None:
|
351
|
+
pulumi.set(__self__, "identity_token_audience", identity_token_audience)
|
352
|
+
if identity_token_ttl is not None:
|
353
|
+
pulumi.set(__self__, "identity_token_ttl", identity_token_ttl)
|
354
|
+
if max_retries is not None:
|
355
|
+
pulumi.set(__self__, "max_retries", max_retries)
|
266
356
|
if namespace is not None:
|
267
357
|
pulumi.set(__self__, "namespace", namespace)
|
358
|
+
if role_arn is not None:
|
359
|
+
pulumi.set(__self__, "role_arn", role_arn)
|
268
360
|
if secret_key is not None:
|
269
361
|
pulumi.set(__self__, "secret_key", secret_key)
|
270
362
|
if sts_endpoint is not None:
|
@@ -279,7 +371,7 @@ class _AuthBackendClientState:
|
|
279
371
|
def access_key(self) -> Optional[pulumi.Input[str]]:
|
280
372
|
"""
|
281
373
|
The AWS access key that Vault should use for the
|
282
|
-
auth backend.
|
374
|
+
auth backend. Mutually exclusive with `identity_token_audience`.
|
283
375
|
"""
|
284
376
|
return pulumi.get(self, "access_key")
|
285
377
|
|
@@ -340,6 +432,45 @@ class _AuthBackendClientState:
|
|
340
432
|
def iam_server_id_header_value(self, value: Optional[pulumi.Input[str]]):
|
341
433
|
pulumi.set(self, "iam_server_id_header_value", value)
|
342
434
|
|
435
|
+
@property
|
436
|
+
@pulumi.getter(name="identityTokenAudience")
|
437
|
+
def identity_token_audience(self) -> Optional[pulumi.Input[str]]:
|
438
|
+
"""
|
439
|
+
The audience claim value. Mutually exclusive with `access_key`.
|
440
|
+
Requires Vault 1.17+. *Available only for Vault Enterprise*
|
441
|
+
"""
|
442
|
+
return pulumi.get(self, "identity_token_audience")
|
443
|
+
|
444
|
+
@identity_token_audience.setter
|
445
|
+
def identity_token_audience(self, value: Optional[pulumi.Input[str]]):
|
446
|
+
pulumi.set(self, "identity_token_audience", value)
|
447
|
+
|
448
|
+
@property
|
449
|
+
@pulumi.getter(name="identityTokenTtl")
|
450
|
+
def identity_token_ttl(self) -> Optional[pulumi.Input[int]]:
|
451
|
+
"""
|
452
|
+
The TTL of generated identity tokens in seconds. Requires Vault 1.17+.
|
453
|
+
*Available only for Vault Enterprise*
|
454
|
+
"""
|
455
|
+
return pulumi.get(self, "identity_token_ttl")
|
456
|
+
|
457
|
+
@identity_token_ttl.setter
|
458
|
+
def identity_token_ttl(self, value: Optional[pulumi.Input[int]]):
|
459
|
+
pulumi.set(self, "identity_token_ttl", value)
|
460
|
+
|
461
|
+
@property
|
462
|
+
@pulumi.getter(name="maxRetries")
|
463
|
+
def max_retries(self) -> Optional[pulumi.Input[int]]:
|
464
|
+
"""
|
465
|
+
Number of max retries the client should use for recoverable errors.
|
466
|
+
The default `-1` falls back to the AWS SDK's default behavior.
|
467
|
+
"""
|
468
|
+
return pulumi.get(self, "max_retries")
|
469
|
+
|
470
|
+
@max_retries.setter
|
471
|
+
def max_retries(self, value: Optional[pulumi.Input[int]]):
|
472
|
+
pulumi.set(self, "max_retries", value)
|
473
|
+
|
343
474
|
@property
|
344
475
|
@pulumi.getter
|
345
476
|
def namespace(self) -> Optional[pulumi.Input[str]]:
|
@@ -355,6 +486,19 @@ class _AuthBackendClientState:
|
|
355
486
|
def namespace(self, value: Optional[pulumi.Input[str]]):
|
356
487
|
pulumi.set(self, "namespace", value)
|
357
488
|
|
489
|
+
@property
|
490
|
+
@pulumi.getter(name="roleArn")
|
491
|
+
def role_arn(self) -> Optional[pulumi.Input[str]]:
|
492
|
+
"""
|
493
|
+
Role ARN to assume for plugin identity token federation. Requires Vault 1.17+.
|
494
|
+
*Available only for Vault Enterprise*
|
495
|
+
"""
|
496
|
+
return pulumi.get(self, "role_arn")
|
497
|
+
|
498
|
+
@role_arn.setter
|
499
|
+
def role_arn(self, value: Optional[pulumi.Input[str]]):
|
500
|
+
pulumi.set(self, "role_arn", value)
|
501
|
+
|
358
502
|
@property
|
359
503
|
@pulumi.getter(name="secretKey")
|
360
504
|
def secret_key(self) -> Optional[pulumi.Input[str]]:
|
@@ -421,7 +565,11 @@ class AuthBackendClient(pulumi.CustomResource):
|
|
421
565
|
ec2_endpoint: Optional[pulumi.Input[str]] = None,
|
422
566
|
iam_endpoint: Optional[pulumi.Input[str]] = None,
|
423
567
|
iam_server_id_header_value: Optional[pulumi.Input[str]] = None,
|
568
|
+
identity_token_audience: Optional[pulumi.Input[str]] = None,
|
569
|
+
identity_token_ttl: Optional[pulumi.Input[int]] = None,
|
570
|
+
max_retries: Optional[pulumi.Input[int]] = None,
|
424
571
|
namespace: Optional[pulumi.Input[str]] = None,
|
572
|
+
role_arn: Optional[pulumi.Input[str]] = None,
|
425
573
|
secret_key: Optional[pulumi.Input[str]] = None,
|
426
574
|
sts_endpoint: Optional[pulumi.Input[str]] = None,
|
427
575
|
sts_region: Optional[pulumi.Input[str]] = None,
|
@@ -430,6 +578,18 @@ class AuthBackendClient(pulumi.CustomResource):
|
|
430
578
|
"""
|
431
579
|
## Example Usage
|
432
580
|
|
581
|
+
You can setup the AWS auth engine with Workload Identity Federation (WIF) for a secret-less configuration:
|
582
|
+
```python
|
583
|
+
import pulumi
|
584
|
+
import pulumi_vault as vault
|
585
|
+
|
586
|
+
example = vault.AuthBackend("example", type="aws")
|
587
|
+
example_auth_backend_client = vault.aws.AuthBackendClient("example",
|
588
|
+
identity_token_audience="<TOKEN_AUDIENCE>",
|
589
|
+
identity_token_ttl="<TOKEN_TTL>",
|
590
|
+
role_arn="<AWS_ROLE_ARN>")
|
591
|
+
```
|
592
|
+
|
433
593
|
```python
|
434
594
|
import pulumi
|
435
595
|
import pulumi_vault as vault
|
@@ -452,7 +612,7 @@ class AuthBackendClient(pulumi.CustomResource):
|
|
452
612
|
:param str resource_name: The name of the resource.
|
453
613
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
454
614
|
:param pulumi.Input[str] access_key: The AWS access key that Vault should use for the
|
455
|
-
auth backend.
|
615
|
+
auth backend. Mutually exclusive with `identity_token_audience`.
|
456
616
|
:param pulumi.Input[str] backend: The path the AWS auth backend being configured was
|
457
617
|
mounted at. Defaults to `aws`.
|
458
618
|
:param pulumi.Input[str] ec2_endpoint: Override the URL Vault uses when making EC2 API
|
@@ -462,10 +622,18 @@ class AuthBackendClient(pulumi.CustomResource):
|
|
462
622
|
:param pulumi.Input[str] iam_server_id_header_value: The value to require in the
|
463
623
|
`X-Vault-AWS-IAM-Server-ID` header as part of `GetCallerIdentity` requests
|
464
624
|
that are used in the IAM auth method.
|
625
|
+
:param pulumi.Input[str] identity_token_audience: The audience claim value. Mutually exclusive with `access_key`.
|
626
|
+
Requires Vault 1.17+. *Available only for Vault Enterprise*
|
627
|
+
:param pulumi.Input[int] identity_token_ttl: The TTL of generated identity tokens in seconds. Requires Vault 1.17+.
|
628
|
+
*Available only for Vault Enterprise*
|
629
|
+
:param pulumi.Input[int] max_retries: Number of max retries the client should use for recoverable errors.
|
630
|
+
The default `-1` falls back to the AWS SDK's default behavior.
|
465
631
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
466
632
|
The value should not contain leading or trailing forward slashes.
|
467
633
|
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
468
634
|
*Available only for Vault Enterprise*.
|
635
|
+
:param pulumi.Input[str] role_arn: Role ARN to assume for plugin identity token federation. Requires Vault 1.17+.
|
636
|
+
*Available only for Vault Enterprise*
|
469
637
|
:param pulumi.Input[str] secret_key: The AWS secret key that Vault should use for the
|
470
638
|
auth backend.
|
471
639
|
:param pulumi.Input[str] sts_endpoint: Override the URL Vault uses when making STS API
|
@@ -487,6 +655,18 @@ class AuthBackendClient(pulumi.CustomResource):
|
|
487
655
|
"""
|
488
656
|
## Example Usage
|
489
657
|
|
658
|
+
You can setup the AWS auth engine with Workload Identity Federation (WIF) for a secret-less configuration:
|
659
|
+
```python
|
660
|
+
import pulumi
|
661
|
+
import pulumi_vault as vault
|
662
|
+
|
663
|
+
example = vault.AuthBackend("example", type="aws")
|
664
|
+
example_auth_backend_client = vault.aws.AuthBackendClient("example",
|
665
|
+
identity_token_audience="<TOKEN_AUDIENCE>",
|
666
|
+
identity_token_ttl="<TOKEN_TTL>",
|
667
|
+
role_arn="<AWS_ROLE_ARN>")
|
668
|
+
```
|
669
|
+
|
490
670
|
```python
|
491
671
|
import pulumi
|
492
672
|
import pulumi_vault as vault
|
@@ -526,7 +706,11 @@ class AuthBackendClient(pulumi.CustomResource):
|
|
526
706
|
ec2_endpoint: Optional[pulumi.Input[str]] = None,
|
527
707
|
iam_endpoint: Optional[pulumi.Input[str]] = None,
|
528
708
|
iam_server_id_header_value: Optional[pulumi.Input[str]] = None,
|
709
|
+
identity_token_audience: Optional[pulumi.Input[str]] = None,
|
710
|
+
identity_token_ttl: Optional[pulumi.Input[int]] = None,
|
711
|
+
max_retries: Optional[pulumi.Input[int]] = None,
|
529
712
|
namespace: Optional[pulumi.Input[str]] = None,
|
713
|
+
role_arn: Optional[pulumi.Input[str]] = None,
|
530
714
|
secret_key: Optional[pulumi.Input[str]] = None,
|
531
715
|
sts_endpoint: Optional[pulumi.Input[str]] = None,
|
532
716
|
sts_region: Optional[pulumi.Input[str]] = None,
|
@@ -545,7 +729,11 @@ class AuthBackendClient(pulumi.CustomResource):
|
|
545
729
|
__props__.__dict__["ec2_endpoint"] = ec2_endpoint
|
546
730
|
__props__.__dict__["iam_endpoint"] = iam_endpoint
|
547
731
|
__props__.__dict__["iam_server_id_header_value"] = iam_server_id_header_value
|
732
|
+
__props__.__dict__["identity_token_audience"] = identity_token_audience
|
733
|
+
__props__.__dict__["identity_token_ttl"] = identity_token_ttl
|
734
|
+
__props__.__dict__["max_retries"] = max_retries
|
548
735
|
__props__.__dict__["namespace"] = namespace
|
736
|
+
__props__.__dict__["role_arn"] = role_arn
|
549
737
|
__props__.__dict__["secret_key"] = None if secret_key is None else pulumi.Output.secret(secret_key)
|
550
738
|
__props__.__dict__["sts_endpoint"] = sts_endpoint
|
551
739
|
__props__.__dict__["sts_region"] = sts_region
|
@@ -567,7 +755,11 @@ class AuthBackendClient(pulumi.CustomResource):
|
|
567
755
|
ec2_endpoint: Optional[pulumi.Input[str]] = None,
|
568
756
|
iam_endpoint: Optional[pulumi.Input[str]] = None,
|
569
757
|
iam_server_id_header_value: Optional[pulumi.Input[str]] = None,
|
758
|
+
identity_token_audience: Optional[pulumi.Input[str]] = None,
|
759
|
+
identity_token_ttl: Optional[pulumi.Input[int]] = None,
|
760
|
+
max_retries: Optional[pulumi.Input[int]] = None,
|
570
761
|
namespace: Optional[pulumi.Input[str]] = None,
|
762
|
+
role_arn: Optional[pulumi.Input[str]] = None,
|
571
763
|
secret_key: Optional[pulumi.Input[str]] = None,
|
572
764
|
sts_endpoint: Optional[pulumi.Input[str]] = None,
|
573
765
|
sts_region: Optional[pulumi.Input[str]] = None,
|
@@ -580,7 +772,7 @@ class AuthBackendClient(pulumi.CustomResource):
|
|
580
772
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
581
773
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
582
774
|
:param pulumi.Input[str] access_key: The AWS access key that Vault should use for the
|
583
|
-
auth backend.
|
775
|
+
auth backend. Mutually exclusive with `identity_token_audience`.
|
584
776
|
:param pulumi.Input[str] backend: The path the AWS auth backend being configured was
|
585
777
|
mounted at. Defaults to `aws`.
|
586
778
|
:param pulumi.Input[str] ec2_endpoint: Override the URL Vault uses when making EC2 API
|
@@ -590,10 +782,18 @@ class AuthBackendClient(pulumi.CustomResource):
|
|
590
782
|
:param pulumi.Input[str] iam_server_id_header_value: The value to require in the
|
591
783
|
`X-Vault-AWS-IAM-Server-ID` header as part of `GetCallerIdentity` requests
|
592
784
|
that are used in the IAM auth method.
|
785
|
+
:param pulumi.Input[str] identity_token_audience: The audience claim value. Mutually exclusive with `access_key`.
|
786
|
+
Requires Vault 1.17+. *Available only for Vault Enterprise*
|
787
|
+
:param pulumi.Input[int] identity_token_ttl: The TTL of generated identity tokens in seconds. Requires Vault 1.17+.
|
788
|
+
*Available only for Vault Enterprise*
|
789
|
+
:param pulumi.Input[int] max_retries: Number of max retries the client should use for recoverable errors.
|
790
|
+
The default `-1` falls back to the AWS SDK's default behavior.
|
593
791
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
594
792
|
The value should not contain leading or trailing forward slashes.
|
595
793
|
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
596
794
|
*Available only for Vault Enterprise*.
|
795
|
+
:param pulumi.Input[str] role_arn: Role ARN to assume for plugin identity token federation. Requires Vault 1.17+.
|
796
|
+
*Available only for Vault Enterprise*
|
597
797
|
:param pulumi.Input[str] secret_key: The AWS secret key that Vault should use for the
|
598
798
|
auth backend.
|
599
799
|
:param pulumi.Input[str] sts_endpoint: Override the URL Vault uses when making STS API
|
@@ -615,7 +815,11 @@ class AuthBackendClient(pulumi.CustomResource):
|
|
615
815
|
__props__.__dict__["ec2_endpoint"] = ec2_endpoint
|
616
816
|
__props__.__dict__["iam_endpoint"] = iam_endpoint
|
617
817
|
__props__.__dict__["iam_server_id_header_value"] = iam_server_id_header_value
|
818
|
+
__props__.__dict__["identity_token_audience"] = identity_token_audience
|
819
|
+
__props__.__dict__["identity_token_ttl"] = identity_token_ttl
|
820
|
+
__props__.__dict__["max_retries"] = max_retries
|
618
821
|
__props__.__dict__["namespace"] = namespace
|
822
|
+
__props__.__dict__["role_arn"] = role_arn
|
619
823
|
__props__.__dict__["secret_key"] = secret_key
|
620
824
|
__props__.__dict__["sts_endpoint"] = sts_endpoint
|
621
825
|
__props__.__dict__["sts_region"] = sts_region
|
@@ -627,7 +831,7 @@ class AuthBackendClient(pulumi.CustomResource):
|
|
627
831
|
def access_key(self) -> pulumi.Output[Optional[str]]:
|
628
832
|
"""
|
629
833
|
The AWS access key that Vault should use for the
|
630
|
-
auth backend.
|
834
|
+
auth backend. Mutually exclusive with `identity_token_audience`.
|
631
835
|
"""
|
632
836
|
return pulumi.get(self, "access_key")
|
633
837
|
|
@@ -668,6 +872,33 @@ class AuthBackendClient(pulumi.CustomResource):
|
|
668
872
|
"""
|
669
873
|
return pulumi.get(self, "iam_server_id_header_value")
|
670
874
|
|
875
|
+
@property
|
876
|
+
@pulumi.getter(name="identityTokenAudience")
|
877
|
+
def identity_token_audience(self) -> pulumi.Output[Optional[str]]:
|
878
|
+
"""
|
879
|
+
The audience claim value. Mutually exclusive with `access_key`.
|
880
|
+
Requires Vault 1.17+. *Available only for Vault Enterprise*
|
881
|
+
"""
|
882
|
+
return pulumi.get(self, "identity_token_audience")
|
883
|
+
|
884
|
+
@property
|
885
|
+
@pulumi.getter(name="identityTokenTtl")
|
886
|
+
def identity_token_ttl(self) -> pulumi.Output[int]:
|
887
|
+
"""
|
888
|
+
The TTL of generated identity tokens in seconds. Requires Vault 1.17+.
|
889
|
+
*Available only for Vault Enterprise*
|
890
|
+
"""
|
891
|
+
return pulumi.get(self, "identity_token_ttl")
|
892
|
+
|
893
|
+
@property
|
894
|
+
@pulumi.getter(name="maxRetries")
|
895
|
+
def max_retries(self) -> pulumi.Output[Optional[int]]:
|
896
|
+
"""
|
897
|
+
Number of max retries the client should use for recoverable errors.
|
898
|
+
The default `-1` falls back to the AWS SDK's default behavior.
|
899
|
+
"""
|
900
|
+
return pulumi.get(self, "max_retries")
|
901
|
+
|
671
902
|
@property
|
672
903
|
@pulumi.getter
|
673
904
|
def namespace(self) -> pulumi.Output[Optional[str]]:
|
@@ -679,6 +910,15 @@ class AuthBackendClient(pulumi.CustomResource):
|
|
679
910
|
"""
|
680
911
|
return pulumi.get(self, "namespace")
|
681
912
|
|
913
|
+
@property
|
914
|
+
@pulumi.getter(name="roleArn")
|
915
|
+
def role_arn(self) -> pulumi.Output[Optional[str]]:
|
916
|
+
"""
|
917
|
+
Role ARN to assume for plugin identity token federation. Requires Vault 1.17+.
|
918
|
+
*Available only for Vault Enterprise*
|
919
|
+
"""
|
920
|
+
return pulumi.get(self, "role_arn")
|
921
|
+
|
682
922
|
@property
|
683
923
|
@pulumi.getter(name="secretKey")
|
684
924
|
def secret_key(self) -> pulumi.Output[Optional[str]]:
|