pulumi-vault 6.1.1__py3-none-any.whl → 6.2.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 CHANGED
@@ -26,6 +26,8 @@ from .namespace import *
26
26
  from .nomad_secret_backend import *
27
27
  from .nomad_secret_role import *
28
28
  from .password_policy import *
29
+ from .plugin import *
30
+ from .plugin_pinned_version import *
29
31
  from .policy import *
30
32
  from .provider import *
31
33
  from .quota_lease_count import *
@@ -739,6 +741,22 @@ _utilities.register(
739
741
  "vault:index/passwordPolicy:PasswordPolicy": "PasswordPolicy"
740
742
  }
741
743
  },
744
+ {
745
+ "pkg": "vault",
746
+ "mod": "index/plugin",
747
+ "fqn": "pulumi_vault",
748
+ "classes": {
749
+ "vault:index/plugin:Plugin": "Plugin"
750
+ }
751
+ },
752
+ {
753
+ "pkg": "vault",
754
+ "mod": "index/pluginPinnedVersion",
755
+ "fqn": "pulumi_vault",
756
+ "classes": {
757
+ "vault:index/pluginPinnedVersion:PluginPinnedVersion": "PluginPinnedVersion"
758
+ }
759
+ },
742
760
  {
743
761
  "pkg": "vault",
744
762
  "mod": "index/policy",
@@ -1003,6 +1021,14 @@ _utilities.register(
1003
1021
  "vault:pkiSecret/backendConfigCluster:BackendConfigCluster": "BackendConfigCluster"
1004
1022
  }
1005
1023
  },
1024
+ {
1025
+ "pkg": "vault",
1026
+ "mod": "pkiSecret/backendConfigEst",
1027
+ "fqn": "pulumi_vault.pkisecret",
1028
+ "classes": {
1029
+ "vault:pkiSecret/backendConfigEst:BackendConfigEst": "BackendConfigEst"
1030
+ }
1031
+ },
1006
1032
  {
1007
1033
  "pkg": "vault",
1008
1034
  "mod": "pkiSecret/secretBackendCert",
@@ -19,6 +19,7 @@ class AuthBackendArgs:
19
19
  type: pulumi.Input[str],
20
20
  description: Optional[pulumi.Input[str]] = None,
21
21
  disable_remount: Optional[pulumi.Input[bool]] = None,
22
+ identity_token_key: Optional[pulumi.Input[str]] = None,
22
23
  local: Optional[pulumi.Input[bool]] = None,
23
24
  namespace: Optional[pulumi.Input[str]] = None,
24
25
  path: Optional[pulumi.Input[str]] = None,
@@ -29,6 +30,7 @@ class AuthBackendArgs:
29
30
  :param pulumi.Input[str] description: A description of the auth method.
30
31
  :param pulumi.Input[bool] disable_remount: If set, opts out of mount migration on path updates.
31
32
  See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
33
+ :param pulumi.Input[str] identity_token_key: The key to use for signing identity tokens.
32
34
  :param pulumi.Input[bool] local: Specifies if the auth method is local only.
33
35
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
34
36
  The value should not contain leading or trailing forward slashes.
@@ -44,6 +46,8 @@ class AuthBackendArgs:
44
46
  pulumi.set(__self__, "description", description)
45
47
  if disable_remount is not None:
46
48
  pulumi.set(__self__, "disable_remount", disable_remount)
49
+ if identity_token_key is not None:
50
+ pulumi.set(__self__, "identity_token_key", identity_token_key)
47
51
  if local is not None:
48
52
  pulumi.set(__self__, "local", local)
49
53
  if namespace is not None:
@@ -90,6 +94,18 @@ class AuthBackendArgs:
90
94
  def disable_remount(self, value: Optional[pulumi.Input[bool]]):
91
95
  pulumi.set(self, "disable_remount", value)
92
96
 
97
+ @property
98
+ @pulumi.getter(name="identityTokenKey")
99
+ def identity_token_key(self) -> Optional[pulumi.Input[str]]:
100
+ """
101
+ The key to use for signing identity tokens.
102
+ """
103
+ return pulumi.get(self, "identity_token_key")
104
+
105
+ @identity_token_key.setter
106
+ def identity_token_key(self, value: Optional[pulumi.Input[str]]):
107
+ pulumi.set(self, "identity_token_key", value)
108
+
93
109
  @property
94
110
  @pulumi.getter
95
111
  def local(self) -> Optional[pulumi.Input[bool]]:
@@ -150,6 +166,7 @@ class _AuthBackendState:
150
166
  accessor: Optional[pulumi.Input[str]] = None,
151
167
  description: Optional[pulumi.Input[str]] = None,
152
168
  disable_remount: Optional[pulumi.Input[bool]] = None,
169
+ identity_token_key: Optional[pulumi.Input[str]] = None,
153
170
  local: Optional[pulumi.Input[bool]] = None,
154
171
  namespace: Optional[pulumi.Input[str]] = None,
155
172
  path: Optional[pulumi.Input[str]] = None,
@@ -161,6 +178,7 @@ class _AuthBackendState:
161
178
  :param pulumi.Input[str] description: A description of the auth method.
162
179
  :param pulumi.Input[bool] disable_remount: If set, opts out of mount migration on path updates.
163
180
  See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
181
+ :param pulumi.Input[str] identity_token_key: The key to use for signing identity tokens.
164
182
  :param pulumi.Input[bool] local: Specifies if the auth method is local only.
165
183
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
166
184
  The value should not contain leading or trailing forward slashes.
@@ -178,6 +196,8 @@ class _AuthBackendState:
178
196
  pulumi.set(__self__, "description", description)
179
197
  if disable_remount is not None:
180
198
  pulumi.set(__self__, "disable_remount", disable_remount)
199
+ if identity_token_key is not None:
200
+ pulumi.set(__self__, "identity_token_key", identity_token_key)
181
201
  if local is not None:
182
202
  pulumi.set(__self__, "local", local)
183
203
  if namespace is not None:
@@ -226,6 +246,18 @@ class _AuthBackendState:
226
246
  def disable_remount(self, value: Optional[pulumi.Input[bool]]):
227
247
  pulumi.set(self, "disable_remount", value)
228
248
 
249
+ @property
250
+ @pulumi.getter(name="identityTokenKey")
251
+ def identity_token_key(self) -> Optional[pulumi.Input[str]]:
252
+ """
253
+ The key to use for signing identity tokens.
254
+ """
255
+ return pulumi.get(self, "identity_token_key")
256
+
257
+ @identity_token_key.setter
258
+ def identity_token_key(self, value: Optional[pulumi.Input[str]]):
259
+ pulumi.set(self, "identity_token_key", value)
260
+
229
261
  @property
230
262
  @pulumi.getter
231
263
  def local(self) -> Optional[pulumi.Input[bool]]:
@@ -299,6 +331,7 @@ class AuthBackend(pulumi.CustomResource):
299
331
  opts: Optional[pulumi.ResourceOptions] = None,
300
332
  description: Optional[pulumi.Input[str]] = None,
301
333
  disable_remount: Optional[pulumi.Input[bool]] = None,
334
+ identity_token_key: Optional[pulumi.Input[str]] = None,
302
335
  local: Optional[pulumi.Input[bool]] = None,
303
336
  namespace: Optional[pulumi.Input[str]] = None,
304
337
  path: Optional[pulumi.Input[str]] = None,
@@ -319,6 +352,7 @@ class AuthBackend(pulumi.CustomResource):
319
352
  :param pulumi.Input[str] description: A description of the auth method.
320
353
  :param pulumi.Input[bool] disable_remount: If set, opts out of mount migration on path updates.
321
354
  See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
355
+ :param pulumi.Input[str] identity_token_key: The key to use for signing identity tokens.
322
356
  :param pulumi.Input[bool] local: Specifies if the auth method is local only.
323
357
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
324
358
  The value should not contain leading or trailing forward slashes.
@@ -362,6 +396,7 @@ class AuthBackend(pulumi.CustomResource):
362
396
  opts: Optional[pulumi.ResourceOptions] = None,
363
397
  description: Optional[pulumi.Input[str]] = None,
364
398
  disable_remount: Optional[pulumi.Input[bool]] = None,
399
+ identity_token_key: Optional[pulumi.Input[str]] = None,
365
400
  local: Optional[pulumi.Input[bool]] = None,
366
401
  namespace: Optional[pulumi.Input[str]] = None,
367
402
  path: Optional[pulumi.Input[str]] = None,
@@ -378,6 +413,7 @@ class AuthBackend(pulumi.CustomResource):
378
413
 
379
414
  __props__.__dict__["description"] = description
380
415
  __props__.__dict__["disable_remount"] = disable_remount
416
+ __props__.__dict__["identity_token_key"] = identity_token_key
381
417
  __props__.__dict__["local"] = local
382
418
  __props__.__dict__["namespace"] = namespace
383
419
  __props__.__dict__["path"] = path
@@ -399,6 +435,7 @@ class AuthBackend(pulumi.CustomResource):
399
435
  accessor: Optional[pulumi.Input[str]] = None,
400
436
  description: Optional[pulumi.Input[str]] = None,
401
437
  disable_remount: Optional[pulumi.Input[bool]] = None,
438
+ identity_token_key: Optional[pulumi.Input[str]] = None,
402
439
  local: Optional[pulumi.Input[bool]] = None,
403
440
  namespace: Optional[pulumi.Input[str]] = None,
404
441
  path: Optional[pulumi.Input[str]] = None,
@@ -415,6 +452,7 @@ class AuthBackend(pulumi.CustomResource):
415
452
  :param pulumi.Input[str] description: A description of the auth method.
416
453
  :param pulumi.Input[bool] disable_remount: If set, opts out of mount migration on path updates.
417
454
  See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
455
+ :param pulumi.Input[str] identity_token_key: The key to use for signing identity tokens.
418
456
  :param pulumi.Input[bool] local: Specifies if the auth method is local only.
419
457
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
420
458
  The value should not contain leading or trailing forward slashes.
@@ -433,6 +471,7 @@ class AuthBackend(pulumi.CustomResource):
433
471
  __props__.__dict__["accessor"] = accessor
434
472
  __props__.__dict__["description"] = description
435
473
  __props__.__dict__["disable_remount"] = disable_remount
474
+ __props__.__dict__["identity_token_key"] = identity_token_key
436
475
  __props__.__dict__["local"] = local
437
476
  __props__.__dict__["namespace"] = namespace
438
477
  __props__.__dict__["path"] = path
@@ -465,6 +504,14 @@ class AuthBackend(pulumi.CustomResource):
465
504
  """
466
505
  return pulumi.get(self, "disable_remount")
467
506
 
507
+ @property
508
+ @pulumi.getter(name="identityTokenKey")
509
+ def identity_token_key(self) -> pulumi.Output[Optional[str]]:
510
+ """
511
+ The key to use for signing identity tokens.
512
+ """
513
+ return pulumi.get(self, "identity_token_key")
514
+
468
515
  @property
469
516
  @pulumi.getter
470
517
  def local(self) -> pulumi.Output[Optional[bool]]:
@@ -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]]: