pulumi-vault 6.6.0a1741415971__py3-none-any.whl → 6.7.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. pulumi_vault/__init__.py +9 -0
  2. pulumi_vault/_inputs.py +583 -562
  3. pulumi_vault/ad/__init__.py +1 -0
  4. pulumi_vault/ad/get_access_credentials.py +20 -19
  5. pulumi_vault/ad/secret_backend.py +477 -476
  6. pulumi_vault/ad/secret_library.py +99 -98
  7. pulumi_vault/ad/secret_role.py +85 -84
  8. pulumi_vault/alicloud/__init__.py +1 -0
  9. pulumi_vault/alicloud/auth_backend_role.py +183 -182
  10. pulumi_vault/approle/__init__.py +1 -0
  11. pulumi_vault/approle/auth_backend_login.py +106 -105
  12. pulumi_vault/approle/auth_backend_role.py +239 -238
  13. pulumi_vault/approle/auth_backend_role_secret_id.py +162 -161
  14. pulumi_vault/approle/get_auth_backend_role_id.py +18 -17
  15. pulumi_vault/audit.py +85 -84
  16. pulumi_vault/audit_request_header.py +43 -42
  17. pulumi_vault/auth_backend.py +106 -105
  18. pulumi_vault/aws/__init__.py +1 -0
  19. pulumi_vault/aws/auth_backend_cert.py +71 -70
  20. pulumi_vault/aws/auth_backend_client.py +425 -200
  21. pulumi_vault/aws/auth_backend_config_identity.py +85 -84
  22. pulumi_vault/aws/auth_backend_identity_whitelist.py +57 -56
  23. pulumi_vault/aws/auth_backend_login.py +209 -208
  24. pulumi_vault/aws/auth_backend_role.py +400 -399
  25. pulumi_vault/aws/auth_backend_role_tag.py +127 -126
  26. pulumi_vault/aws/auth_backend_roletag_blacklist.py +57 -56
  27. pulumi_vault/aws/auth_backend_sts_role.py +71 -70
  28. pulumi_vault/aws/get_access_credentials.py +44 -43
  29. pulumi_vault/aws/get_static_access_credentials.py +13 -12
  30. pulumi_vault/aws/secret_backend.py +523 -306
  31. pulumi_vault/aws/secret_backend_role.py +211 -210
  32. pulumi_vault/aws/secret_backend_static_role.py +288 -70
  33. pulumi_vault/azure/__init__.py +1 -0
  34. pulumi_vault/azure/_inputs.py +21 -20
  35. pulumi_vault/azure/auth_backend_config.py +383 -130
  36. pulumi_vault/azure/auth_backend_role.py +253 -252
  37. pulumi_vault/azure/backend.py +432 -186
  38. pulumi_vault/azure/backend_role.py +188 -140
  39. pulumi_vault/azure/get_access_credentials.py +58 -57
  40. pulumi_vault/azure/outputs.py +11 -10
  41. pulumi_vault/cert_auth_backend_role.py +365 -364
  42. pulumi_vault/config/__init__.py +1 -0
  43. pulumi_vault/config/__init__.pyi +1 -0
  44. pulumi_vault/config/_inputs.py +11 -10
  45. pulumi_vault/config/outputs.py +287 -286
  46. pulumi_vault/config/ui_custom_message.py +113 -112
  47. pulumi_vault/config/vars.py +1 -0
  48. pulumi_vault/consul/__init__.py +1 -0
  49. pulumi_vault/consul/secret_backend.py +197 -196
  50. pulumi_vault/consul/secret_backend_role.py +183 -182
  51. pulumi_vault/database/__init__.py +1 -0
  52. pulumi_vault/database/_inputs.py +3857 -2200
  53. pulumi_vault/database/outputs.py +2483 -1330
  54. pulumi_vault/database/secret_backend_connection.py +333 -112
  55. pulumi_vault/database/secret_backend_role.py +169 -168
  56. pulumi_vault/database/secret_backend_static_role.py +283 -140
  57. pulumi_vault/database/secrets_mount.py +275 -266
  58. pulumi_vault/egp_policy.py +71 -70
  59. pulumi_vault/gcp/__init__.py +1 -0
  60. pulumi_vault/gcp/_inputs.py +82 -81
  61. pulumi_vault/gcp/auth_backend.py +426 -205
  62. pulumi_vault/gcp/auth_backend_role.py +281 -280
  63. pulumi_vault/gcp/get_auth_backend_role.py +70 -69
  64. pulumi_vault/gcp/outputs.py +50 -49
  65. pulumi_vault/gcp/secret_backend.py +420 -179
  66. pulumi_vault/gcp/secret_impersonated_account.py +92 -91
  67. pulumi_vault/gcp/secret_roleset.py +92 -91
  68. pulumi_vault/gcp/secret_static_account.py +92 -91
  69. pulumi_vault/generic/__init__.py +1 -0
  70. pulumi_vault/generic/endpoint.py +113 -112
  71. pulumi_vault/generic/get_secret.py +28 -27
  72. pulumi_vault/generic/secret.py +78 -77
  73. pulumi_vault/get_auth_backend.py +19 -18
  74. pulumi_vault/get_auth_backends.py +14 -13
  75. pulumi_vault/get_namespace.py +15 -14
  76. pulumi_vault/get_namespaces.py +68 -18
  77. pulumi_vault/get_nomad_access_token.py +19 -18
  78. pulumi_vault/get_policy_document.py +6 -5
  79. pulumi_vault/get_raft_autopilot_state.py +18 -17
  80. pulumi_vault/github/__init__.py +1 -0
  81. pulumi_vault/github/_inputs.py +42 -41
  82. pulumi_vault/github/auth_backend.py +232 -231
  83. pulumi_vault/github/outputs.py +26 -25
  84. pulumi_vault/github/team.py +57 -56
  85. pulumi_vault/github/user.py +57 -56
  86. pulumi_vault/identity/__init__.py +1 -0
  87. pulumi_vault/identity/entity.py +85 -84
  88. pulumi_vault/identity/entity_alias.py +71 -70
  89. pulumi_vault/identity/entity_policies.py +64 -63
  90. pulumi_vault/identity/get_entity.py +43 -42
  91. pulumi_vault/identity/get_group.py +50 -49
  92. pulumi_vault/identity/get_oidc_client_creds.py +14 -13
  93. pulumi_vault/identity/get_oidc_openid_config.py +24 -23
  94. pulumi_vault/identity/get_oidc_public_keys.py +13 -12
  95. pulumi_vault/identity/group.py +141 -140
  96. pulumi_vault/identity/group_alias.py +57 -56
  97. pulumi_vault/identity/group_member_entity_ids.py +57 -56
  98. pulumi_vault/identity/group_member_group_ids.py +57 -56
  99. pulumi_vault/identity/group_policies.py +64 -63
  100. pulumi_vault/identity/mfa_duo.py +148 -147
  101. pulumi_vault/identity/mfa_login_enforcement.py +120 -119
  102. pulumi_vault/identity/mfa_okta.py +134 -133
  103. pulumi_vault/identity/mfa_pingid.py +127 -126
  104. pulumi_vault/identity/mfa_totp.py +176 -175
  105. pulumi_vault/identity/oidc.py +29 -28
  106. pulumi_vault/identity/oidc_assignment.py +57 -56
  107. pulumi_vault/identity/oidc_client.py +127 -126
  108. pulumi_vault/identity/oidc_key.py +85 -84
  109. pulumi_vault/identity/oidc_key_allowed_client_id.py +43 -42
  110. pulumi_vault/identity/oidc_provider.py +92 -91
  111. pulumi_vault/identity/oidc_role.py +85 -84
  112. pulumi_vault/identity/oidc_scope.py +57 -56
  113. pulumi_vault/identity/outputs.py +32 -31
  114. pulumi_vault/jwt/__init__.py +1 -0
  115. pulumi_vault/jwt/_inputs.py +42 -41
  116. pulumi_vault/jwt/auth_backend.py +288 -287
  117. pulumi_vault/jwt/auth_backend_role.py +407 -406
  118. pulumi_vault/jwt/outputs.py +26 -25
  119. pulumi_vault/kmip/__init__.py +1 -0
  120. pulumi_vault/kmip/secret_backend.py +183 -182
  121. pulumi_vault/kmip/secret_role.py +295 -294
  122. pulumi_vault/kmip/secret_scope.py +57 -56
  123. pulumi_vault/kubernetes/__init__.py +1 -0
  124. pulumi_vault/kubernetes/auth_backend_config.py +141 -140
  125. pulumi_vault/kubernetes/auth_backend_role.py +225 -224
  126. pulumi_vault/kubernetes/get_auth_backend_config.py +47 -46
  127. pulumi_vault/kubernetes/get_auth_backend_role.py +70 -69
  128. pulumi_vault/kubernetes/get_service_account_token.py +38 -37
  129. pulumi_vault/kubernetes/secret_backend.py +316 -315
  130. pulumi_vault/kubernetes/secret_backend_role.py +197 -196
  131. pulumi_vault/kv/__init__.py +1 -0
  132. pulumi_vault/kv/_inputs.py +21 -20
  133. pulumi_vault/kv/get_secret.py +17 -16
  134. pulumi_vault/kv/get_secret_subkeys_v2.py +30 -29
  135. pulumi_vault/kv/get_secret_v2.py +29 -28
  136. pulumi_vault/kv/get_secrets_list.py +13 -12
  137. pulumi_vault/kv/get_secrets_list_v2.py +19 -18
  138. pulumi_vault/kv/outputs.py +13 -12
  139. pulumi_vault/kv/secret.py +50 -49
  140. pulumi_vault/kv/secret_backend_v2.py +71 -70
  141. pulumi_vault/kv/secret_v2.py +134 -133
  142. pulumi_vault/ldap/__init__.py +1 -0
  143. pulumi_vault/ldap/auth_backend.py +754 -533
  144. pulumi_vault/ldap/auth_backend_group.py +57 -56
  145. pulumi_vault/ldap/auth_backend_user.py +71 -70
  146. pulumi_vault/ldap/get_dynamic_credentials.py +17 -16
  147. pulumi_vault/ldap/get_static_credentials.py +18 -17
  148. pulumi_vault/ldap/secret_backend.py +720 -499
  149. pulumi_vault/ldap/secret_backend_dynamic_role.py +127 -126
  150. pulumi_vault/ldap/secret_backend_library_set.py +99 -98
  151. pulumi_vault/ldap/secret_backend_static_role.py +99 -98
  152. pulumi_vault/managed/__init__.py +1 -0
  153. pulumi_vault/managed/_inputs.py +229 -228
  154. pulumi_vault/managed/keys.py +15 -14
  155. pulumi_vault/managed/outputs.py +139 -138
  156. pulumi_vault/mfa_duo.py +113 -112
  157. pulumi_vault/mfa_okta.py +113 -112
  158. pulumi_vault/mfa_pingid.py +120 -119
  159. pulumi_vault/mfa_totp.py +127 -126
  160. pulumi_vault/mongodbatlas/__init__.py +1 -0
  161. pulumi_vault/mongodbatlas/secret_backend.py +64 -63
  162. pulumi_vault/mongodbatlas/secret_role.py +155 -154
  163. pulumi_vault/mount.py +274 -273
  164. pulumi_vault/namespace.py +64 -63
  165. pulumi_vault/nomad_secret_backend.py +211 -210
  166. pulumi_vault/nomad_secret_role.py +85 -84
  167. pulumi_vault/okta/__init__.py +1 -0
  168. pulumi_vault/okta/_inputs.py +26 -25
  169. pulumi_vault/okta/auth_backend.py +274 -273
  170. pulumi_vault/okta/auth_backend_group.py +57 -56
  171. pulumi_vault/okta/auth_backend_user.py +71 -70
  172. pulumi_vault/okta/outputs.py +16 -15
  173. pulumi_vault/outputs.py +73 -60
  174. pulumi_vault/password_policy.py +43 -42
  175. pulumi_vault/pkisecret/__init__.py +3 -0
  176. pulumi_vault/pkisecret/_inputs.py +31 -36
  177. pulumi_vault/pkisecret/backend_acme_eab.py +92 -91
  178. pulumi_vault/pkisecret/backend_config_acme.py +174 -126
  179. pulumi_vault/pkisecret/backend_config_auto_tidy.py +1377 -0
  180. pulumi_vault/pkisecret/backend_config_cluster.py +57 -56
  181. pulumi_vault/pkisecret/backend_config_cmpv2.py +152 -104
  182. pulumi_vault/pkisecret/backend_config_est.py +120 -119
  183. pulumi_vault/pkisecret/get_backend_cert_metadata.py +278 -0
  184. pulumi_vault/pkisecret/get_backend_config_cmpv2.py +35 -17
  185. pulumi_vault/pkisecret/get_backend_config_est.py +19 -18
  186. pulumi_vault/pkisecret/get_backend_issuer.py +139 -25
  187. pulumi_vault/pkisecret/get_backend_issuers.py +15 -14
  188. pulumi_vault/pkisecret/get_backend_key.py +20 -19
  189. pulumi_vault/pkisecret/get_backend_keys.py +15 -14
  190. pulumi_vault/pkisecret/outputs.py +28 -31
  191. pulumi_vault/pkisecret/secret_backend_cert.py +439 -297
  192. pulumi_vault/pkisecret/secret_backend_config_ca.py +43 -42
  193. pulumi_vault/pkisecret/secret_backend_config_issuers.py +57 -56
  194. pulumi_vault/pkisecret/secret_backend_config_urls.py +85 -84
  195. pulumi_vault/pkisecret/secret_backend_crl_config.py +237 -182
  196. pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +520 -378
  197. pulumi_vault/pkisecret/secret_backend_intermediate_set_signed.py +57 -56
  198. pulumi_vault/pkisecret/secret_backend_issuer.py +441 -175
  199. pulumi_vault/pkisecret/secret_backend_key.py +120 -119
  200. pulumi_vault/pkisecret/secret_backend_role.py +894 -644
  201. pulumi_vault/pkisecret/secret_backend_root_cert.py +851 -427
  202. pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +936 -357
  203. pulumi_vault/pkisecret/secret_backend_sign.py +347 -252
  204. pulumi_vault/plugin.py +127 -126
  205. pulumi_vault/plugin_pinned_version.py +43 -42
  206. pulumi_vault/policy.py +43 -42
  207. pulumi_vault/provider.py +120 -119
  208. pulumi_vault/pulumi-plugin.json +1 -1
  209. pulumi_vault/quota_lease_count.py +85 -84
  210. pulumi_vault/quota_rate_limit.py +113 -112
  211. pulumi_vault/rabbitmq/__init__.py +1 -0
  212. pulumi_vault/rabbitmq/_inputs.py +41 -40
  213. pulumi_vault/rabbitmq/outputs.py +25 -24
  214. pulumi_vault/rabbitmq/secret_backend.py +169 -168
  215. pulumi_vault/rabbitmq/secret_backend_role.py +57 -56
  216. pulumi_vault/raft_autopilot.py +113 -112
  217. pulumi_vault/raft_snapshot_agent_config.py +393 -392
  218. pulumi_vault/rgp_policy.py +57 -56
  219. pulumi_vault/saml/__init__.py +1 -0
  220. pulumi_vault/saml/auth_backend.py +155 -154
  221. pulumi_vault/saml/auth_backend_role.py +239 -238
  222. pulumi_vault/secrets/__init__.py +1 -0
  223. pulumi_vault/secrets/_inputs.py +16 -15
  224. pulumi_vault/secrets/outputs.py +10 -9
  225. pulumi_vault/secrets/sync_association.py +71 -70
  226. pulumi_vault/secrets/sync_aws_destination.py +148 -147
  227. pulumi_vault/secrets/sync_azure_destination.py +148 -147
  228. pulumi_vault/secrets/sync_config.py +43 -42
  229. pulumi_vault/secrets/sync_gcp_destination.py +106 -105
  230. pulumi_vault/secrets/sync_gh_destination.py +134 -133
  231. pulumi_vault/secrets/sync_github_apps.py +64 -63
  232. pulumi_vault/secrets/sync_vercel_destination.py +120 -119
  233. pulumi_vault/ssh/__init__.py +2 -0
  234. pulumi_vault/ssh/_inputs.py +11 -10
  235. pulumi_vault/ssh/get_secret_backend_sign.py +295 -0
  236. pulumi_vault/ssh/outputs.py +7 -6
  237. pulumi_vault/ssh/secret_backend_ca.py +99 -98
  238. pulumi_vault/ssh/secret_backend_role.py +365 -364
  239. pulumi_vault/terraformcloud/__init__.py +1 -0
  240. pulumi_vault/terraformcloud/secret_backend.py +111 -110
  241. pulumi_vault/terraformcloud/secret_creds.py +74 -73
  242. pulumi_vault/terraformcloud/secret_role.py +96 -95
  243. pulumi_vault/token.py +246 -245
  244. pulumi_vault/tokenauth/__init__.py +1 -0
  245. pulumi_vault/tokenauth/auth_backend_role.py +267 -266
  246. pulumi_vault/transform/__init__.py +1 -0
  247. pulumi_vault/transform/alphabet.py +57 -56
  248. pulumi_vault/transform/get_decode.py +47 -46
  249. pulumi_vault/transform/get_encode.py +47 -46
  250. pulumi_vault/transform/role.py +57 -56
  251. pulumi_vault/transform/template.py +113 -112
  252. pulumi_vault/transform/transformation.py +141 -140
  253. pulumi_vault/transit/__init__.py +3 -0
  254. pulumi_vault/transit/get_decrypt.py +18 -17
  255. pulumi_vault/transit/get_encrypt.py +21 -20
  256. pulumi_vault/transit/get_sign.py +325 -0
  257. pulumi_vault/transit/get_verify.py +355 -0
  258. pulumi_vault/transit/secret_backend_key.py +394 -231
  259. pulumi_vault/transit/secret_cache_config.py +43 -42
  260. {pulumi_vault-6.6.0a1741415971.dist-info → pulumi_vault-6.7.0.dist-info}/METADATA +2 -2
  261. pulumi_vault-6.7.0.dist-info/RECORD +265 -0
  262. {pulumi_vault-6.6.0a1741415971.dist-info → pulumi_vault-6.7.0.dist-info}/WHEEL +1 -1
  263. pulumi_vault-6.6.0a1741415971.dist-info/RECORD +0 -260
  264. {pulumi_vault-6.6.0a1741415971.dist-info → pulumi_vault-6.7.0.dist-info}/top_level.txt +0 -0
@@ -2,6 +2,7 @@
2
2
  # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
+ import builtins
5
6
  import copy
6
7
  import warnings
7
8
  import sys
@@ -19,28 +20,46 @@ __all__ = ['SecretBackendStaticRoleArgs', 'SecretBackendStaticRole']
19
20
  @pulumi.input_type
20
21
  class SecretBackendStaticRoleArgs:
21
22
  def __init__(__self__, *,
22
- rotation_period: pulumi.Input[int],
23
- username: pulumi.Input[str],
24
- backend: Optional[pulumi.Input[str]] = None,
25
- name: Optional[pulumi.Input[str]] = None,
26
- namespace: Optional[pulumi.Input[str]] = None):
23
+ rotation_period: pulumi.Input[builtins.int],
24
+ username: pulumi.Input[builtins.str],
25
+ assume_role_arn: Optional[pulumi.Input[builtins.str]] = None,
26
+ assume_role_session_name: Optional[pulumi.Input[builtins.str]] = None,
27
+ backend: Optional[pulumi.Input[builtins.str]] = None,
28
+ external_id: Optional[pulumi.Input[builtins.str]] = None,
29
+ name: Optional[pulumi.Input[builtins.str]] = None,
30
+ namespace: Optional[pulumi.Input[builtins.str]] = None):
27
31
  """
28
32
  The set of arguments for constructing a SecretBackendStaticRole resource.
29
- :param pulumi.Input[int] rotation_period: How often Vault should rotate the password of the user entry.
30
- :param pulumi.Input[str] username: The username of the existing AWS IAM to manage password rotation for.
31
- :param pulumi.Input[str] backend: The unique path this backend should be mounted at. Must
33
+ :param pulumi.Input[builtins.int] rotation_period: How often Vault should rotate the password of the user entry.
34
+ :param pulumi.Input[builtins.str] username: The username of the existing AWS IAM to manage password rotation for.
35
+ :param pulumi.Input[builtins.str] assume_role_arn: Specifies the ARN of the role that Vault should assume.
36
+ When provided, Vault will use AWS STS to assume this role and generate temporary credentials.
37
+ If `assume_role_arn` is provided, `assume_role_session_name` must also be provided.
38
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
39
+ :param pulumi.Input[builtins.str] assume_role_session_name: Specifies the session name to use when assuming the role.
40
+ If `assume_role_session_name` is provided, `assume_role_arn` must also be provided.
41
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
42
+ :param pulumi.Input[builtins.str] backend: The unique path this backend should be mounted at. Must
32
43
  not begin or end with a `/`. Defaults to `aws`
33
- :param pulumi.Input[str] name: The name to identify this role within the backend.
44
+ :param pulumi.Input[builtins.str] external_id: Specifies the external ID to use when assuming the role.
45
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
46
+ :param pulumi.Input[builtins.str] name: The name to identify this role within the backend.
34
47
  Must be unique within the backend.
35
- :param pulumi.Input[str] namespace: The namespace to provision the resource in.
48
+ :param pulumi.Input[builtins.str] namespace: The namespace to provision the resource in.
36
49
  The value should not contain leading or trailing forward slashes.
37
50
  The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
38
51
  *Available only for Vault Enterprise*.
39
52
  """
40
53
  pulumi.set(__self__, "rotation_period", rotation_period)
41
54
  pulumi.set(__self__, "username", username)
55
+ if assume_role_arn is not None:
56
+ pulumi.set(__self__, "assume_role_arn", assume_role_arn)
57
+ if assume_role_session_name is not None:
58
+ pulumi.set(__self__, "assume_role_session_name", assume_role_session_name)
42
59
  if backend is not None:
43
60
  pulumi.set(__self__, "backend", backend)
61
+ if external_id is not None:
62
+ pulumi.set(__self__, "external_id", external_id)
44
63
  if name is not None:
45
64
  pulumi.set(__self__, "name", name)
46
65
  if namespace is not None:
@@ -48,31 +67,60 @@ class SecretBackendStaticRoleArgs:
48
67
 
49
68
  @property
50
69
  @pulumi.getter(name="rotationPeriod")
51
- def rotation_period(self) -> pulumi.Input[int]:
70
+ def rotation_period(self) -> pulumi.Input[builtins.int]:
52
71
  """
53
72
  How often Vault should rotate the password of the user entry.
54
73
  """
55
74
  return pulumi.get(self, "rotation_period")
56
75
 
57
76
  @rotation_period.setter
58
- def rotation_period(self, value: pulumi.Input[int]):
77
+ def rotation_period(self, value: pulumi.Input[builtins.int]):
59
78
  pulumi.set(self, "rotation_period", value)
60
79
 
61
80
  @property
62
81
  @pulumi.getter
63
- def username(self) -> pulumi.Input[str]:
82
+ def username(self) -> pulumi.Input[builtins.str]:
64
83
  """
65
84
  The username of the existing AWS IAM to manage password rotation for.
66
85
  """
67
86
  return pulumi.get(self, "username")
68
87
 
69
88
  @username.setter
70
- def username(self, value: pulumi.Input[str]):
89
+ def username(self, value: pulumi.Input[builtins.str]):
71
90
  pulumi.set(self, "username", value)
72
91
 
92
+ @property
93
+ @pulumi.getter(name="assumeRoleArn")
94
+ def assume_role_arn(self) -> Optional[pulumi.Input[builtins.str]]:
95
+ """
96
+ Specifies the ARN of the role that Vault should assume.
97
+ When provided, Vault will use AWS STS to assume this role and generate temporary credentials.
98
+ If `assume_role_arn` is provided, `assume_role_session_name` must also be provided.
99
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
100
+ """
101
+ return pulumi.get(self, "assume_role_arn")
102
+
103
+ @assume_role_arn.setter
104
+ def assume_role_arn(self, value: Optional[pulumi.Input[builtins.str]]):
105
+ pulumi.set(self, "assume_role_arn", value)
106
+
107
+ @property
108
+ @pulumi.getter(name="assumeRoleSessionName")
109
+ def assume_role_session_name(self) -> Optional[pulumi.Input[builtins.str]]:
110
+ """
111
+ Specifies the session name to use when assuming the role.
112
+ If `assume_role_session_name` is provided, `assume_role_arn` must also be provided.
113
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
114
+ """
115
+ return pulumi.get(self, "assume_role_session_name")
116
+
117
+ @assume_role_session_name.setter
118
+ def assume_role_session_name(self, value: Optional[pulumi.Input[builtins.str]]):
119
+ pulumi.set(self, "assume_role_session_name", value)
120
+
73
121
  @property
74
122
  @pulumi.getter
75
- def backend(self) -> Optional[pulumi.Input[str]]:
123
+ def backend(self) -> Optional[pulumi.Input[builtins.str]]:
76
124
  """
77
125
  The unique path this backend should be mounted at. Must
78
126
  not begin or end with a `/`. Defaults to `aws`
@@ -80,12 +128,25 @@ class SecretBackendStaticRoleArgs:
80
128
  return pulumi.get(self, "backend")
81
129
 
82
130
  @backend.setter
83
- def backend(self, value: Optional[pulumi.Input[str]]):
131
+ def backend(self, value: Optional[pulumi.Input[builtins.str]]):
84
132
  pulumi.set(self, "backend", value)
85
133
 
134
+ @property
135
+ @pulumi.getter(name="externalId")
136
+ def external_id(self) -> Optional[pulumi.Input[builtins.str]]:
137
+ """
138
+ Specifies the external ID to use when assuming the role.
139
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
140
+ """
141
+ return pulumi.get(self, "external_id")
142
+
143
+ @external_id.setter
144
+ def external_id(self, value: Optional[pulumi.Input[builtins.str]]):
145
+ pulumi.set(self, "external_id", value)
146
+
86
147
  @property
87
148
  @pulumi.getter
88
- def name(self) -> Optional[pulumi.Input[str]]:
149
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
89
150
  """
90
151
  The name to identify this role within the backend.
91
152
  Must be unique within the backend.
@@ -93,12 +154,12 @@ class SecretBackendStaticRoleArgs:
93
154
  return pulumi.get(self, "name")
94
155
 
95
156
  @name.setter
96
- def name(self, value: Optional[pulumi.Input[str]]):
157
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
97
158
  pulumi.set(self, "name", value)
98
159
 
99
160
  @property
100
161
  @pulumi.getter
101
- def namespace(self) -> Optional[pulumi.Input[str]]:
162
+ def namespace(self) -> Optional[pulumi.Input[builtins.str]]:
102
163
  """
103
164
  The namespace to provision the resource in.
104
165
  The value should not contain leading or trailing forward slashes.
@@ -108,33 +169,51 @@ class SecretBackendStaticRoleArgs:
108
169
  return pulumi.get(self, "namespace")
109
170
 
110
171
  @namespace.setter
111
- def namespace(self, value: Optional[pulumi.Input[str]]):
172
+ def namespace(self, value: Optional[pulumi.Input[builtins.str]]):
112
173
  pulumi.set(self, "namespace", value)
113
174
 
114
175
 
115
176
  @pulumi.input_type
116
177
  class _SecretBackendStaticRoleState:
117
178
  def __init__(__self__, *,
118
- backend: Optional[pulumi.Input[str]] = None,
119
- name: Optional[pulumi.Input[str]] = None,
120
- namespace: Optional[pulumi.Input[str]] = None,
121
- rotation_period: Optional[pulumi.Input[int]] = None,
122
- username: Optional[pulumi.Input[str]] = None):
179
+ assume_role_arn: Optional[pulumi.Input[builtins.str]] = None,
180
+ assume_role_session_name: Optional[pulumi.Input[builtins.str]] = None,
181
+ backend: Optional[pulumi.Input[builtins.str]] = None,
182
+ external_id: Optional[pulumi.Input[builtins.str]] = None,
183
+ name: Optional[pulumi.Input[builtins.str]] = None,
184
+ namespace: Optional[pulumi.Input[builtins.str]] = None,
185
+ rotation_period: Optional[pulumi.Input[builtins.int]] = None,
186
+ username: Optional[pulumi.Input[builtins.str]] = None):
123
187
  """
124
188
  Input properties used for looking up and filtering SecretBackendStaticRole resources.
125
- :param pulumi.Input[str] backend: The unique path this backend should be mounted at. Must
189
+ :param pulumi.Input[builtins.str] assume_role_arn: Specifies the ARN of the role that Vault should assume.
190
+ When provided, Vault will use AWS STS to assume this role and generate temporary credentials.
191
+ If `assume_role_arn` is provided, `assume_role_session_name` must also be provided.
192
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
193
+ :param pulumi.Input[builtins.str] assume_role_session_name: Specifies the session name to use when assuming the role.
194
+ If `assume_role_session_name` is provided, `assume_role_arn` must also be provided.
195
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
196
+ :param pulumi.Input[builtins.str] backend: The unique path this backend should be mounted at. Must
126
197
  not begin or end with a `/`. Defaults to `aws`
127
- :param pulumi.Input[str] name: The name to identify this role within the backend.
198
+ :param pulumi.Input[builtins.str] external_id: Specifies the external ID to use when assuming the role.
199
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
200
+ :param pulumi.Input[builtins.str] name: The name to identify this role within the backend.
128
201
  Must be unique within the backend.
129
- :param pulumi.Input[str] namespace: The namespace to provision the resource in.
202
+ :param pulumi.Input[builtins.str] namespace: The namespace to provision the resource in.
130
203
  The value should not contain leading or trailing forward slashes.
131
204
  The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
132
205
  *Available only for Vault Enterprise*.
133
- :param pulumi.Input[int] rotation_period: How often Vault should rotate the password of the user entry.
134
- :param pulumi.Input[str] username: The username of the existing AWS IAM to manage password rotation for.
206
+ :param pulumi.Input[builtins.int] rotation_period: How often Vault should rotate the password of the user entry.
207
+ :param pulumi.Input[builtins.str] username: The username of the existing AWS IAM to manage password rotation for.
135
208
  """
209
+ if assume_role_arn is not None:
210
+ pulumi.set(__self__, "assume_role_arn", assume_role_arn)
211
+ if assume_role_session_name is not None:
212
+ pulumi.set(__self__, "assume_role_session_name", assume_role_session_name)
136
213
  if backend is not None:
137
214
  pulumi.set(__self__, "backend", backend)
215
+ if external_id is not None:
216
+ pulumi.set(__self__, "external_id", external_id)
138
217
  if name is not None:
139
218
  pulumi.set(__self__, "name", name)
140
219
  if namespace is not None:
@@ -144,9 +223,38 @@ class _SecretBackendStaticRoleState:
144
223
  if username is not None:
145
224
  pulumi.set(__self__, "username", username)
146
225
 
226
+ @property
227
+ @pulumi.getter(name="assumeRoleArn")
228
+ def assume_role_arn(self) -> Optional[pulumi.Input[builtins.str]]:
229
+ """
230
+ Specifies the ARN of the role that Vault should assume.
231
+ When provided, Vault will use AWS STS to assume this role and generate temporary credentials.
232
+ If `assume_role_arn` is provided, `assume_role_session_name` must also be provided.
233
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
234
+ """
235
+ return pulumi.get(self, "assume_role_arn")
236
+
237
+ @assume_role_arn.setter
238
+ def assume_role_arn(self, value: Optional[pulumi.Input[builtins.str]]):
239
+ pulumi.set(self, "assume_role_arn", value)
240
+
241
+ @property
242
+ @pulumi.getter(name="assumeRoleSessionName")
243
+ def assume_role_session_name(self) -> Optional[pulumi.Input[builtins.str]]:
244
+ """
245
+ Specifies the session name to use when assuming the role.
246
+ If `assume_role_session_name` is provided, `assume_role_arn` must also be provided.
247
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
248
+ """
249
+ return pulumi.get(self, "assume_role_session_name")
250
+
251
+ @assume_role_session_name.setter
252
+ def assume_role_session_name(self, value: Optional[pulumi.Input[builtins.str]]):
253
+ pulumi.set(self, "assume_role_session_name", value)
254
+
147
255
  @property
148
256
  @pulumi.getter
149
- def backend(self) -> Optional[pulumi.Input[str]]:
257
+ def backend(self) -> Optional[pulumi.Input[builtins.str]]:
150
258
  """
151
259
  The unique path this backend should be mounted at. Must
152
260
  not begin or end with a `/`. Defaults to `aws`
@@ -154,12 +262,25 @@ class _SecretBackendStaticRoleState:
154
262
  return pulumi.get(self, "backend")
155
263
 
156
264
  @backend.setter
157
- def backend(self, value: Optional[pulumi.Input[str]]):
265
+ def backend(self, value: Optional[pulumi.Input[builtins.str]]):
158
266
  pulumi.set(self, "backend", value)
159
267
 
268
+ @property
269
+ @pulumi.getter(name="externalId")
270
+ def external_id(self) -> Optional[pulumi.Input[builtins.str]]:
271
+ """
272
+ Specifies the external ID to use when assuming the role.
273
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
274
+ """
275
+ return pulumi.get(self, "external_id")
276
+
277
+ @external_id.setter
278
+ def external_id(self, value: Optional[pulumi.Input[builtins.str]]):
279
+ pulumi.set(self, "external_id", value)
280
+
160
281
  @property
161
282
  @pulumi.getter
162
- def name(self) -> Optional[pulumi.Input[str]]:
283
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
163
284
  """
164
285
  The name to identify this role within the backend.
165
286
  Must be unique within the backend.
@@ -167,12 +288,12 @@ class _SecretBackendStaticRoleState:
167
288
  return pulumi.get(self, "name")
168
289
 
169
290
  @name.setter
170
- def name(self, value: Optional[pulumi.Input[str]]):
291
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
171
292
  pulumi.set(self, "name", value)
172
293
 
173
294
  @property
174
295
  @pulumi.getter
175
- def namespace(self) -> Optional[pulumi.Input[str]]:
296
+ def namespace(self) -> Optional[pulumi.Input[builtins.str]]:
176
297
  """
177
298
  The namespace to provision the resource in.
178
299
  The value should not contain leading or trailing forward slashes.
@@ -182,31 +303,31 @@ class _SecretBackendStaticRoleState:
182
303
  return pulumi.get(self, "namespace")
183
304
 
184
305
  @namespace.setter
185
- def namespace(self, value: Optional[pulumi.Input[str]]):
306
+ def namespace(self, value: Optional[pulumi.Input[builtins.str]]):
186
307
  pulumi.set(self, "namespace", value)
187
308
 
188
309
  @property
189
310
  @pulumi.getter(name="rotationPeriod")
190
- def rotation_period(self) -> Optional[pulumi.Input[int]]:
311
+ def rotation_period(self) -> Optional[pulumi.Input[builtins.int]]:
191
312
  """
192
313
  How often Vault should rotate the password of the user entry.
193
314
  """
194
315
  return pulumi.get(self, "rotation_period")
195
316
 
196
317
  @rotation_period.setter
197
- def rotation_period(self, value: Optional[pulumi.Input[int]]):
318
+ def rotation_period(self, value: Optional[pulumi.Input[builtins.int]]):
198
319
  pulumi.set(self, "rotation_period", value)
199
320
 
200
321
  @property
201
322
  @pulumi.getter
202
- def username(self) -> Optional[pulumi.Input[str]]:
323
+ def username(self) -> Optional[pulumi.Input[builtins.str]]:
203
324
  """
204
325
  The username of the existing AWS IAM to manage password rotation for.
205
326
  """
206
327
  return pulumi.get(self, "username")
207
328
 
208
329
  @username.setter
209
- def username(self, value: Optional[pulumi.Input[str]]):
330
+ def username(self, value: Optional[pulumi.Input[builtins.str]]):
210
331
  pulumi.set(self, "username", value)
211
332
 
212
333
 
@@ -215,11 +336,14 @@ class SecretBackendStaticRole(pulumi.CustomResource):
215
336
  def __init__(__self__,
216
337
  resource_name: str,
217
338
  opts: Optional[pulumi.ResourceOptions] = None,
218
- backend: Optional[pulumi.Input[str]] = None,
219
- name: Optional[pulumi.Input[str]] = None,
220
- namespace: Optional[pulumi.Input[str]] = None,
221
- rotation_period: Optional[pulumi.Input[int]] = None,
222
- username: Optional[pulumi.Input[str]] = None,
339
+ assume_role_arn: Optional[pulumi.Input[builtins.str]] = None,
340
+ assume_role_session_name: Optional[pulumi.Input[builtins.str]] = None,
341
+ backend: Optional[pulumi.Input[builtins.str]] = None,
342
+ external_id: Optional[pulumi.Input[builtins.str]] = None,
343
+ name: Optional[pulumi.Input[builtins.str]] = None,
344
+ namespace: Optional[pulumi.Input[builtins.str]] = None,
345
+ rotation_period: Optional[pulumi.Input[builtins.int]] = None,
346
+ username: Optional[pulumi.Input[builtins.str]] = None,
223
347
  __props__=None):
224
348
  """
225
349
  ## Example Usage
@@ -238,6 +362,23 @@ class SecretBackendStaticRole(pulumi.CustomResource):
238
362
  rotation_period=3600)
239
363
  ```
240
364
 
365
+ ```python
366
+ import pulumi
367
+ import pulumi_vault as vault
368
+
369
+ aws = vault.aws.SecretBackend("aws",
370
+ path="my-aws",
371
+ description="Obtain AWS credentials.")
372
+ assume_role = vault.aws.SecretBackendStaticRole("assume-role",
373
+ backend=aws.path,
374
+ name="assume-role-test",
375
+ username="my-assume-role-user",
376
+ assume_role_arn="arn:aws:iam::123456789012:role/assume-role",
377
+ assume_role_session_name="assume-role-session",
378
+ external_id="test-id",
379
+ rotation_period=3600)
380
+ ```
381
+
241
382
  ## Import
242
383
 
243
384
  AWS secret backend static role can be imported using the full path to the role
@@ -249,16 +390,25 @@ class SecretBackendStaticRole(pulumi.CustomResource):
249
390
 
250
391
  :param str resource_name: The name of the resource.
251
392
  :param pulumi.ResourceOptions opts: Options for the resource.
252
- :param pulumi.Input[str] backend: The unique path this backend should be mounted at. Must
393
+ :param pulumi.Input[builtins.str] assume_role_arn: Specifies the ARN of the role that Vault should assume.
394
+ When provided, Vault will use AWS STS to assume this role and generate temporary credentials.
395
+ If `assume_role_arn` is provided, `assume_role_session_name` must also be provided.
396
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
397
+ :param pulumi.Input[builtins.str] assume_role_session_name: Specifies the session name to use when assuming the role.
398
+ If `assume_role_session_name` is provided, `assume_role_arn` must also be provided.
399
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
400
+ :param pulumi.Input[builtins.str] backend: The unique path this backend should be mounted at. Must
253
401
  not begin or end with a `/`. Defaults to `aws`
254
- :param pulumi.Input[str] name: The name to identify this role within the backend.
402
+ :param pulumi.Input[builtins.str] external_id: Specifies the external ID to use when assuming the role.
403
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
404
+ :param pulumi.Input[builtins.str] name: The name to identify this role within the backend.
255
405
  Must be unique within the backend.
256
- :param pulumi.Input[str] namespace: The namespace to provision the resource in.
406
+ :param pulumi.Input[builtins.str] namespace: The namespace to provision the resource in.
257
407
  The value should not contain leading or trailing forward slashes.
258
408
  The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
259
409
  *Available only for Vault Enterprise*.
260
- :param pulumi.Input[int] rotation_period: How often Vault should rotate the password of the user entry.
261
- :param pulumi.Input[str] username: The username of the existing AWS IAM to manage password rotation for.
410
+ :param pulumi.Input[builtins.int] rotation_period: How often Vault should rotate the password of the user entry.
411
+ :param pulumi.Input[builtins.str] username: The username of the existing AWS IAM to manage password rotation for.
262
412
  """
263
413
  ...
264
414
  @overload
@@ -283,6 +433,23 @@ class SecretBackendStaticRole(pulumi.CustomResource):
283
433
  rotation_period=3600)
284
434
  ```
285
435
 
436
+ ```python
437
+ import pulumi
438
+ import pulumi_vault as vault
439
+
440
+ aws = vault.aws.SecretBackend("aws",
441
+ path="my-aws",
442
+ description="Obtain AWS credentials.")
443
+ assume_role = vault.aws.SecretBackendStaticRole("assume-role",
444
+ backend=aws.path,
445
+ name="assume-role-test",
446
+ username="my-assume-role-user",
447
+ assume_role_arn="arn:aws:iam::123456789012:role/assume-role",
448
+ assume_role_session_name="assume-role-session",
449
+ external_id="test-id",
450
+ rotation_period=3600)
451
+ ```
452
+
286
453
  ## Import
287
454
 
288
455
  AWS secret backend static role can be imported using the full path to the role
@@ -307,11 +474,14 @@ class SecretBackendStaticRole(pulumi.CustomResource):
307
474
  def _internal_init(__self__,
308
475
  resource_name: str,
309
476
  opts: Optional[pulumi.ResourceOptions] = None,
310
- backend: Optional[pulumi.Input[str]] = None,
311
- name: Optional[pulumi.Input[str]] = None,
312
- namespace: Optional[pulumi.Input[str]] = None,
313
- rotation_period: Optional[pulumi.Input[int]] = None,
314
- username: Optional[pulumi.Input[str]] = None,
477
+ assume_role_arn: Optional[pulumi.Input[builtins.str]] = None,
478
+ assume_role_session_name: Optional[pulumi.Input[builtins.str]] = None,
479
+ backend: Optional[pulumi.Input[builtins.str]] = None,
480
+ external_id: Optional[pulumi.Input[builtins.str]] = None,
481
+ name: Optional[pulumi.Input[builtins.str]] = None,
482
+ namespace: Optional[pulumi.Input[builtins.str]] = None,
483
+ rotation_period: Optional[pulumi.Input[builtins.int]] = None,
484
+ username: Optional[pulumi.Input[builtins.str]] = None,
315
485
  __props__=None):
316
486
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
317
487
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -321,7 +491,10 @@ class SecretBackendStaticRole(pulumi.CustomResource):
321
491
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
322
492
  __props__ = SecretBackendStaticRoleArgs.__new__(SecretBackendStaticRoleArgs)
323
493
 
494
+ __props__.__dict__["assume_role_arn"] = assume_role_arn
495
+ __props__.__dict__["assume_role_session_name"] = assume_role_session_name
324
496
  __props__.__dict__["backend"] = backend
497
+ __props__.__dict__["external_id"] = external_id
325
498
  __props__.__dict__["name"] = name
326
499
  __props__.__dict__["namespace"] = namespace
327
500
  if rotation_period is None and not opts.urn:
@@ -340,11 +513,14 @@ class SecretBackendStaticRole(pulumi.CustomResource):
340
513
  def get(resource_name: str,
341
514
  id: pulumi.Input[str],
342
515
  opts: Optional[pulumi.ResourceOptions] = None,
343
- backend: Optional[pulumi.Input[str]] = None,
344
- name: Optional[pulumi.Input[str]] = None,
345
- namespace: Optional[pulumi.Input[str]] = None,
346
- rotation_period: Optional[pulumi.Input[int]] = None,
347
- username: Optional[pulumi.Input[str]] = None) -> 'SecretBackendStaticRole':
516
+ assume_role_arn: Optional[pulumi.Input[builtins.str]] = None,
517
+ assume_role_session_name: Optional[pulumi.Input[builtins.str]] = None,
518
+ backend: Optional[pulumi.Input[builtins.str]] = None,
519
+ external_id: Optional[pulumi.Input[builtins.str]] = None,
520
+ name: Optional[pulumi.Input[builtins.str]] = None,
521
+ namespace: Optional[pulumi.Input[builtins.str]] = None,
522
+ rotation_period: Optional[pulumi.Input[builtins.int]] = None,
523
+ username: Optional[pulumi.Input[builtins.str]] = None) -> 'SecretBackendStaticRole':
348
524
  """
349
525
  Get an existing SecretBackendStaticRole resource's state with the given name, id, and optional extra
350
526
  properties used to qualify the lookup.
@@ -352,40 +528,82 @@ class SecretBackendStaticRole(pulumi.CustomResource):
352
528
  :param str resource_name: The unique name of the resulting resource.
353
529
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
354
530
  :param pulumi.ResourceOptions opts: Options for the resource.
355
- :param pulumi.Input[str] backend: The unique path this backend should be mounted at. Must
531
+ :param pulumi.Input[builtins.str] assume_role_arn: Specifies the ARN of the role that Vault should assume.
532
+ When provided, Vault will use AWS STS to assume this role and generate temporary credentials.
533
+ If `assume_role_arn` is provided, `assume_role_session_name` must also be provided.
534
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
535
+ :param pulumi.Input[builtins.str] assume_role_session_name: Specifies the session name to use when assuming the role.
536
+ If `assume_role_session_name` is provided, `assume_role_arn` must also be provided.
537
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
538
+ :param pulumi.Input[builtins.str] backend: The unique path this backend should be mounted at. Must
356
539
  not begin or end with a `/`. Defaults to `aws`
357
- :param pulumi.Input[str] name: The name to identify this role within the backend.
540
+ :param pulumi.Input[builtins.str] external_id: Specifies the external ID to use when assuming the role.
541
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
542
+ :param pulumi.Input[builtins.str] name: The name to identify this role within the backend.
358
543
  Must be unique within the backend.
359
- :param pulumi.Input[str] namespace: The namespace to provision the resource in.
544
+ :param pulumi.Input[builtins.str] namespace: The namespace to provision the resource in.
360
545
  The value should not contain leading or trailing forward slashes.
361
546
  The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
362
547
  *Available only for Vault Enterprise*.
363
- :param pulumi.Input[int] rotation_period: How often Vault should rotate the password of the user entry.
364
- :param pulumi.Input[str] username: The username of the existing AWS IAM to manage password rotation for.
548
+ :param pulumi.Input[builtins.int] rotation_period: How often Vault should rotate the password of the user entry.
549
+ :param pulumi.Input[builtins.str] username: The username of the existing AWS IAM to manage password rotation for.
365
550
  """
366
551
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
367
552
 
368
553
  __props__ = _SecretBackendStaticRoleState.__new__(_SecretBackendStaticRoleState)
369
554
 
555
+ __props__.__dict__["assume_role_arn"] = assume_role_arn
556
+ __props__.__dict__["assume_role_session_name"] = assume_role_session_name
370
557
  __props__.__dict__["backend"] = backend
558
+ __props__.__dict__["external_id"] = external_id
371
559
  __props__.__dict__["name"] = name
372
560
  __props__.__dict__["namespace"] = namespace
373
561
  __props__.__dict__["rotation_period"] = rotation_period
374
562
  __props__.__dict__["username"] = username
375
563
  return SecretBackendStaticRole(resource_name, opts=opts, __props__=__props__)
376
564
 
565
+ @property
566
+ @pulumi.getter(name="assumeRoleArn")
567
+ def assume_role_arn(self) -> pulumi.Output[Optional[builtins.str]]:
568
+ """
569
+ Specifies the ARN of the role that Vault should assume.
570
+ When provided, Vault will use AWS STS to assume this role and generate temporary credentials.
571
+ If `assume_role_arn` is provided, `assume_role_session_name` must also be provided.
572
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
573
+ """
574
+ return pulumi.get(self, "assume_role_arn")
575
+
576
+ @property
577
+ @pulumi.getter(name="assumeRoleSessionName")
578
+ def assume_role_session_name(self) -> pulumi.Output[Optional[builtins.str]]:
579
+ """
580
+ Specifies the session name to use when assuming the role.
581
+ If `assume_role_session_name` is provided, `assume_role_arn` must also be provided.
582
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
583
+ """
584
+ return pulumi.get(self, "assume_role_session_name")
585
+
377
586
  @property
378
587
  @pulumi.getter
379
- def backend(self) -> pulumi.Output[Optional[str]]:
588
+ def backend(self) -> pulumi.Output[Optional[builtins.str]]:
380
589
  """
381
590
  The unique path this backend should be mounted at. Must
382
591
  not begin or end with a `/`. Defaults to `aws`
383
592
  """
384
593
  return pulumi.get(self, "backend")
385
594
 
595
+ @property
596
+ @pulumi.getter(name="externalId")
597
+ def external_id(self) -> pulumi.Output[Optional[builtins.str]]:
598
+ """
599
+ Specifies the external ID to use when assuming the role.
600
+ Requires Vault 1.19+. *Available only for Vault Enterprise*.
601
+ """
602
+ return pulumi.get(self, "external_id")
603
+
386
604
  @property
387
605
  @pulumi.getter
388
- def name(self) -> pulumi.Output[str]:
606
+ def name(self) -> pulumi.Output[builtins.str]:
389
607
  """
390
608
  The name to identify this role within the backend.
391
609
  Must be unique within the backend.
@@ -394,7 +612,7 @@ class SecretBackendStaticRole(pulumi.CustomResource):
394
612
 
395
613
  @property
396
614
  @pulumi.getter
397
- def namespace(self) -> pulumi.Output[Optional[str]]:
615
+ def namespace(self) -> pulumi.Output[Optional[builtins.str]]:
398
616
  """
399
617
  The namespace to provision the resource in.
400
618
  The value should not contain leading or trailing forward slashes.
@@ -405,7 +623,7 @@ class SecretBackendStaticRole(pulumi.CustomResource):
405
623
 
406
624
  @property
407
625
  @pulumi.getter(name="rotationPeriod")
408
- def rotation_period(self) -> pulumi.Output[int]:
626
+ def rotation_period(self) -> pulumi.Output[builtins.int]:
409
627
  """
410
628
  How often Vault should rotate the password of the user entry.
411
629
  """
@@ -413,7 +631,7 @@ class SecretBackendStaticRole(pulumi.CustomResource):
413
631
 
414
632
  @property
415
633
  @pulumi.getter
416
- def username(self) -> pulumi.Output[str]:
634
+ def username(self) -> pulumi.Output[builtins.str]:
417
635
  """
418
636
  The username of the existing AWS IAM to manage password rotation for.
419
637
  """
@@ -2,6 +2,7 @@
2
2
  # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
+ import builtins
5
6
  from .. import _utilities
6
7
  import typing
7
8
  # Export this package's modules as members: