pulumi-vault 5.21.0a1710160723__py3-none-any.whl → 6.5.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 (233) hide show
  1. pulumi_vault/__init__.py +76 -0
  2. pulumi_vault/_inputs.py +560 -0
  3. pulumi_vault/_utilities.py +41 -5
  4. pulumi_vault/ad/get_access_credentials.py +22 -7
  5. pulumi_vault/ad/secret_backend.py +14 -144
  6. pulumi_vault/ad/secret_library.py +14 -11
  7. pulumi_vault/ad/secret_role.py +12 -11
  8. pulumi_vault/alicloud/auth_backend_role.py +74 -192
  9. pulumi_vault/approle/auth_backend_login.py +12 -11
  10. pulumi_vault/approle/auth_backend_role.py +75 -193
  11. pulumi_vault/approle/auth_backend_role_secret_id.py +106 -11
  12. pulumi_vault/approle/get_auth_backend_role_id.py +18 -9
  13. pulumi_vault/audit.py +24 -27
  14. pulumi_vault/audit_request_header.py +11 -6
  15. pulumi_vault/auth_backend.py +64 -12
  16. pulumi_vault/aws/auth_backend_cert.py +12 -7
  17. pulumi_vault/aws/auth_backend_client.py +265 -24
  18. pulumi_vault/aws/auth_backend_config_identity.py +12 -11
  19. pulumi_vault/aws/auth_backend_identity_whitelist.py +18 -17
  20. pulumi_vault/aws/auth_backend_login.py +19 -22
  21. pulumi_vault/aws/auth_backend_role.py +75 -193
  22. pulumi_vault/aws/auth_backend_role_tag.py +12 -7
  23. pulumi_vault/aws/auth_backend_roletag_blacklist.py +18 -17
  24. pulumi_vault/aws/auth_backend_sts_role.py +59 -11
  25. pulumi_vault/aws/get_access_credentials.py +34 -7
  26. pulumi_vault/aws/get_static_access_credentials.py +19 -5
  27. pulumi_vault/aws/secret_backend.py +216 -7
  28. pulumi_vault/aws/secret_backend_role.py +183 -11
  29. pulumi_vault/aws/secret_backend_static_role.py +14 -11
  30. pulumi_vault/azure/_inputs.py +24 -0
  31. pulumi_vault/azure/auth_backend_config.py +151 -17
  32. pulumi_vault/azure/auth_backend_role.py +75 -193
  33. pulumi_vault/azure/backend.py +223 -29
  34. pulumi_vault/azure/backend_role.py +42 -41
  35. pulumi_vault/azure/get_access_credentials.py +39 -11
  36. pulumi_vault/azure/outputs.py +5 -0
  37. pulumi_vault/cert_auth_backend_role.py +87 -271
  38. pulumi_vault/config/__init__.pyi +5 -0
  39. pulumi_vault/config/_inputs.py +73 -0
  40. pulumi_vault/config/outputs.py +35 -0
  41. pulumi_vault/config/ui_custom_message.py +529 -0
  42. pulumi_vault/config/vars.py +5 -0
  43. pulumi_vault/consul/secret_backend.py +22 -25
  44. pulumi_vault/consul/secret_backend_role.py +14 -80
  45. pulumi_vault/database/_inputs.py +2808 -879
  46. pulumi_vault/database/outputs.py +749 -838
  47. pulumi_vault/database/secret_backend_connection.py +117 -114
  48. pulumi_vault/database/secret_backend_role.py +29 -24
  49. pulumi_vault/database/secret_backend_static_role.py +85 -15
  50. pulumi_vault/database/secrets_mount.py +425 -138
  51. pulumi_vault/egp_policy.py +16 -15
  52. pulumi_vault/gcp/_inputs.py +111 -0
  53. pulumi_vault/gcp/auth_backend.py +248 -35
  54. pulumi_vault/gcp/auth_backend_role.py +75 -271
  55. pulumi_vault/gcp/get_auth_backend_role.py +43 -9
  56. pulumi_vault/gcp/outputs.py +5 -0
  57. pulumi_vault/gcp/secret_backend.py +287 -16
  58. pulumi_vault/gcp/secret_impersonated_account.py +74 -17
  59. pulumi_vault/gcp/secret_roleset.py +29 -26
  60. pulumi_vault/gcp/secret_static_account.py +37 -34
  61. pulumi_vault/generic/endpoint.py +22 -21
  62. pulumi_vault/generic/get_secret.py +68 -12
  63. pulumi_vault/generic/secret.py +19 -14
  64. pulumi_vault/get_auth_backend.py +24 -11
  65. pulumi_vault/get_auth_backends.py +33 -11
  66. pulumi_vault/get_namespace.py +226 -0
  67. pulumi_vault/get_namespaces.py +153 -0
  68. pulumi_vault/get_nomad_access_token.py +31 -15
  69. pulumi_vault/get_policy_document.py +34 -23
  70. pulumi_vault/get_raft_autopilot_state.py +29 -14
  71. pulumi_vault/github/_inputs.py +55 -0
  72. pulumi_vault/github/auth_backend.py +17 -16
  73. pulumi_vault/github/outputs.py +5 -0
  74. pulumi_vault/github/team.py +14 -13
  75. pulumi_vault/github/user.py +14 -13
  76. pulumi_vault/identity/entity.py +18 -15
  77. pulumi_vault/identity/entity_alias.py +18 -15
  78. pulumi_vault/identity/entity_policies.py +24 -19
  79. pulumi_vault/identity/get_entity.py +40 -14
  80. pulumi_vault/identity/get_group.py +45 -13
  81. pulumi_vault/identity/get_oidc_client_creds.py +21 -11
  82. pulumi_vault/identity/get_oidc_openid_config.py +39 -13
  83. pulumi_vault/identity/get_oidc_public_keys.py +29 -14
  84. pulumi_vault/identity/group.py +50 -49
  85. pulumi_vault/identity/group_alias.py +14 -11
  86. pulumi_vault/identity/group_member_entity_ids.py +24 -74
  87. pulumi_vault/identity/group_member_group_ids.py +36 -27
  88. pulumi_vault/identity/group_policies.py +16 -15
  89. pulumi_vault/identity/mfa_duo.py +9 -8
  90. pulumi_vault/identity/mfa_login_enforcement.py +13 -8
  91. pulumi_vault/identity/mfa_okta.py +9 -8
  92. pulumi_vault/identity/mfa_pingid.py +5 -4
  93. pulumi_vault/identity/mfa_totp.py +5 -4
  94. pulumi_vault/identity/oidc.py +12 -11
  95. pulumi_vault/identity/oidc_assignment.py +22 -13
  96. pulumi_vault/identity/oidc_client.py +34 -25
  97. pulumi_vault/identity/oidc_key.py +28 -19
  98. pulumi_vault/identity/oidc_key_allowed_client_id.py +28 -19
  99. pulumi_vault/identity/oidc_provider.py +34 -23
  100. pulumi_vault/identity/oidc_role.py +40 -27
  101. pulumi_vault/identity/oidc_scope.py +18 -15
  102. pulumi_vault/identity/outputs.py +8 -3
  103. pulumi_vault/jwt/_inputs.py +55 -0
  104. pulumi_vault/jwt/auth_backend.py +39 -46
  105. pulumi_vault/jwt/auth_backend_role.py +131 -260
  106. pulumi_vault/jwt/outputs.py +5 -0
  107. pulumi_vault/kmip/secret_backend.py +22 -21
  108. pulumi_vault/kmip/secret_role.py +12 -11
  109. pulumi_vault/kmip/secret_scope.py +12 -11
  110. pulumi_vault/kubernetes/auth_backend_config.py +55 -7
  111. pulumi_vault/kubernetes/auth_backend_role.py +68 -179
  112. pulumi_vault/kubernetes/get_auth_backend_config.py +60 -8
  113. pulumi_vault/kubernetes/get_auth_backend_role.py +40 -5
  114. pulumi_vault/kubernetes/get_service_account_token.py +39 -15
  115. pulumi_vault/kubernetes/secret_backend.py +314 -29
  116. pulumi_vault/kubernetes/secret_backend_role.py +135 -56
  117. pulumi_vault/kv/_inputs.py +36 -4
  118. pulumi_vault/kv/get_secret.py +23 -12
  119. pulumi_vault/kv/get_secret_subkeys_v2.py +31 -14
  120. pulumi_vault/kv/get_secret_v2.py +89 -9
  121. pulumi_vault/kv/get_secrets_list.py +22 -15
  122. pulumi_vault/kv/get_secrets_list_v2.py +35 -19
  123. pulumi_vault/kv/outputs.py +8 -3
  124. pulumi_vault/kv/secret.py +19 -18
  125. pulumi_vault/kv/secret_backend_v2.py +12 -11
  126. pulumi_vault/kv/secret_v2.py +55 -52
  127. pulumi_vault/ldap/auth_backend.py +125 -168
  128. pulumi_vault/ldap/auth_backend_group.py +12 -11
  129. pulumi_vault/ldap/auth_backend_user.py +12 -11
  130. pulumi_vault/ldap/get_dynamic_credentials.py +23 -5
  131. pulumi_vault/ldap/get_static_credentials.py +24 -5
  132. pulumi_vault/ldap/secret_backend.py +352 -84
  133. pulumi_vault/ldap/secret_backend_dynamic_role.py +12 -11
  134. pulumi_vault/ldap/secret_backend_library_set.py +14 -11
  135. pulumi_vault/ldap/secret_backend_static_role.py +67 -12
  136. pulumi_vault/managed/_inputs.py +289 -132
  137. pulumi_vault/managed/keys.py +27 -43
  138. pulumi_vault/managed/outputs.py +89 -132
  139. pulumi_vault/mfa_duo.py +16 -13
  140. pulumi_vault/mfa_okta.py +16 -13
  141. pulumi_vault/mfa_pingid.py +16 -13
  142. pulumi_vault/mfa_totp.py +22 -19
  143. pulumi_vault/mongodbatlas/secret_backend.py +18 -17
  144. pulumi_vault/mongodbatlas/secret_role.py +41 -38
  145. pulumi_vault/mount.py +389 -65
  146. pulumi_vault/namespace.py +26 -21
  147. pulumi_vault/nomad_secret_backend.py +16 -15
  148. pulumi_vault/nomad_secret_role.py +12 -11
  149. pulumi_vault/okta/_inputs.py +47 -8
  150. pulumi_vault/okta/auth_backend.py +483 -41
  151. pulumi_vault/okta/auth_backend_group.py +12 -11
  152. pulumi_vault/okta/auth_backend_user.py +12 -11
  153. pulumi_vault/okta/outputs.py +13 -8
  154. pulumi_vault/outputs.py +5 -0
  155. pulumi_vault/password_policy.py +18 -15
  156. pulumi_vault/pkisecret/__init__.py +7 -0
  157. pulumi_vault/pkisecret/_inputs.py +115 -0
  158. pulumi_vault/pkisecret/backend_acme_eab.py +549 -0
  159. pulumi_vault/pkisecret/backend_config_acme.py +642 -0
  160. pulumi_vault/pkisecret/backend_config_cluster.py +369 -0
  161. pulumi_vault/pkisecret/backend_config_cmpv2.py +525 -0
  162. pulumi_vault/pkisecret/backend_config_est.py +619 -0
  163. pulumi_vault/pkisecret/get_backend_config_cmpv2.py +209 -0
  164. pulumi_vault/pkisecret/get_backend_config_est.py +251 -0
  165. pulumi_vault/pkisecret/get_backend_issuer.py +63 -7
  166. pulumi_vault/pkisecret/get_backend_issuers.py +21 -12
  167. pulumi_vault/pkisecret/get_backend_key.py +24 -13
  168. pulumi_vault/pkisecret/get_backend_keys.py +21 -12
  169. pulumi_vault/pkisecret/outputs.py +109 -0
  170. pulumi_vault/pkisecret/secret_backend_cert.py +18 -15
  171. pulumi_vault/pkisecret/secret_backend_config_ca.py +16 -15
  172. pulumi_vault/pkisecret/secret_backend_config_issuers.py +12 -11
  173. pulumi_vault/pkisecret/secret_backend_config_urls.py +59 -11
  174. pulumi_vault/pkisecret/secret_backend_crl_config.py +14 -13
  175. pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +16 -15
  176. pulumi_vault/pkisecret/secret_backend_intermediate_set_signed.py +22 -21
  177. pulumi_vault/pkisecret/secret_backend_issuer.py +12 -11
  178. pulumi_vault/pkisecret/secret_backend_key.py +12 -7
  179. pulumi_vault/pkisecret/secret_backend_role.py +66 -16
  180. pulumi_vault/pkisecret/secret_backend_root_cert.py +16 -52
  181. pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +18 -62
  182. pulumi_vault/pkisecret/secret_backend_sign.py +18 -60
  183. pulumi_vault/plugin.py +595 -0
  184. pulumi_vault/plugin_pinned_version.py +298 -0
  185. pulumi_vault/policy.py +12 -7
  186. pulumi_vault/provider.py +48 -53
  187. pulumi_vault/pulumi-plugin.json +2 -1
  188. pulumi_vault/quota_lease_count.py +58 -8
  189. pulumi_vault/quota_rate_limit.py +54 -4
  190. pulumi_vault/rabbitmq/_inputs.py +61 -0
  191. pulumi_vault/rabbitmq/outputs.py +5 -0
  192. pulumi_vault/rabbitmq/secret_backend.py +16 -15
  193. pulumi_vault/rabbitmq/secret_backend_role.py +52 -49
  194. pulumi_vault/raft_autopilot.py +12 -11
  195. pulumi_vault/raft_snapshot_agent_config.py +121 -311
  196. pulumi_vault/rgp_policy.py +14 -13
  197. pulumi_vault/saml/auth_backend.py +20 -19
  198. pulumi_vault/saml/auth_backend_role.py +90 -199
  199. pulumi_vault/secrets/__init__.py +3 -0
  200. pulumi_vault/secrets/_inputs.py +110 -0
  201. pulumi_vault/secrets/outputs.py +94 -0
  202. pulumi_vault/secrets/sync_association.py +56 -75
  203. pulumi_vault/secrets/sync_aws_destination.py +240 -29
  204. pulumi_vault/secrets/sync_azure_destination.py +90 -33
  205. pulumi_vault/secrets/sync_config.py +7 -6
  206. pulumi_vault/secrets/sync_gcp_destination.py +156 -27
  207. pulumi_vault/secrets/sync_gh_destination.py +187 -15
  208. pulumi_vault/secrets/sync_github_apps.py +375 -0
  209. pulumi_vault/secrets/sync_vercel_destination.py +72 -15
  210. pulumi_vault/ssh/_inputs.py +28 -32
  211. pulumi_vault/ssh/outputs.py +11 -32
  212. pulumi_vault/ssh/secret_backend_ca.py +106 -11
  213. pulumi_vault/ssh/secret_backend_role.py +110 -120
  214. pulumi_vault/terraformcloud/secret_backend.py +5 -56
  215. pulumi_vault/terraformcloud/secret_creds.py +14 -24
  216. pulumi_vault/terraformcloud/secret_role.py +14 -76
  217. pulumi_vault/token.py +26 -25
  218. pulumi_vault/tokenauth/auth_backend_role.py +76 -201
  219. pulumi_vault/transform/alphabet.py +16 -13
  220. pulumi_vault/transform/get_decode.py +45 -21
  221. pulumi_vault/transform/get_encode.py +45 -21
  222. pulumi_vault/transform/role.py +16 -13
  223. pulumi_vault/transform/template.py +30 -25
  224. pulumi_vault/transform/transformation.py +12 -7
  225. pulumi_vault/transit/get_decrypt.py +26 -25
  226. pulumi_vault/transit/get_encrypt.py +24 -19
  227. pulumi_vault/transit/secret_backend_key.py +25 -97
  228. pulumi_vault/transit/secret_cache_config.py +12 -11
  229. {pulumi_vault-5.21.0a1710160723.dist-info → pulumi_vault-6.5.0.dist-info}/METADATA +8 -7
  230. pulumi_vault-6.5.0.dist-info/RECORD +260 -0
  231. {pulumi_vault-5.21.0a1710160723.dist-info → pulumi_vault-6.5.0.dist-info}/WHEEL +1 -1
  232. pulumi_vault-5.21.0a1710160723.dist-info/RECORD +0 -244
  233. {pulumi_vault-5.21.0a1710160723.dist-info → pulumi_vault-6.5.0.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from .. import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -20,6 +25,7 @@ class SecretBackendRoleArgs:
20
25
  key_type: pulumi.Input[str],
21
26
  algorithm_signer: Optional[pulumi.Input[str]] = None,
22
27
  allow_bare_domains: Optional[pulumi.Input[bool]] = None,
28
+ allow_empty_principals: Optional[pulumi.Input[bool]] = None,
23
29
  allow_host_certificates: Optional[pulumi.Input[bool]] = None,
24
30
  allow_subdomains: Optional[pulumi.Input[bool]] = None,
25
31
  allow_user_certificates: Optional[pulumi.Input[bool]] = None,
@@ -29,12 +35,11 @@ class SecretBackendRoleArgs:
29
35
  allowed_domains_template: Optional[pulumi.Input[bool]] = None,
30
36
  allowed_extensions: Optional[pulumi.Input[str]] = None,
31
37
  allowed_user_key_configs: Optional[pulumi.Input[Sequence[pulumi.Input['SecretBackendRoleAllowedUserKeyConfigArgs']]]] = None,
32
- allowed_user_key_lengths: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None,
33
38
  allowed_users: Optional[pulumi.Input[str]] = None,
34
39
  allowed_users_template: Optional[pulumi.Input[bool]] = None,
35
40
  cidr_list: Optional[pulumi.Input[str]] = None,
36
- default_critical_options: Optional[pulumi.Input[Mapping[str, Any]]] = None,
37
- default_extensions: Optional[pulumi.Input[Mapping[str, Any]]] = None,
41
+ default_critical_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
42
+ default_extensions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
38
43
  default_user: Optional[pulumi.Input[str]] = None,
39
44
  default_user_template: Optional[pulumi.Input[bool]] = None,
40
45
  key_id_format: Optional[pulumi.Input[str]] = None,
@@ -49,6 +54,9 @@ class SecretBackendRoleArgs:
49
54
  :param pulumi.Input[str] key_type: Specifies the type of credentials generated by this role. This can be either `otp`, `dynamic` or `ca`.
50
55
  :param pulumi.Input[str] algorithm_signer: When supplied, this value specifies a signing algorithm for the key. Possible values: ssh-rsa, rsa-sha2-256, rsa-sha2-512.
51
56
  :param pulumi.Input[bool] allow_bare_domains: Specifies if host certificates that are requested are allowed to use the base domains listed in `allowed_domains`.
57
+ :param pulumi.Input[bool] allow_empty_principals: Allow signing certificates with no
58
+ valid principals (e.g. any valid principal). For backwards compatibility
59
+ only. The default of false is highly recommended.
52
60
  :param pulumi.Input[bool] allow_host_certificates: Specifies if certificates are allowed to be signed for use as a 'host'.
53
61
  :param pulumi.Input[bool] allow_subdomains: Specifies if host certificates that are requested are allowed to be subdomains of those listed in `allowed_domains`.
54
62
  :param pulumi.Input[bool] allow_user_certificates: Specifies if certificates are allowed to be signed for use as a 'user'.
@@ -61,14 +69,11 @@ class SecretBackendRoleArgs:
61
69
  :param pulumi.Input[Sequence[pulumi.Input['SecretBackendRoleAllowedUserKeyConfigArgs']]] allowed_user_key_configs: Set of configuration blocks to define allowed
62
70
  user key configuration, like key type and their lengths. Can be specified multiple times.
63
71
  *See Configuration-Options for more info*
64
- :param pulumi.Input[Mapping[str, pulumi.Input[int]]] allowed_user_key_lengths: Specifies a map of ssh key types and their expected sizes which
65
- are allowed to be signed by the CA type.
66
- *Deprecated: use* allowed_user_key_config *instead*
67
72
  :param pulumi.Input[str] allowed_users: Specifies a comma-separated list of usernames that are to be allowed, only if certain usernames are to be allowed.
68
73
  :param pulumi.Input[bool] allowed_users_template: Specifies if `allowed_users` can be declared using identity template policies. Non-templated users are also permitted.
69
74
  :param pulumi.Input[str] cidr_list: The comma-separated string of CIDR blocks for which this role is applicable.
70
- :param pulumi.Input[Mapping[str, Any]] default_critical_options: Specifies a map of critical options that certificates have when signed.
71
- :param pulumi.Input[Mapping[str, Any]] default_extensions: Specifies a map of extensions that certificates have when signed.
75
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] default_critical_options: Specifies a map of critical options that certificates have when signed.
76
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] default_extensions: Specifies a map of extensions that certificates have when signed.
72
77
  :param pulumi.Input[str] default_user: Specifies the default username for which a credential will be generated.
73
78
  :param pulumi.Input[bool] default_user_template: If set, `default_users` can be specified using identity template values. A non-templated user is also permitted.
74
79
  :param pulumi.Input[str] key_id_format: Specifies a custom format for the key id of a signed certificate.
@@ -76,7 +81,7 @@ class SecretBackendRoleArgs:
76
81
  :param pulumi.Input[str] name: Specifies the name of the role to create.
77
82
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
78
83
  The value should not contain leading or trailing forward slashes.
79
- The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
84
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
80
85
  *Available only for Vault Enterprise*.
81
86
  :param pulumi.Input[str] not_before_duration: Specifies the duration by which to backdate the ValidAfter property. Uses duration format strings.
82
87
  :param pulumi.Input[str] ttl: Specifies the Time To Live value.
@@ -87,6 +92,8 @@ class SecretBackendRoleArgs:
87
92
  pulumi.set(__self__, "algorithm_signer", algorithm_signer)
88
93
  if allow_bare_domains is not None:
89
94
  pulumi.set(__self__, "allow_bare_domains", allow_bare_domains)
95
+ if allow_empty_principals is not None:
96
+ pulumi.set(__self__, "allow_empty_principals", allow_empty_principals)
90
97
  if allow_host_certificates is not None:
91
98
  pulumi.set(__self__, "allow_host_certificates", allow_host_certificates)
92
99
  if allow_subdomains is not None:
@@ -105,11 +112,6 @@ class SecretBackendRoleArgs:
105
112
  pulumi.set(__self__, "allowed_extensions", allowed_extensions)
106
113
  if allowed_user_key_configs is not None:
107
114
  pulumi.set(__self__, "allowed_user_key_configs", allowed_user_key_configs)
108
- if allowed_user_key_lengths is not None:
109
- warnings.warn("""Set in allowed_user_key_config""", DeprecationWarning)
110
- pulumi.log.warn("""allowed_user_key_lengths is deprecated: Set in allowed_user_key_config""")
111
- if allowed_user_key_lengths is not None:
112
- pulumi.set(__self__, "allowed_user_key_lengths", allowed_user_key_lengths)
113
115
  if allowed_users is not None:
114
116
  pulumi.set(__self__, "allowed_users", allowed_users)
115
117
  if allowed_users_template is not None:
@@ -185,6 +187,20 @@ class SecretBackendRoleArgs:
185
187
  def allow_bare_domains(self, value: Optional[pulumi.Input[bool]]):
186
188
  pulumi.set(self, "allow_bare_domains", value)
187
189
 
190
+ @property
191
+ @pulumi.getter(name="allowEmptyPrincipals")
192
+ def allow_empty_principals(self) -> Optional[pulumi.Input[bool]]:
193
+ """
194
+ Allow signing certificates with no
195
+ valid principals (e.g. any valid principal). For backwards compatibility
196
+ only. The default of false is highly recommended.
197
+ """
198
+ return pulumi.get(self, "allow_empty_principals")
199
+
200
+ @allow_empty_principals.setter
201
+ def allow_empty_principals(self, value: Optional[pulumi.Input[bool]]):
202
+ pulumi.set(self, "allow_empty_principals", value)
203
+
188
204
  @property
189
205
  @pulumi.getter(name="allowHostCertificates")
190
206
  def allow_host_certificates(self) -> Optional[pulumi.Input[bool]]:
@@ -296,23 +312,6 @@ class SecretBackendRoleArgs:
296
312
  def allowed_user_key_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecretBackendRoleAllowedUserKeyConfigArgs']]]]):
297
313
  pulumi.set(self, "allowed_user_key_configs", value)
298
314
 
299
- @property
300
- @pulumi.getter(name="allowedUserKeyLengths")
301
- def allowed_user_key_lengths(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]]:
302
- """
303
- Specifies a map of ssh key types and their expected sizes which
304
- are allowed to be signed by the CA type.
305
- *Deprecated: use* allowed_user_key_config *instead*
306
- """
307
- warnings.warn("""Set in allowed_user_key_config""", DeprecationWarning)
308
- pulumi.log.warn("""allowed_user_key_lengths is deprecated: Set in allowed_user_key_config""")
309
-
310
- return pulumi.get(self, "allowed_user_key_lengths")
311
-
312
- @allowed_user_key_lengths.setter
313
- def allowed_user_key_lengths(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]]):
314
- pulumi.set(self, "allowed_user_key_lengths", value)
315
-
316
315
  @property
317
316
  @pulumi.getter(name="allowedUsers")
318
317
  def allowed_users(self) -> Optional[pulumi.Input[str]]:
@@ -351,26 +350,26 @@ class SecretBackendRoleArgs:
351
350
 
352
351
  @property
353
352
  @pulumi.getter(name="defaultCriticalOptions")
354
- def default_critical_options(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
353
+ def default_critical_options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
355
354
  """
356
355
  Specifies a map of critical options that certificates have when signed.
357
356
  """
358
357
  return pulumi.get(self, "default_critical_options")
359
358
 
360
359
  @default_critical_options.setter
361
- def default_critical_options(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
360
+ def default_critical_options(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
362
361
  pulumi.set(self, "default_critical_options", value)
363
362
 
364
363
  @property
365
364
  @pulumi.getter(name="defaultExtensions")
366
- def default_extensions(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
365
+ def default_extensions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
367
366
  """
368
367
  Specifies a map of extensions that certificates have when signed.
369
368
  """
370
369
  return pulumi.get(self, "default_extensions")
371
370
 
372
371
  @default_extensions.setter
373
- def default_extensions(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
372
+ def default_extensions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
374
373
  pulumi.set(self, "default_extensions", value)
375
374
 
376
375
  @property
@@ -439,7 +438,7 @@ class SecretBackendRoleArgs:
439
438
  """
440
439
  The namespace to provision the resource in.
441
440
  The value should not contain leading or trailing forward slashes.
442
- The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
441
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
443
442
  *Available only for Vault Enterprise*.
444
443
  """
445
444
  return pulumi.get(self, "namespace")
@@ -478,6 +477,7 @@ class _SecretBackendRoleState:
478
477
  def __init__(__self__, *,
479
478
  algorithm_signer: Optional[pulumi.Input[str]] = None,
480
479
  allow_bare_domains: Optional[pulumi.Input[bool]] = None,
480
+ allow_empty_principals: Optional[pulumi.Input[bool]] = None,
481
481
  allow_host_certificates: Optional[pulumi.Input[bool]] = None,
482
482
  allow_subdomains: Optional[pulumi.Input[bool]] = None,
483
483
  allow_user_certificates: Optional[pulumi.Input[bool]] = None,
@@ -487,13 +487,12 @@ class _SecretBackendRoleState:
487
487
  allowed_domains_template: Optional[pulumi.Input[bool]] = None,
488
488
  allowed_extensions: Optional[pulumi.Input[str]] = None,
489
489
  allowed_user_key_configs: Optional[pulumi.Input[Sequence[pulumi.Input['SecretBackendRoleAllowedUserKeyConfigArgs']]]] = None,
490
- allowed_user_key_lengths: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None,
491
490
  allowed_users: Optional[pulumi.Input[str]] = None,
492
491
  allowed_users_template: Optional[pulumi.Input[bool]] = None,
493
492
  backend: Optional[pulumi.Input[str]] = None,
494
493
  cidr_list: Optional[pulumi.Input[str]] = None,
495
- default_critical_options: Optional[pulumi.Input[Mapping[str, Any]]] = None,
496
- default_extensions: Optional[pulumi.Input[Mapping[str, Any]]] = None,
494
+ default_critical_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
495
+ default_extensions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
497
496
  default_user: Optional[pulumi.Input[str]] = None,
498
497
  default_user_template: Optional[pulumi.Input[bool]] = None,
499
498
  key_id_format: Optional[pulumi.Input[str]] = None,
@@ -507,6 +506,9 @@ class _SecretBackendRoleState:
507
506
  Input properties used for looking up and filtering SecretBackendRole resources.
508
507
  :param pulumi.Input[str] algorithm_signer: When supplied, this value specifies a signing algorithm for the key. Possible values: ssh-rsa, rsa-sha2-256, rsa-sha2-512.
509
508
  :param pulumi.Input[bool] allow_bare_domains: Specifies if host certificates that are requested are allowed to use the base domains listed in `allowed_domains`.
509
+ :param pulumi.Input[bool] allow_empty_principals: Allow signing certificates with no
510
+ valid principals (e.g. any valid principal). For backwards compatibility
511
+ only. The default of false is highly recommended.
510
512
  :param pulumi.Input[bool] allow_host_certificates: Specifies if certificates are allowed to be signed for use as a 'host'.
511
513
  :param pulumi.Input[bool] allow_subdomains: Specifies if host certificates that are requested are allowed to be subdomains of those listed in `allowed_domains`.
512
514
  :param pulumi.Input[bool] allow_user_certificates: Specifies if certificates are allowed to be signed for use as a 'user'.
@@ -519,15 +521,12 @@ class _SecretBackendRoleState:
519
521
  :param pulumi.Input[Sequence[pulumi.Input['SecretBackendRoleAllowedUserKeyConfigArgs']]] allowed_user_key_configs: Set of configuration blocks to define allowed
520
522
  user key configuration, like key type and their lengths. Can be specified multiple times.
521
523
  *See Configuration-Options for more info*
522
- :param pulumi.Input[Mapping[str, pulumi.Input[int]]] allowed_user_key_lengths: Specifies a map of ssh key types and their expected sizes which
523
- are allowed to be signed by the CA type.
524
- *Deprecated: use* allowed_user_key_config *instead*
525
524
  :param pulumi.Input[str] allowed_users: Specifies a comma-separated list of usernames that are to be allowed, only if certain usernames are to be allowed.
526
525
  :param pulumi.Input[bool] allowed_users_template: Specifies if `allowed_users` can be declared using identity template policies. Non-templated users are also permitted.
527
526
  :param pulumi.Input[str] backend: The path where the SSH secret backend is mounted.
528
527
  :param pulumi.Input[str] cidr_list: The comma-separated string of CIDR blocks for which this role is applicable.
529
- :param pulumi.Input[Mapping[str, Any]] default_critical_options: Specifies a map of critical options that certificates have when signed.
530
- :param pulumi.Input[Mapping[str, Any]] default_extensions: Specifies a map of extensions that certificates have when signed.
528
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] default_critical_options: Specifies a map of critical options that certificates have when signed.
529
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] default_extensions: Specifies a map of extensions that certificates have when signed.
531
530
  :param pulumi.Input[str] default_user: Specifies the default username for which a credential will be generated.
532
531
  :param pulumi.Input[bool] default_user_template: If set, `default_users` can be specified using identity template values. A non-templated user is also permitted.
533
532
  :param pulumi.Input[str] key_id_format: Specifies a custom format for the key id of a signed certificate.
@@ -536,7 +535,7 @@ class _SecretBackendRoleState:
536
535
  :param pulumi.Input[str] name: Specifies the name of the role to create.
537
536
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
538
537
  The value should not contain leading or trailing forward slashes.
539
- The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
538
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
540
539
  *Available only for Vault Enterprise*.
541
540
  :param pulumi.Input[str] not_before_duration: Specifies the duration by which to backdate the ValidAfter property. Uses duration format strings.
542
541
  :param pulumi.Input[str] ttl: Specifies the Time To Live value.
@@ -545,6 +544,8 @@ class _SecretBackendRoleState:
545
544
  pulumi.set(__self__, "algorithm_signer", algorithm_signer)
546
545
  if allow_bare_domains is not None:
547
546
  pulumi.set(__self__, "allow_bare_domains", allow_bare_domains)
547
+ if allow_empty_principals is not None:
548
+ pulumi.set(__self__, "allow_empty_principals", allow_empty_principals)
548
549
  if allow_host_certificates is not None:
549
550
  pulumi.set(__self__, "allow_host_certificates", allow_host_certificates)
550
551
  if allow_subdomains is not None:
@@ -563,11 +564,6 @@ class _SecretBackendRoleState:
563
564
  pulumi.set(__self__, "allowed_extensions", allowed_extensions)
564
565
  if allowed_user_key_configs is not None:
565
566
  pulumi.set(__self__, "allowed_user_key_configs", allowed_user_key_configs)
566
- if allowed_user_key_lengths is not None:
567
- warnings.warn("""Set in allowed_user_key_config""", DeprecationWarning)
568
- pulumi.log.warn("""allowed_user_key_lengths is deprecated: Set in allowed_user_key_config""")
569
- if allowed_user_key_lengths is not None:
570
- pulumi.set(__self__, "allowed_user_key_lengths", allowed_user_key_lengths)
571
567
  if allowed_users is not None:
572
568
  pulumi.set(__self__, "allowed_users", allowed_users)
573
569
  if allowed_users_template is not None:
@@ -623,6 +619,20 @@ class _SecretBackendRoleState:
623
619
  def allow_bare_domains(self, value: Optional[pulumi.Input[bool]]):
624
620
  pulumi.set(self, "allow_bare_domains", value)
625
621
 
622
+ @property
623
+ @pulumi.getter(name="allowEmptyPrincipals")
624
+ def allow_empty_principals(self) -> Optional[pulumi.Input[bool]]:
625
+ """
626
+ Allow signing certificates with no
627
+ valid principals (e.g. any valid principal). For backwards compatibility
628
+ only. The default of false is highly recommended.
629
+ """
630
+ return pulumi.get(self, "allow_empty_principals")
631
+
632
+ @allow_empty_principals.setter
633
+ def allow_empty_principals(self, value: Optional[pulumi.Input[bool]]):
634
+ pulumi.set(self, "allow_empty_principals", value)
635
+
626
636
  @property
627
637
  @pulumi.getter(name="allowHostCertificates")
628
638
  def allow_host_certificates(self) -> Optional[pulumi.Input[bool]]:
@@ -734,23 +744,6 @@ class _SecretBackendRoleState:
734
744
  def allowed_user_key_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecretBackendRoleAllowedUserKeyConfigArgs']]]]):
735
745
  pulumi.set(self, "allowed_user_key_configs", value)
736
746
 
737
- @property
738
- @pulumi.getter(name="allowedUserKeyLengths")
739
- def allowed_user_key_lengths(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]]:
740
- """
741
- Specifies a map of ssh key types and their expected sizes which
742
- are allowed to be signed by the CA type.
743
- *Deprecated: use* allowed_user_key_config *instead*
744
- """
745
- warnings.warn("""Set in allowed_user_key_config""", DeprecationWarning)
746
- pulumi.log.warn("""allowed_user_key_lengths is deprecated: Set in allowed_user_key_config""")
747
-
748
- return pulumi.get(self, "allowed_user_key_lengths")
749
-
750
- @allowed_user_key_lengths.setter
751
- def allowed_user_key_lengths(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]]):
752
- pulumi.set(self, "allowed_user_key_lengths", value)
753
-
754
747
  @property
755
748
  @pulumi.getter(name="allowedUsers")
756
749
  def allowed_users(self) -> Optional[pulumi.Input[str]]:
@@ -801,26 +794,26 @@ class _SecretBackendRoleState:
801
794
 
802
795
  @property
803
796
  @pulumi.getter(name="defaultCriticalOptions")
804
- def default_critical_options(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
797
+ def default_critical_options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
805
798
  """
806
799
  Specifies a map of critical options that certificates have when signed.
807
800
  """
808
801
  return pulumi.get(self, "default_critical_options")
809
802
 
810
803
  @default_critical_options.setter
811
- def default_critical_options(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
804
+ def default_critical_options(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
812
805
  pulumi.set(self, "default_critical_options", value)
813
806
 
814
807
  @property
815
808
  @pulumi.getter(name="defaultExtensions")
816
- def default_extensions(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
809
+ def default_extensions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
817
810
  """
818
811
  Specifies a map of extensions that certificates have when signed.
819
812
  """
820
813
  return pulumi.get(self, "default_extensions")
821
814
 
822
815
  @default_extensions.setter
823
- def default_extensions(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
816
+ def default_extensions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
824
817
  pulumi.set(self, "default_extensions", value)
825
818
 
826
819
  @property
@@ -901,7 +894,7 @@ class _SecretBackendRoleState:
901
894
  """
902
895
  The namespace to provision the resource in.
903
896
  The value should not contain leading or trailing forward slashes.
904
- The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
897
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
905
898
  *Available only for Vault Enterprise*.
906
899
  """
907
900
  return pulumi.get(self, "namespace")
@@ -942,6 +935,7 @@ class SecretBackendRole(pulumi.CustomResource):
942
935
  opts: Optional[pulumi.ResourceOptions] = None,
943
936
  algorithm_signer: Optional[pulumi.Input[str]] = None,
944
937
  allow_bare_domains: Optional[pulumi.Input[bool]] = None,
938
+ allow_empty_principals: Optional[pulumi.Input[bool]] = None,
945
939
  allow_host_certificates: Optional[pulumi.Input[bool]] = None,
946
940
  allow_subdomains: Optional[pulumi.Input[bool]] = None,
947
941
  allow_user_certificates: Optional[pulumi.Input[bool]] = None,
@@ -950,14 +944,13 @@ class SecretBackendRole(pulumi.CustomResource):
950
944
  allowed_domains: Optional[pulumi.Input[str]] = None,
951
945
  allowed_domains_template: Optional[pulumi.Input[bool]] = None,
952
946
  allowed_extensions: Optional[pulumi.Input[str]] = None,
953
- allowed_user_key_configs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecretBackendRoleAllowedUserKeyConfigArgs']]]]] = None,
954
- allowed_user_key_lengths: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None,
947
+ allowed_user_key_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecretBackendRoleAllowedUserKeyConfigArgs', 'SecretBackendRoleAllowedUserKeyConfigArgsDict']]]]] = None,
955
948
  allowed_users: Optional[pulumi.Input[str]] = None,
956
949
  allowed_users_template: Optional[pulumi.Input[bool]] = None,
957
950
  backend: Optional[pulumi.Input[str]] = None,
958
951
  cidr_list: Optional[pulumi.Input[str]] = None,
959
- default_critical_options: Optional[pulumi.Input[Mapping[str, Any]]] = None,
960
- default_extensions: Optional[pulumi.Input[Mapping[str, Any]]] = None,
952
+ default_critical_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
953
+ default_extensions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
961
954
  default_user: Optional[pulumi.Input[str]] = None,
962
955
  default_user_template: Optional[pulumi.Input[bool]] = None,
963
956
  key_id_format: Optional[pulumi.Input[str]] = None,
@@ -974,24 +967,24 @@ class SecretBackendRole(pulumi.CustomResource):
974
967
 
975
968
  ## Example Usage
976
969
 
977
- <!--Start PulumiCodeChooser -->
978
970
  ```python
979
971
  import pulumi
980
972
  import pulumi_vault as vault
981
973
 
982
974
  example = vault.Mount("example", type="ssh")
983
975
  foo = vault.ssh.SecretBackendRole("foo",
976
+ name="my-role",
984
977
  backend=example.path,
985
978
  key_type="ca",
986
979
  allow_user_certificates=True)
987
980
  bar = vault.ssh.SecretBackendRole("bar",
981
+ name="otp-role",
988
982
  backend=example.path,
989
983
  key_type="otp",
990
984
  default_user="default",
991
985
  allowed_users="default,baz",
992
986
  cidr_list="0.0.0.0/0")
993
987
  ```
994
- <!--End PulumiCodeChooser -->
995
988
 
996
989
  ## Import
997
990
 
@@ -1005,6 +998,9 @@ class SecretBackendRole(pulumi.CustomResource):
1005
998
  :param pulumi.ResourceOptions opts: Options for the resource.
1006
999
  :param pulumi.Input[str] algorithm_signer: When supplied, this value specifies a signing algorithm for the key. Possible values: ssh-rsa, rsa-sha2-256, rsa-sha2-512.
1007
1000
  :param pulumi.Input[bool] allow_bare_domains: Specifies if host certificates that are requested are allowed to use the base domains listed in `allowed_domains`.
1001
+ :param pulumi.Input[bool] allow_empty_principals: Allow signing certificates with no
1002
+ valid principals (e.g. any valid principal). For backwards compatibility
1003
+ only. The default of false is highly recommended.
1008
1004
  :param pulumi.Input[bool] allow_host_certificates: Specifies if certificates are allowed to be signed for use as a 'host'.
1009
1005
  :param pulumi.Input[bool] allow_subdomains: Specifies if host certificates that are requested are allowed to be subdomains of those listed in `allowed_domains`.
1010
1006
  :param pulumi.Input[bool] allow_user_certificates: Specifies if certificates are allowed to be signed for use as a 'user'.
@@ -1014,18 +1010,15 @@ class SecretBackendRole(pulumi.CustomResource):
1014
1010
  :param pulumi.Input[bool] allowed_domains_template: Specifies if `allowed_domains` can be declared using
1015
1011
  identity template policies. Non-templated domains are also permitted.
1016
1012
  :param pulumi.Input[str] allowed_extensions: Specifies a comma-separated list of extensions that certificates can have when signed.
1017
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecretBackendRoleAllowedUserKeyConfigArgs']]]] allowed_user_key_configs: Set of configuration blocks to define allowed
1013
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SecretBackendRoleAllowedUserKeyConfigArgs', 'SecretBackendRoleAllowedUserKeyConfigArgsDict']]]] allowed_user_key_configs: Set of configuration blocks to define allowed
1018
1014
  user key configuration, like key type and their lengths. Can be specified multiple times.
1019
1015
  *See Configuration-Options for more info*
1020
- :param pulumi.Input[Mapping[str, pulumi.Input[int]]] allowed_user_key_lengths: Specifies a map of ssh key types and their expected sizes which
1021
- are allowed to be signed by the CA type.
1022
- *Deprecated: use* allowed_user_key_config *instead*
1023
1016
  :param pulumi.Input[str] allowed_users: Specifies a comma-separated list of usernames that are to be allowed, only if certain usernames are to be allowed.
1024
1017
  :param pulumi.Input[bool] allowed_users_template: Specifies if `allowed_users` can be declared using identity template policies. Non-templated users are also permitted.
1025
1018
  :param pulumi.Input[str] backend: The path where the SSH secret backend is mounted.
1026
1019
  :param pulumi.Input[str] cidr_list: The comma-separated string of CIDR blocks for which this role is applicable.
1027
- :param pulumi.Input[Mapping[str, Any]] default_critical_options: Specifies a map of critical options that certificates have when signed.
1028
- :param pulumi.Input[Mapping[str, Any]] default_extensions: Specifies a map of extensions that certificates have when signed.
1020
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] default_critical_options: Specifies a map of critical options that certificates have when signed.
1021
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] default_extensions: Specifies a map of extensions that certificates have when signed.
1029
1022
  :param pulumi.Input[str] default_user: Specifies the default username for which a credential will be generated.
1030
1023
  :param pulumi.Input[bool] default_user_template: If set, `default_users` can be specified using identity template values. A non-templated user is also permitted.
1031
1024
  :param pulumi.Input[str] key_id_format: Specifies a custom format for the key id of a signed certificate.
@@ -1034,7 +1027,7 @@ class SecretBackendRole(pulumi.CustomResource):
1034
1027
  :param pulumi.Input[str] name: Specifies the name of the role to create.
1035
1028
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
1036
1029
  The value should not contain leading or trailing forward slashes.
1037
- The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
1030
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1038
1031
  *Available only for Vault Enterprise*.
1039
1032
  :param pulumi.Input[str] not_before_duration: Specifies the duration by which to backdate the ValidAfter property. Uses duration format strings.
1040
1033
  :param pulumi.Input[str] ttl: Specifies the Time To Live value.
@@ -1051,24 +1044,24 @@ class SecretBackendRole(pulumi.CustomResource):
1051
1044
 
1052
1045
  ## Example Usage
1053
1046
 
1054
- <!--Start PulumiCodeChooser -->
1055
1047
  ```python
1056
1048
  import pulumi
1057
1049
  import pulumi_vault as vault
1058
1050
 
1059
1051
  example = vault.Mount("example", type="ssh")
1060
1052
  foo = vault.ssh.SecretBackendRole("foo",
1053
+ name="my-role",
1061
1054
  backend=example.path,
1062
1055
  key_type="ca",
1063
1056
  allow_user_certificates=True)
1064
1057
  bar = vault.ssh.SecretBackendRole("bar",
1058
+ name="otp-role",
1065
1059
  backend=example.path,
1066
1060
  key_type="otp",
1067
1061
  default_user="default",
1068
1062
  allowed_users="default,baz",
1069
1063
  cidr_list="0.0.0.0/0")
1070
1064
  ```
1071
- <!--End PulumiCodeChooser -->
1072
1065
 
1073
1066
  ## Import
1074
1067
 
@@ -1095,6 +1088,7 @@ class SecretBackendRole(pulumi.CustomResource):
1095
1088
  opts: Optional[pulumi.ResourceOptions] = None,
1096
1089
  algorithm_signer: Optional[pulumi.Input[str]] = None,
1097
1090
  allow_bare_domains: Optional[pulumi.Input[bool]] = None,
1091
+ allow_empty_principals: Optional[pulumi.Input[bool]] = None,
1098
1092
  allow_host_certificates: Optional[pulumi.Input[bool]] = None,
1099
1093
  allow_subdomains: Optional[pulumi.Input[bool]] = None,
1100
1094
  allow_user_certificates: Optional[pulumi.Input[bool]] = None,
@@ -1103,14 +1097,13 @@ class SecretBackendRole(pulumi.CustomResource):
1103
1097
  allowed_domains: Optional[pulumi.Input[str]] = None,
1104
1098
  allowed_domains_template: Optional[pulumi.Input[bool]] = None,
1105
1099
  allowed_extensions: Optional[pulumi.Input[str]] = None,
1106
- allowed_user_key_configs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecretBackendRoleAllowedUserKeyConfigArgs']]]]] = None,
1107
- allowed_user_key_lengths: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None,
1100
+ allowed_user_key_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecretBackendRoleAllowedUserKeyConfigArgs', 'SecretBackendRoleAllowedUserKeyConfigArgsDict']]]]] = None,
1108
1101
  allowed_users: Optional[pulumi.Input[str]] = None,
1109
1102
  allowed_users_template: Optional[pulumi.Input[bool]] = None,
1110
1103
  backend: Optional[pulumi.Input[str]] = None,
1111
1104
  cidr_list: Optional[pulumi.Input[str]] = None,
1112
- default_critical_options: Optional[pulumi.Input[Mapping[str, Any]]] = None,
1113
- default_extensions: Optional[pulumi.Input[Mapping[str, Any]]] = None,
1105
+ default_critical_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1106
+ default_extensions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1114
1107
  default_user: Optional[pulumi.Input[str]] = None,
1115
1108
  default_user_template: Optional[pulumi.Input[bool]] = None,
1116
1109
  key_id_format: Optional[pulumi.Input[str]] = None,
@@ -1131,6 +1124,7 @@ class SecretBackendRole(pulumi.CustomResource):
1131
1124
 
1132
1125
  __props__.__dict__["algorithm_signer"] = algorithm_signer
1133
1126
  __props__.__dict__["allow_bare_domains"] = allow_bare_domains
1127
+ __props__.__dict__["allow_empty_principals"] = allow_empty_principals
1134
1128
  __props__.__dict__["allow_host_certificates"] = allow_host_certificates
1135
1129
  __props__.__dict__["allow_subdomains"] = allow_subdomains
1136
1130
  __props__.__dict__["allow_user_certificates"] = allow_user_certificates
@@ -1140,7 +1134,6 @@ class SecretBackendRole(pulumi.CustomResource):
1140
1134
  __props__.__dict__["allowed_domains_template"] = allowed_domains_template
1141
1135
  __props__.__dict__["allowed_extensions"] = allowed_extensions
1142
1136
  __props__.__dict__["allowed_user_key_configs"] = allowed_user_key_configs
1143
- __props__.__dict__["allowed_user_key_lengths"] = allowed_user_key_lengths
1144
1137
  __props__.__dict__["allowed_users"] = allowed_users
1145
1138
  __props__.__dict__["allowed_users_template"] = allowed_users_template
1146
1139
  if backend is None and not opts.urn:
@@ -1172,6 +1165,7 @@ class SecretBackendRole(pulumi.CustomResource):
1172
1165
  opts: Optional[pulumi.ResourceOptions] = None,
1173
1166
  algorithm_signer: Optional[pulumi.Input[str]] = None,
1174
1167
  allow_bare_domains: Optional[pulumi.Input[bool]] = None,
1168
+ allow_empty_principals: Optional[pulumi.Input[bool]] = None,
1175
1169
  allow_host_certificates: Optional[pulumi.Input[bool]] = None,
1176
1170
  allow_subdomains: Optional[pulumi.Input[bool]] = None,
1177
1171
  allow_user_certificates: Optional[pulumi.Input[bool]] = None,
@@ -1180,14 +1174,13 @@ class SecretBackendRole(pulumi.CustomResource):
1180
1174
  allowed_domains: Optional[pulumi.Input[str]] = None,
1181
1175
  allowed_domains_template: Optional[pulumi.Input[bool]] = None,
1182
1176
  allowed_extensions: Optional[pulumi.Input[str]] = None,
1183
- allowed_user_key_configs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecretBackendRoleAllowedUserKeyConfigArgs']]]]] = None,
1184
- allowed_user_key_lengths: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None,
1177
+ allowed_user_key_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecretBackendRoleAllowedUserKeyConfigArgs', 'SecretBackendRoleAllowedUserKeyConfigArgsDict']]]]] = None,
1185
1178
  allowed_users: Optional[pulumi.Input[str]] = None,
1186
1179
  allowed_users_template: Optional[pulumi.Input[bool]] = None,
1187
1180
  backend: Optional[pulumi.Input[str]] = None,
1188
1181
  cidr_list: Optional[pulumi.Input[str]] = None,
1189
- default_critical_options: Optional[pulumi.Input[Mapping[str, Any]]] = None,
1190
- default_extensions: Optional[pulumi.Input[Mapping[str, Any]]] = None,
1182
+ default_critical_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1183
+ default_extensions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1191
1184
  default_user: Optional[pulumi.Input[str]] = None,
1192
1185
  default_user_template: Optional[pulumi.Input[bool]] = None,
1193
1186
  key_id_format: Optional[pulumi.Input[str]] = None,
@@ -1206,6 +1199,9 @@ class SecretBackendRole(pulumi.CustomResource):
1206
1199
  :param pulumi.ResourceOptions opts: Options for the resource.
1207
1200
  :param pulumi.Input[str] algorithm_signer: When supplied, this value specifies a signing algorithm for the key. Possible values: ssh-rsa, rsa-sha2-256, rsa-sha2-512.
1208
1201
  :param pulumi.Input[bool] allow_bare_domains: Specifies if host certificates that are requested are allowed to use the base domains listed in `allowed_domains`.
1202
+ :param pulumi.Input[bool] allow_empty_principals: Allow signing certificates with no
1203
+ valid principals (e.g. any valid principal). For backwards compatibility
1204
+ only. The default of false is highly recommended.
1209
1205
  :param pulumi.Input[bool] allow_host_certificates: Specifies if certificates are allowed to be signed for use as a 'host'.
1210
1206
  :param pulumi.Input[bool] allow_subdomains: Specifies if host certificates that are requested are allowed to be subdomains of those listed in `allowed_domains`.
1211
1207
  :param pulumi.Input[bool] allow_user_certificates: Specifies if certificates are allowed to be signed for use as a 'user'.
@@ -1215,18 +1211,15 @@ class SecretBackendRole(pulumi.CustomResource):
1215
1211
  :param pulumi.Input[bool] allowed_domains_template: Specifies if `allowed_domains` can be declared using
1216
1212
  identity template policies. Non-templated domains are also permitted.
1217
1213
  :param pulumi.Input[str] allowed_extensions: Specifies a comma-separated list of extensions that certificates can have when signed.
1218
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecretBackendRoleAllowedUserKeyConfigArgs']]]] allowed_user_key_configs: Set of configuration blocks to define allowed
1214
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SecretBackendRoleAllowedUserKeyConfigArgs', 'SecretBackendRoleAllowedUserKeyConfigArgsDict']]]] allowed_user_key_configs: Set of configuration blocks to define allowed
1219
1215
  user key configuration, like key type and their lengths. Can be specified multiple times.
1220
1216
  *See Configuration-Options for more info*
1221
- :param pulumi.Input[Mapping[str, pulumi.Input[int]]] allowed_user_key_lengths: Specifies a map of ssh key types and their expected sizes which
1222
- are allowed to be signed by the CA type.
1223
- *Deprecated: use* allowed_user_key_config *instead*
1224
1217
  :param pulumi.Input[str] allowed_users: Specifies a comma-separated list of usernames that are to be allowed, only if certain usernames are to be allowed.
1225
1218
  :param pulumi.Input[bool] allowed_users_template: Specifies if `allowed_users` can be declared using identity template policies. Non-templated users are also permitted.
1226
1219
  :param pulumi.Input[str] backend: The path where the SSH secret backend is mounted.
1227
1220
  :param pulumi.Input[str] cidr_list: The comma-separated string of CIDR blocks for which this role is applicable.
1228
- :param pulumi.Input[Mapping[str, Any]] default_critical_options: Specifies a map of critical options that certificates have when signed.
1229
- :param pulumi.Input[Mapping[str, Any]] default_extensions: Specifies a map of extensions that certificates have when signed.
1221
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] default_critical_options: Specifies a map of critical options that certificates have when signed.
1222
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] default_extensions: Specifies a map of extensions that certificates have when signed.
1230
1223
  :param pulumi.Input[str] default_user: Specifies the default username for which a credential will be generated.
1231
1224
  :param pulumi.Input[bool] default_user_template: If set, `default_users` can be specified using identity template values. A non-templated user is also permitted.
1232
1225
  :param pulumi.Input[str] key_id_format: Specifies a custom format for the key id of a signed certificate.
@@ -1235,7 +1228,7 @@ class SecretBackendRole(pulumi.CustomResource):
1235
1228
  :param pulumi.Input[str] name: Specifies the name of the role to create.
1236
1229
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
1237
1230
  The value should not contain leading or trailing forward slashes.
1238
- The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
1231
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1239
1232
  *Available only for Vault Enterprise*.
1240
1233
  :param pulumi.Input[str] not_before_duration: Specifies the duration by which to backdate the ValidAfter property. Uses duration format strings.
1241
1234
  :param pulumi.Input[str] ttl: Specifies the Time To Live value.
@@ -1246,6 +1239,7 @@ class SecretBackendRole(pulumi.CustomResource):
1246
1239
 
1247
1240
  __props__.__dict__["algorithm_signer"] = algorithm_signer
1248
1241
  __props__.__dict__["allow_bare_domains"] = allow_bare_domains
1242
+ __props__.__dict__["allow_empty_principals"] = allow_empty_principals
1249
1243
  __props__.__dict__["allow_host_certificates"] = allow_host_certificates
1250
1244
  __props__.__dict__["allow_subdomains"] = allow_subdomains
1251
1245
  __props__.__dict__["allow_user_certificates"] = allow_user_certificates
@@ -1255,7 +1249,6 @@ class SecretBackendRole(pulumi.CustomResource):
1255
1249
  __props__.__dict__["allowed_domains_template"] = allowed_domains_template
1256
1250
  __props__.__dict__["allowed_extensions"] = allowed_extensions
1257
1251
  __props__.__dict__["allowed_user_key_configs"] = allowed_user_key_configs
1258
- __props__.__dict__["allowed_user_key_lengths"] = allowed_user_key_lengths
1259
1252
  __props__.__dict__["allowed_users"] = allowed_users
1260
1253
  __props__.__dict__["allowed_users_template"] = allowed_users_template
1261
1254
  __props__.__dict__["backend"] = backend
@@ -1289,6 +1282,16 @@ class SecretBackendRole(pulumi.CustomResource):
1289
1282
  """
1290
1283
  return pulumi.get(self, "allow_bare_domains")
1291
1284
 
1285
+ @property
1286
+ @pulumi.getter(name="allowEmptyPrincipals")
1287
+ def allow_empty_principals(self) -> pulumi.Output[Optional[bool]]:
1288
+ """
1289
+ Allow signing certificates with no
1290
+ valid principals (e.g. any valid principal). For backwards compatibility
1291
+ only. The default of false is highly recommended.
1292
+ """
1293
+ return pulumi.get(self, "allow_empty_principals")
1294
+
1292
1295
  @property
1293
1296
  @pulumi.getter(name="allowHostCertificates")
1294
1297
  def allow_host_certificates(self) -> pulumi.Output[Optional[bool]]:
@@ -1364,19 +1367,6 @@ class SecretBackendRole(pulumi.CustomResource):
1364
1367
  """
1365
1368
  return pulumi.get(self, "allowed_user_key_configs")
1366
1369
 
1367
- @property
1368
- @pulumi.getter(name="allowedUserKeyLengths")
1369
- def allowed_user_key_lengths(self) -> pulumi.Output[Optional[Mapping[str, int]]]:
1370
- """
1371
- Specifies a map of ssh key types and their expected sizes which
1372
- are allowed to be signed by the CA type.
1373
- *Deprecated: use* allowed_user_key_config *instead*
1374
- """
1375
- warnings.warn("""Set in allowed_user_key_config""", DeprecationWarning)
1376
- pulumi.log.warn("""allowed_user_key_lengths is deprecated: Set in allowed_user_key_config""")
1377
-
1378
- return pulumi.get(self, "allowed_user_key_lengths")
1379
-
1380
1370
  @property
1381
1371
  @pulumi.getter(name="allowedUsers")
1382
1372
  def allowed_users(self) -> pulumi.Output[Optional[str]]:
@@ -1411,7 +1401,7 @@ class SecretBackendRole(pulumi.CustomResource):
1411
1401
 
1412
1402
  @property
1413
1403
  @pulumi.getter(name="defaultCriticalOptions")
1414
- def default_critical_options(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
1404
+ def default_critical_options(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1415
1405
  """
1416
1406
  Specifies a map of critical options that certificates have when signed.
1417
1407
  """
@@ -1419,7 +1409,7 @@ class SecretBackendRole(pulumi.CustomResource):
1419
1409
 
1420
1410
  @property
1421
1411
  @pulumi.getter(name="defaultExtensions")
1422
- def default_extensions(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
1412
+ def default_extensions(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1423
1413
  """
1424
1414
  Specifies a map of extensions that certificates have when signed.
1425
1415
  """
@@ -1479,7 +1469,7 @@ class SecretBackendRole(pulumi.CustomResource):
1479
1469
  """
1480
1470
  The namespace to provision the resource in.
1481
1471
  The value should not contain leading or trailing forward slashes.
1482
- The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
1472
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1483
1473
  *Available only for Vault Enterprise*.
1484
1474
  """
1485
1475
  return pulumi.get(self, "namespace")