pulumi-vault 5.21.0a1709368526__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 +26 -9
  5. pulumi_vault/ad/secret_backend.py +16 -142
  6. pulumi_vault/ad/secret_library.py +16 -9
  7. pulumi_vault/ad/secret_role.py +14 -9
  8. pulumi_vault/alicloud/auth_backend_role.py +76 -190
  9. pulumi_vault/approle/auth_backend_login.py +12 -7
  10. pulumi_vault/approle/auth_backend_role.py +77 -191
  11. pulumi_vault/approle/auth_backend_role_secret_id.py +106 -7
  12. pulumi_vault/approle/get_auth_backend_role_id.py +18 -5
  13. pulumi_vault/audit.py +30 -21
  14. pulumi_vault/audit_request_header.py +11 -2
  15. pulumi_vault/auth_backend.py +66 -14
  16. pulumi_vault/aws/auth_backend_cert.py +18 -9
  17. pulumi_vault/aws/auth_backend_client.py +267 -22
  18. pulumi_vault/aws/auth_backend_config_identity.py +14 -9
  19. pulumi_vault/aws/auth_backend_identity_whitelist.py +20 -15
  20. pulumi_vault/aws/auth_backend_login.py +19 -22
  21. pulumi_vault/aws/auth_backend_role.py +77 -191
  22. pulumi_vault/aws/auth_backend_role_tag.py +12 -7
  23. pulumi_vault/aws/auth_backend_roletag_blacklist.py +18 -13
  24. pulumi_vault/aws/auth_backend_sts_role.py +61 -9
  25. pulumi_vault/aws/get_access_credentials.py +38 -9
  26. pulumi_vault/aws/get_static_access_credentials.py +19 -5
  27. pulumi_vault/aws/secret_backend.py +218 -9
  28. pulumi_vault/aws/secret_backend_role.py +185 -9
  29. pulumi_vault/aws/secret_backend_static_role.py +20 -11
  30. pulumi_vault/azure/_inputs.py +24 -0
  31. pulumi_vault/azure/auth_backend_config.py +153 -15
  32. pulumi_vault/azure/auth_backend_role.py +77 -191
  33. pulumi_vault/azure/backend.py +227 -21
  34. pulumi_vault/azure/backend_role.py +42 -37
  35. pulumi_vault/azure/get_access_credentials.py +41 -7
  36. pulumi_vault/azure/outputs.py +5 -0
  37. pulumi_vault/cert_auth_backend_role.py +87 -267
  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 +28 -19
  44. pulumi_vault/consul/secret_backend_role.py +18 -78
  45. pulumi_vault/database/_inputs.py +2808 -879
  46. pulumi_vault/database/outputs.py +749 -838
  47. pulumi_vault/database/secret_backend_connection.py +119 -112
  48. pulumi_vault/database/secret_backend_role.py +31 -22
  49. pulumi_vault/database/secret_backend_static_role.py +87 -13
  50. pulumi_vault/database/secrets_mount.py +427 -136
  51. pulumi_vault/egp_policy.py +16 -11
  52. pulumi_vault/gcp/_inputs.py +111 -0
  53. pulumi_vault/gcp/auth_backend.py +250 -33
  54. pulumi_vault/gcp/auth_backend_role.py +77 -269
  55. pulumi_vault/gcp/get_auth_backend_role.py +43 -5
  56. pulumi_vault/gcp/outputs.py +5 -0
  57. pulumi_vault/gcp/secret_backend.py +287 -12
  58. pulumi_vault/gcp/secret_impersonated_account.py +76 -15
  59. pulumi_vault/gcp/secret_roleset.py +31 -24
  60. pulumi_vault/gcp/secret_static_account.py +39 -32
  61. pulumi_vault/generic/endpoint.py +24 -17
  62. pulumi_vault/generic/get_secret.py +64 -8
  63. pulumi_vault/generic/secret.py +21 -16
  64. pulumi_vault/get_auth_backend.py +24 -7
  65. pulumi_vault/get_auth_backends.py +51 -9
  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 -11
  69. pulumi_vault/get_policy_document.py +34 -19
  70. pulumi_vault/get_raft_autopilot_state.py +29 -10
  71. pulumi_vault/github/_inputs.py +55 -0
  72. pulumi_vault/github/auth_backend.py +19 -14
  73. pulumi_vault/github/outputs.py +5 -0
  74. pulumi_vault/github/team.py +16 -11
  75. pulumi_vault/github/user.py +16 -11
  76. pulumi_vault/identity/entity.py +20 -13
  77. pulumi_vault/identity/entity_alias.py +20 -13
  78. pulumi_vault/identity/entity_policies.py +28 -11
  79. pulumi_vault/identity/get_entity.py +42 -10
  80. pulumi_vault/identity/get_group.py +47 -9
  81. pulumi_vault/identity/get_oidc_client_creds.py +21 -7
  82. pulumi_vault/identity/get_oidc_openid_config.py +39 -9
  83. pulumi_vault/identity/get_oidc_public_keys.py +29 -10
  84. pulumi_vault/identity/group.py +58 -39
  85. pulumi_vault/identity/group_alias.py +16 -9
  86. pulumi_vault/identity/group_member_entity_ids.py +28 -66
  87. pulumi_vault/identity/group_member_group_ids.py +40 -19
  88. pulumi_vault/identity/group_policies.py +20 -7
  89. pulumi_vault/identity/mfa_duo.py +11 -6
  90. pulumi_vault/identity/mfa_login_enforcement.py +15 -6
  91. pulumi_vault/identity/mfa_okta.py +11 -6
  92. pulumi_vault/identity/mfa_pingid.py +7 -2
  93. pulumi_vault/identity/mfa_totp.py +7 -2
  94. pulumi_vault/identity/oidc.py +12 -7
  95. pulumi_vault/identity/oidc_assignment.py +24 -11
  96. pulumi_vault/identity/oidc_client.py +36 -23
  97. pulumi_vault/identity/oidc_key.py +30 -17
  98. pulumi_vault/identity/oidc_key_allowed_client_id.py +28 -15
  99. pulumi_vault/identity/oidc_provider.py +36 -21
  100. pulumi_vault/identity/oidc_role.py +42 -21
  101. pulumi_vault/identity/oidc_scope.py +20 -13
  102. pulumi_vault/identity/outputs.py +8 -3
  103. pulumi_vault/jwt/_inputs.py +55 -0
  104. pulumi_vault/jwt/auth_backend.py +45 -40
  105. pulumi_vault/jwt/auth_backend_role.py +133 -254
  106. pulumi_vault/jwt/outputs.py +5 -0
  107. pulumi_vault/kmip/secret_backend.py +24 -19
  108. pulumi_vault/kmip/secret_role.py +14 -9
  109. pulumi_vault/kmip/secret_scope.py +14 -9
  110. pulumi_vault/kubernetes/auth_backend_config.py +57 -5
  111. pulumi_vault/kubernetes/auth_backend_role.py +70 -177
  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 -11
  115. pulumi_vault/kubernetes/secret_backend.py +316 -27
  116. pulumi_vault/kubernetes/secret_backend_role.py +137 -46
  117. pulumi_vault/kv/_inputs.py +36 -4
  118. pulumi_vault/kv/get_secret.py +25 -8
  119. pulumi_vault/kv/get_secret_subkeys_v2.py +33 -10
  120. pulumi_vault/kv/get_secret_v2.py +85 -9
  121. pulumi_vault/kv/get_secrets_list.py +24 -11
  122. pulumi_vault/kv/get_secrets_list_v2.py +37 -15
  123. pulumi_vault/kv/outputs.py +8 -3
  124. pulumi_vault/kv/secret.py +23 -16
  125. pulumi_vault/kv/secret_backend_v2.py +20 -11
  126. pulumi_vault/kv/secret_v2.py +59 -50
  127. pulumi_vault/ldap/auth_backend.py +127 -166
  128. pulumi_vault/ldap/auth_backend_group.py +14 -9
  129. pulumi_vault/ldap/auth_backend_user.py +14 -9
  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 +354 -82
  133. pulumi_vault/ldap/secret_backend_dynamic_role.py +18 -11
  134. pulumi_vault/ldap/secret_backend_library_set.py +16 -9
  135. pulumi_vault/ldap/secret_backend_static_role.py +73 -12
  136. pulumi_vault/managed/_inputs.py +289 -132
  137. pulumi_vault/managed/keys.py +29 -57
  138. pulumi_vault/managed/outputs.py +89 -132
  139. pulumi_vault/mfa_duo.py +18 -11
  140. pulumi_vault/mfa_okta.py +18 -11
  141. pulumi_vault/mfa_pingid.py +18 -11
  142. pulumi_vault/mfa_totp.py +24 -17
  143. pulumi_vault/mongodbatlas/secret_backend.py +20 -15
  144. pulumi_vault/mongodbatlas/secret_role.py +47 -38
  145. pulumi_vault/mount.py +391 -51
  146. pulumi_vault/namespace.py +68 -83
  147. pulumi_vault/nomad_secret_backend.py +18 -13
  148. pulumi_vault/nomad_secret_role.py +14 -9
  149. pulumi_vault/okta/_inputs.py +47 -8
  150. pulumi_vault/okta/auth_backend.py +485 -39
  151. pulumi_vault/okta/auth_backend_group.py +14 -9
  152. pulumi_vault/okta/auth_backend_user.py +14 -9
  153. pulumi_vault/okta/outputs.py +13 -8
  154. pulumi_vault/outputs.py +5 -0
  155. pulumi_vault/password_policy.py +20 -13
  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 +67 -9
  166. pulumi_vault/pkisecret/get_backend_issuers.py +21 -8
  167. pulumi_vault/pkisecret/get_backend_key.py +24 -9
  168. pulumi_vault/pkisecret/get_backend_keys.py +21 -8
  169. pulumi_vault/pkisecret/outputs.py +109 -0
  170. pulumi_vault/pkisecret/secret_backend_cert.py +18 -11
  171. pulumi_vault/pkisecret/secret_backend_config_ca.py +16 -11
  172. pulumi_vault/pkisecret/secret_backend_config_issuers.py +14 -9
  173. pulumi_vault/pkisecret/secret_backend_config_urls.py +67 -11
  174. pulumi_vault/pkisecret/secret_backend_crl_config.py +14 -9
  175. pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +16 -11
  176. pulumi_vault/pkisecret/secret_backend_intermediate_set_signed.py +22 -17
  177. pulumi_vault/pkisecret/secret_backend_issuer.py +14 -9
  178. pulumi_vault/pkisecret/secret_backend_key.py +14 -9
  179. pulumi_vault/pkisecret/secret_backend_role.py +68 -14
  180. pulumi_vault/pkisecret/secret_backend_root_cert.py +16 -48
  181. pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +18 -56
  182. pulumi_vault/pkisecret/secret_backend_sign.py +18 -54
  183. pulumi_vault/plugin.py +595 -0
  184. pulumi_vault/plugin_pinned_version.py +298 -0
  185. pulumi_vault/policy.py +14 -9
  186. pulumi_vault/provider.py +48 -53
  187. pulumi_vault/pulumi-plugin.json +2 -1
  188. pulumi_vault/quota_lease_count.py +60 -6
  189. pulumi_vault/quota_rate_limit.py +56 -2
  190. pulumi_vault/rabbitmq/_inputs.py +61 -0
  191. pulumi_vault/rabbitmq/outputs.py +5 -0
  192. pulumi_vault/rabbitmq/secret_backend.py +18 -13
  193. pulumi_vault/rabbitmq/secret_backend_role.py +54 -47
  194. pulumi_vault/raft_autopilot.py +14 -9
  195. pulumi_vault/raft_snapshot_agent_config.py +129 -224
  196. pulumi_vault/rgp_policy.py +14 -9
  197. pulumi_vault/saml/auth_backend.py +22 -17
  198. pulumi_vault/saml/auth_backend_role.py +92 -197
  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 -71
  203. pulumi_vault/secrets/sync_aws_destination.py +242 -27
  204. pulumi_vault/secrets/sync_azure_destination.py +92 -31
  205. pulumi_vault/secrets/sync_config.py +9 -4
  206. pulumi_vault/secrets/sync_gcp_destination.py +158 -25
  207. pulumi_vault/secrets/sync_gh_destination.py +189 -13
  208. pulumi_vault/secrets/sync_github_apps.py +375 -0
  209. pulumi_vault/secrets/sync_vercel_destination.py +74 -13
  210. pulumi_vault/ssh/_inputs.py +28 -28
  211. pulumi_vault/ssh/outputs.py +11 -28
  212. pulumi_vault/ssh/secret_backend_ca.py +108 -9
  213. pulumi_vault/ssh/secret_backend_role.py +112 -118
  214. pulumi_vault/terraformcloud/secret_backend.py +7 -54
  215. pulumi_vault/terraformcloud/secret_creds.py +14 -20
  216. pulumi_vault/terraformcloud/secret_role.py +16 -74
  217. pulumi_vault/token.py +28 -23
  218. pulumi_vault/tokenauth/auth_backend_role.py +78 -199
  219. pulumi_vault/transform/alphabet.py +16 -9
  220. pulumi_vault/transform/get_decode.py +45 -17
  221. pulumi_vault/transform/get_encode.py +45 -17
  222. pulumi_vault/transform/role.py +16 -9
  223. pulumi_vault/transform/template.py +30 -21
  224. pulumi_vault/transform/transformation.py +12 -7
  225. pulumi_vault/transit/get_decrypt.py +26 -21
  226. pulumi_vault/transit/get_encrypt.py +24 -19
  227. pulumi_vault/transit/secret_backend_key.py +27 -93
  228. pulumi_vault/transit/secret_cache_config.py +12 -7
  229. {pulumi_vault-5.21.0a1709368526.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.0a1709368526.dist-info → pulumi_vault-6.5.0.dist-info}/WHEEL +1 -1
  232. pulumi_vault-5.21.0a1709368526.dist-info/RECORD +0 -244
  233. {pulumi_vault-5.21.0a1709368526.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,
@@ -980,10 +973,12 @@ class SecretBackendRole(pulumi.CustomResource):
980
973
 
981
974
  example = vault.Mount("example", type="ssh")
982
975
  foo = vault.ssh.SecretBackendRole("foo",
976
+ name="my-role",
983
977
  backend=example.path,
984
978
  key_type="ca",
985
979
  allow_user_certificates=True)
986
980
  bar = vault.ssh.SecretBackendRole("bar",
981
+ name="otp-role",
987
982
  backend=example.path,
988
983
  key_type="otp",
989
984
  default_user="default",
@@ -996,13 +991,16 @@ class SecretBackendRole(pulumi.CustomResource):
996
991
  SSH secret backend roles can be imported using the `path`, e.g.
997
992
 
998
993
  ```sh
999
- $ pulumi import vault:ssh/secretBackendRole:SecretBackendRole foo ssh/roles/my-role
994
+ $ pulumi import vault:ssh/secretBackendRole:SecretBackendRole foo ssh/roles/my-role
1000
995
  ```
1001
996
 
1002
997
  :param str resource_name: The name of the resource.
1003
998
  :param pulumi.ResourceOptions opts: Options for the resource.
1004
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.
1005
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.
1006
1004
  :param pulumi.Input[bool] allow_host_certificates: Specifies if certificates are allowed to be signed for use as a 'host'.
1007
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`.
1008
1006
  :param pulumi.Input[bool] allow_user_certificates: Specifies if certificates are allowed to be signed for use as a 'user'.
@@ -1012,18 +1010,15 @@ class SecretBackendRole(pulumi.CustomResource):
1012
1010
  :param pulumi.Input[bool] allowed_domains_template: Specifies if `allowed_domains` can be declared using
1013
1011
  identity template policies. Non-templated domains are also permitted.
1014
1012
  :param pulumi.Input[str] allowed_extensions: Specifies a comma-separated list of extensions that certificates can have when signed.
1015
- :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
1016
1014
  user key configuration, like key type and their lengths. Can be specified multiple times.
1017
1015
  *See Configuration-Options for more info*
1018
- :param pulumi.Input[Mapping[str, pulumi.Input[int]]] allowed_user_key_lengths: Specifies a map of ssh key types and their expected sizes which
1019
- are allowed to be signed by the CA type.
1020
- *Deprecated: use* allowed_user_key_config *instead*
1021
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.
1022
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.
1023
1018
  :param pulumi.Input[str] backend: The path where the SSH secret backend is mounted.
1024
1019
  :param pulumi.Input[str] cidr_list: The comma-separated string of CIDR blocks for which this role is applicable.
1025
- :param pulumi.Input[Mapping[str, Any]] default_critical_options: Specifies a map of critical options that certificates have when signed.
1026
- :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.
1027
1022
  :param pulumi.Input[str] default_user: Specifies the default username for which a credential will be generated.
1028
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.
1029
1024
  :param pulumi.Input[str] key_id_format: Specifies a custom format for the key id of a signed certificate.
@@ -1032,7 +1027,7 @@ class SecretBackendRole(pulumi.CustomResource):
1032
1027
  :param pulumi.Input[str] name: Specifies the name of the role to create.
1033
1028
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
1034
1029
  The value should not contain leading or trailing forward slashes.
1035
- 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).
1036
1031
  *Available only for Vault Enterprise*.
1037
1032
  :param pulumi.Input[str] not_before_duration: Specifies the duration by which to backdate the ValidAfter property. Uses duration format strings.
1038
1033
  :param pulumi.Input[str] ttl: Specifies the Time To Live value.
@@ -1055,10 +1050,12 @@ class SecretBackendRole(pulumi.CustomResource):
1055
1050
 
1056
1051
  example = vault.Mount("example", type="ssh")
1057
1052
  foo = vault.ssh.SecretBackendRole("foo",
1053
+ name="my-role",
1058
1054
  backend=example.path,
1059
1055
  key_type="ca",
1060
1056
  allow_user_certificates=True)
1061
1057
  bar = vault.ssh.SecretBackendRole("bar",
1058
+ name="otp-role",
1062
1059
  backend=example.path,
1063
1060
  key_type="otp",
1064
1061
  default_user="default",
@@ -1071,7 +1068,7 @@ class SecretBackendRole(pulumi.CustomResource):
1071
1068
  SSH secret backend roles can be imported using the `path`, e.g.
1072
1069
 
1073
1070
  ```sh
1074
- $ pulumi import vault:ssh/secretBackendRole:SecretBackendRole foo ssh/roles/my-role
1071
+ $ pulumi import vault:ssh/secretBackendRole:SecretBackendRole foo ssh/roles/my-role
1075
1072
  ```
1076
1073
 
1077
1074
  :param str resource_name: The name of the resource.
@@ -1091,6 +1088,7 @@ class SecretBackendRole(pulumi.CustomResource):
1091
1088
  opts: Optional[pulumi.ResourceOptions] = None,
1092
1089
  algorithm_signer: Optional[pulumi.Input[str]] = None,
1093
1090
  allow_bare_domains: Optional[pulumi.Input[bool]] = None,
1091
+ allow_empty_principals: Optional[pulumi.Input[bool]] = None,
1094
1092
  allow_host_certificates: Optional[pulumi.Input[bool]] = None,
1095
1093
  allow_subdomains: Optional[pulumi.Input[bool]] = None,
1096
1094
  allow_user_certificates: Optional[pulumi.Input[bool]] = None,
@@ -1099,14 +1097,13 @@ class SecretBackendRole(pulumi.CustomResource):
1099
1097
  allowed_domains: Optional[pulumi.Input[str]] = None,
1100
1098
  allowed_domains_template: Optional[pulumi.Input[bool]] = None,
1101
1099
  allowed_extensions: Optional[pulumi.Input[str]] = None,
1102
- allowed_user_key_configs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecretBackendRoleAllowedUserKeyConfigArgs']]]]] = None,
1103
- 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,
1104
1101
  allowed_users: Optional[pulumi.Input[str]] = None,
1105
1102
  allowed_users_template: Optional[pulumi.Input[bool]] = None,
1106
1103
  backend: Optional[pulumi.Input[str]] = None,
1107
1104
  cidr_list: Optional[pulumi.Input[str]] = None,
1108
- default_critical_options: Optional[pulumi.Input[Mapping[str, Any]]] = None,
1109
- 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,
1110
1107
  default_user: Optional[pulumi.Input[str]] = None,
1111
1108
  default_user_template: Optional[pulumi.Input[bool]] = None,
1112
1109
  key_id_format: Optional[pulumi.Input[str]] = None,
@@ -1127,6 +1124,7 @@ class SecretBackendRole(pulumi.CustomResource):
1127
1124
 
1128
1125
  __props__.__dict__["algorithm_signer"] = algorithm_signer
1129
1126
  __props__.__dict__["allow_bare_domains"] = allow_bare_domains
1127
+ __props__.__dict__["allow_empty_principals"] = allow_empty_principals
1130
1128
  __props__.__dict__["allow_host_certificates"] = allow_host_certificates
1131
1129
  __props__.__dict__["allow_subdomains"] = allow_subdomains
1132
1130
  __props__.__dict__["allow_user_certificates"] = allow_user_certificates
@@ -1136,7 +1134,6 @@ class SecretBackendRole(pulumi.CustomResource):
1136
1134
  __props__.__dict__["allowed_domains_template"] = allowed_domains_template
1137
1135
  __props__.__dict__["allowed_extensions"] = allowed_extensions
1138
1136
  __props__.__dict__["allowed_user_key_configs"] = allowed_user_key_configs
1139
- __props__.__dict__["allowed_user_key_lengths"] = allowed_user_key_lengths
1140
1137
  __props__.__dict__["allowed_users"] = allowed_users
1141
1138
  __props__.__dict__["allowed_users_template"] = allowed_users_template
1142
1139
  if backend is None and not opts.urn:
@@ -1168,6 +1165,7 @@ class SecretBackendRole(pulumi.CustomResource):
1168
1165
  opts: Optional[pulumi.ResourceOptions] = None,
1169
1166
  algorithm_signer: Optional[pulumi.Input[str]] = None,
1170
1167
  allow_bare_domains: Optional[pulumi.Input[bool]] = None,
1168
+ allow_empty_principals: Optional[pulumi.Input[bool]] = None,
1171
1169
  allow_host_certificates: Optional[pulumi.Input[bool]] = None,
1172
1170
  allow_subdomains: Optional[pulumi.Input[bool]] = None,
1173
1171
  allow_user_certificates: Optional[pulumi.Input[bool]] = None,
@@ -1176,14 +1174,13 @@ class SecretBackendRole(pulumi.CustomResource):
1176
1174
  allowed_domains: Optional[pulumi.Input[str]] = None,
1177
1175
  allowed_domains_template: Optional[pulumi.Input[bool]] = None,
1178
1176
  allowed_extensions: Optional[pulumi.Input[str]] = None,
1179
- allowed_user_key_configs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecretBackendRoleAllowedUserKeyConfigArgs']]]]] = None,
1180
- 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,
1181
1178
  allowed_users: Optional[pulumi.Input[str]] = None,
1182
1179
  allowed_users_template: Optional[pulumi.Input[bool]] = None,
1183
1180
  backend: Optional[pulumi.Input[str]] = None,
1184
1181
  cidr_list: Optional[pulumi.Input[str]] = None,
1185
- default_critical_options: Optional[pulumi.Input[Mapping[str, Any]]] = None,
1186
- 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,
1187
1184
  default_user: Optional[pulumi.Input[str]] = None,
1188
1185
  default_user_template: Optional[pulumi.Input[bool]] = None,
1189
1186
  key_id_format: Optional[pulumi.Input[str]] = None,
@@ -1202,6 +1199,9 @@ class SecretBackendRole(pulumi.CustomResource):
1202
1199
  :param pulumi.ResourceOptions opts: Options for the resource.
1203
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.
1204
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.
1205
1205
  :param pulumi.Input[bool] allow_host_certificates: Specifies if certificates are allowed to be signed for use as a 'host'.
1206
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`.
1207
1207
  :param pulumi.Input[bool] allow_user_certificates: Specifies if certificates are allowed to be signed for use as a 'user'.
@@ -1211,18 +1211,15 @@ class SecretBackendRole(pulumi.CustomResource):
1211
1211
  :param pulumi.Input[bool] allowed_domains_template: Specifies if `allowed_domains` can be declared using
1212
1212
  identity template policies. Non-templated domains are also permitted.
1213
1213
  :param pulumi.Input[str] allowed_extensions: Specifies a comma-separated list of extensions that certificates can have when signed.
1214
- :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
1215
1215
  user key configuration, like key type and their lengths. Can be specified multiple times.
1216
1216
  *See Configuration-Options for more info*
1217
- :param pulumi.Input[Mapping[str, pulumi.Input[int]]] allowed_user_key_lengths: Specifies a map of ssh key types and their expected sizes which
1218
- are allowed to be signed by the CA type.
1219
- *Deprecated: use* allowed_user_key_config *instead*
1220
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.
1221
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.
1222
1219
  :param pulumi.Input[str] backend: The path where the SSH secret backend is mounted.
1223
1220
  :param pulumi.Input[str] cidr_list: The comma-separated string of CIDR blocks for which this role is applicable.
1224
- :param pulumi.Input[Mapping[str, Any]] default_critical_options: Specifies a map of critical options that certificates have when signed.
1225
- :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.
1226
1223
  :param pulumi.Input[str] default_user: Specifies the default username for which a credential will be generated.
1227
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.
1228
1225
  :param pulumi.Input[str] key_id_format: Specifies a custom format for the key id of a signed certificate.
@@ -1231,7 +1228,7 @@ class SecretBackendRole(pulumi.CustomResource):
1231
1228
  :param pulumi.Input[str] name: Specifies the name of the role to create.
1232
1229
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
1233
1230
  The value should not contain leading or trailing forward slashes.
1234
- 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).
1235
1232
  *Available only for Vault Enterprise*.
1236
1233
  :param pulumi.Input[str] not_before_duration: Specifies the duration by which to backdate the ValidAfter property. Uses duration format strings.
1237
1234
  :param pulumi.Input[str] ttl: Specifies the Time To Live value.
@@ -1242,6 +1239,7 @@ class SecretBackendRole(pulumi.CustomResource):
1242
1239
 
1243
1240
  __props__.__dict__["algorithm_signer"] = algorithm_signer
1244
1241
  __props__.__dict__["allow_bare_domains"] = allow_bare_domains
1242
+ __props__.__dict__["allow_empty_principals"] = allow_empty_principals
1245
1243
  __props__.__dict__["allow_host_certificates"] = allow_host_certificates
1246
1244
  __props__.__dict__["allow_subdomains"] = allow_subdomains
1247
1245
  __props__.__dict__["allow_user_certificates"] = allow_user_certificates
@@ -1251,7 +1249,6 @@ class SecretBackendRole(pulumi.CustomResource):
1251
1249
  __props__.__dict__["allowed_domains_template"] = allowed_domains_template
1252
1250
  __props__.__dict__["allowed_extensions"] = allowed_extensions
1253
1251
  __props__.__dict__["allowed_user_key_configs"] = allowed_user_key_configs
1254
- __props__.__dict__["allowed_user_key_lengths"] = allowed_user_key_lengths
1255
1252
  __props__.__dict__["allowed_users"] = allowed_users
1256
1253
  __props__.__dict__["allowed_users_template"] = allowed_users_template
1257
1254
  __props__.__dict__["backend"] = backend
@@ -1285,6 +1282,16 @@ class SecretBackendRole(pulumi.CustomResource):
1285
1282
  """
1286
1283
  return pulumi.get(self, "allow_bare_domains")
1287
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
+
1288
1295
  @property
1289
1296
  @pulumi.getter(name="allowHostCertificates")
1290
1297
  def allow_host_certificates(self) -> pulumi.Output[Optional[bool]]:
@@ -1360,19 +1367,6 @@ class SecretBackendRole(pulumi.CustomResource):
1360
1367
  """
1361
1368
  return pulumi.get(self, "allowed_user_key_configs")
1362
1369
 
1363
- @property
1364
- @pulumi.getter(name="allowedUserKeyLengths")
1365
- def allowed_user_key_lengths(self) -> pulumi.Output[Optional[Mapping[str, int]]]:
1366
- """
1367
- Specifies a map of ssh key types and their expected sizes which
1368
- are allowed to be signed by the CA type.
1369
- *Deprecated: use* allowed_user_key_config *instead*
1370
- """
1371
- warnings.warn("""Set in allowed_user_key_config""", DeprecationWarning)
1372
- pulumi.log.warn("""allowed_user_key_lengths is deprecated: Set in allowed_user_key_config""")
1373
-
1374
- return pulumi.get(self, "allowed_user_key_lengths")
1375
-
1376
1370
  @property
1377
1371
  @pulumi.getter(name="allowedUsers")
1378
1372
  def allowed_users(self) -> pulumi.Output[Optional[str]]:
@@ -1407,7 +1401,7 @@ class SecretBackendRole(pulumi.CustomResource):
1407
1401
 
1408
1402
  @property
1409
1403
  @pulumi.getter(name="defaultCriticalOptions")
1410
- def default_critical_options(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
1404
+ def default_critical_options(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1411
1405
  """
1412
1406
  Specifies a map of critical options that certificates have when signed.
1413
1407
  """
@@ -1415,7 +1409,7 @@ class SecretBackendRole(pulumi.CustomResource):
1415
1409
 
1416
1410
  @property
1417
1411
  @pulumi.getter(name="defaultExtensions")
1418
- def default_extensions(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
1412
+ def default_extensions(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1419
1413
  """
1420
1414
  Specifies a map of extensions that certificates have when signed.
1421
1415
  """
@@ -1475,7 +1469,7 @@ class SecretBackendRole(pulumi.CustomResource):
1475
1469
  """
1476
1470
  The namespace to provision the resource in.
1477
1471
  The value should not contain leading or trailing forward slashes.
1478
- 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).
1479
1473
  *Available only for Vault Enterprise*.
1480
1474
  """
1481
1475
  return pulumi.get(self, "namespace")