pulumi-vault 7.6.0a1764657486__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 (274) hide show
  1. pulumi_vault/__init__.py +1399 -0
  2. pulumi_vault/_inputs.py +2701 -0
  3. pulumi_vault/_utilities.py +331 -0
  4. pulumi_vault/ad/__init__.py +12 -0
  5. pulumi_vault/ad/get_access_credentials.py +177 -0
  6. pulumi_vault/ad/secret_backend.py +1916 -0
  7. pulumi_vault/ad/secret_library.py +546 -0
  8. pulumi_vault/ad/secret_role.py +499 -0
  9. pulumi_vault/alicloud/__init__.py +9 -0
  10. pulumi_vault/alicloud/auth_backend_role.py +866 -0
  11. pulumi_vault/approle/__init__.py +12 -0
  12. pulumi_vault/approle/auth_backend_login.py +571 -0
  13. pulumi_vault/approle/auth_backend_role.py +1082 -0
  14. pulumi_vault/approle/auth_backend_role_secret_id.py +796 -0
  15. pulumi_vault/approle/get_auth_backend_role_id.py +169 -0
  16. pulumi_vault/audit.py +499 -0
  17. pulumi_vault/audit_request_header.py +277 -0
  18. pulumi_vault/auth_backend.py +565 -0
  19. pulumi_vault/aws/__init__.py +22 -0
  20. pulumi_vault/aws/auth_backend_cert.py +420 -0
  21. pulumi_vault/aws/auth_backend_client.py +1259 -0
  22. pulumi_vault/aws/auth_backend_config_identity.py +494 -0
  23. pulumi_vault/aws/auth_backend_identity_whitelist.py +380 -0
  24. pulumi_vault/aws/auth_backend_login.py +1046 -0
  25. pulumi_vault/aws/auth_backend_role.py +1961 -0
  26. pulumi_vault/aws/auth_backend_role_tag.py +638 -0
  27. pulumi_vault/aws/auth_backend_roletag_blacklist.py +366 -0
  28. pulumi_vault/aws/auth_backend_sts_role.py +414 -0
  29. pulumi_vault/aws/get_access_credentials.py +369 -0
  30. pulumi_vault/aws/get_static_access_credentials.py +137 -0
  31. pulumi_vault/aws/secret_backend.py +2018 -0
  32. pulumi_vault/aws/secret_backend_role.py +1188 -0
  33. pulumi_vault/aws/secret_backend_static_role.py +639 -0
  34. pulumi_vault/azure/__init__.py +15 -0
  35. pulumi_vault/azure/_inputs.py +108 -0
  36. pulumi_vault/azure/auth_backend_config.py +1096 -0
  37. pulumi_vault/azure/auth_backend_role.py +1176 -0
  38. pulumi_vault/azure/backend.py +1793 -0
  39. pulumi_vault/azure/backend_role.py +883 -0
  40. pulumi_vault/azure/get_access_credentials.py +400 -0
  41. pulumi_vault/azure/outputs.py +107 -0
  42. pulumi_vault/cert_auth_backend_role.py +1539 -0
  43. pulumi_vault/config/__init__.py +9 -0
  44. pulumi_vault/config/__init__.pyi +164 -0
  45. pulumi_vault/config/_inputs.py +73 -0
  46. pulumi_vault/config/outputs.py +1225 -0
  47. pulumi_vault/config/ui_custom_message.py +530 -0
  48. pulumi_vault/config/vars.py +230 -0
  49. pulumi_vault/consul/__init__.py +10 -0
  50. pulumi_vault/consul/secret_backend.py +1517 -0
  51. pulumi_vault/consul/secret_backend_role.py +847 -0
  52. pulumi_vault/database/__init__.py +14 -0
  53. pulumi_vault/database/_inputs.py +11907 -0
  54. pulumi_vault/database/outputs.py +8496 -0
  55. pulumi_vault/database/secret_backend_connection.py +1676 -0
  56. pulumi_vault/database/secret_backend_role.py +840 -0
  57. pulumi_vault/database/secret_backend_static_role.py +881 -0
  58. pulumi_vault/database/secrets_mount.py +2160 -0
  59. pulumi_vault/egp_policy.py +399 -0
  60. pulumi_vault/gcp/__init__.py +17 -0
  61. pulumi_vault/gcp/_inputs.py +441 -0
  62. pulumi_vault/gcp/auth_backend.py +1486 -0
  63. pulumi_vault/gcp/auth_backend_role.py +1235 -0
  64. pulumi_vault/gcp/get_auth_backend_role.py +514 -0
  65. pulumi_vault/gcp/outputs.py +302 -0
  66. pulumi_vault/gcp/secret_backend.py +1807 -0
  67. pulumi_vault/gcp/secret_impersonated_account.py +484 -0
  68. pulumi_vault/gcp/secret_roleset.py +554 -0
  69. pulumi_vault/gcp/secret_static_account.py +557 -0
  70. pulumi_vault/generic/__init__.py +11 -0
  71. pulumi_vault/generic/endpoint.py +786 -0
  72. pulumi_vault/generic/get_secret.py +306 -0
  73. pulumi_vault/generic/secret.py +486 -0
  74. pulumi_vault/get_auth_backend.py +226 -0
  75. pulumi_vault/get_auth_backends.py +170 -0
  76. pulumi_vault/get_namespace.py +226 -0
  77. pulumi_vault/get_namespaces.py +202 -0
  78. pulumi_vault/get_nomad_access_token.py +210 -0
  79. pulumi_vault/get_policy_document.py +160 -0
  80. pulumi_vault/get_raft_autopilot_state.py +267 -0
  81. pulumi_vault/github/__init__.py +13 -0
  82. pulumi_vault/github/_inputs.py +225 -0
  83. pulumi_vault/github/auth_backend.py +1194 -0
  84. pulumi_vault/github/outputs.py +174 -0
  85. pulumi_vault/github/team.py +380 -0
  86. pulumi_vault/github/user.py +380 -0
  87. pulumi_vault/identity/__init__.py +35 -0
  88. pulumi_vault/identity/entity.py +447 -0
  89. pulumi_vault/identity/entity_alias.py +398 -0
  90. pulumi_vault/identity/entity_policies.py +455 -0
  91. pulumi_vault/identity/get_entity.py +384 -0
  92. pulumi_vault/identity/get_group.py +467 -0
  93. pulumi_vault/identity/get_oidc_client_creds.py +175 -0
  94. pulumi_vault/identity/get_oidc_openid_config.py +334 -0
  95. pulumi_vault/identity/get_oidc_public_keys.py +179 -0
  96. pulumi_vault/identity/group.py +805 -0
  97. pulumi_vault/identity/group_alias.py +386 -0
  98. pulumi_vault/identity/group_member_entity_ids.py +444 -0
  99. pulumi_vault/identity/group_member_group_ids.py +467 -0
  100. pulumi_vault/identity/group_policies.py +471 -0
  101. pulumi_vault/identity/mfa_duo.py +674 -0
  102. pulumi_vault/identity/mfa_login_enforcement.py +566 -0
  103. pulumi_vault/identity/mfa_okta.py +626 -0
  104. pulumi_vault/identity/mfa_pingid.py +616 -0
  105. pulumi_vault/identity/mfa_totp.py +758 -0
  106. pulumi_vault/identity/oidc.py +268 -0
  107. pulumi_vault/identity/oidc_assignment.py +375 -0
  108. pulumi_vault/identity/oidc_client.py +667 -0
  109. pulumi_vault/identity/oidc_key.py +474 -0
  110. pulumi_vault/identity/oidc_key_allowed_client_id.py +298 -0
  111. pulumi_vault/identity/oidc_provider.py +550 -0
  112. pulumi_vault/identity/oidc_role.py +543 -0
  113. pulumi_vault/identity/oidc_scope.py +355 -0
  114. pulumi_vault/identity/outputs.py +137 -0
  115. pulumi_vault/jwt/__init__.py +12 -0
  116. pulumi_vault/jwt/_inputs.py +225 -0
  117. pulumi_vault/jwt/auth_backend.py +1347 -0
  118. pulumi_vault/jwt/auth_backend_role.py +1847 -0
  119. pulumi_vault/jwt/outputs.py +174 -0
  120. pulumi_vault/kmip/__init__.py +11 -0
  121. pulumi_vault/kmip/secret_backend.py +1591 -0
  122. pulumi_vault/kmip/secret_role.py +1194 -0
  123. pulumi_vault/kmip/secret_scope.py +372 -0
  124. pulumi_vault/kubernetes/__init__.py +15 -0
  125. pulumi_vault/kubernetes/auth_backend_config.py +654 -0
  126. pulumi_vault/kubernetes/auth_backend_role.py +1031 -0
  127. pulumi_vault/kubernetes/get_auth_backend_config.py +280 -0
  128. pulumi_vault/kubernetes/get_auth_backend_role.py +470 -0
  129. pulumi_vault/kubernetes/get_service_account_token.py +344 -0
  130. pulumi_vault/kubernetes/secret_backend.py +1341 -0
  131. pulumi_vault/kubernetes/secret_backend_role.py +1140 -0
  132. pulumi_vault/kv/__init__.py +18 -0
  133. pulumi_vault/kv/_inputs.py +124 -0
  134. pulumi_vault/kv/get_secret.py +240 -0
  135. pulumi_vault/kv/get_secret_subkeys_v2.py +275 -0
  136. pulumi_vault/kv/get_secret_v2.py +315 -0
  137. pulumi_vault/kv/get_secrets_list.py +186 -0
  138. pulumi_vault/kv/get_secrets_list_v2.py +243 -0
  139. pulumi_vault/kv/outputs.py +102 -0
  140. pulumi_vault/kv/secret.py +397 -0
  141. pulumi_vault/kv/secret_backend_v2.py +455 -0
  142. pulumi_vault/kv/secret_v2.py +970 -0
  143. pulumi_vault/ldap/__init__.py +19 -0
  144. pulumi_vault/ldap/_inputs.py +225 -0
  145. pulumi_vault/ldap/auth_backend.py +2520 -0
  146. pulumi_vault/ldap/auth_backend_group.py +386 -0
  147. pulumi_vault/ldap/auth_backend_user.py +439 -0
  148. pulumi_vault/ldap/get_dynamic_credentials.py +181 -0
  149. pulumi_vault/ldap/get_static_credentials.py +192 -0
  150. pulumi_vault/ldap/outputs.py +174 -0
  151. pulumi_vault/ldap/secret_backend.py +2207 -0
  152. pulumi_vault/ldap/secret_backend_dynamic_role.py +767 -0
  153. pulumi_vault/ldap/secret_backend_library_set.py +552 -0
  154. pulumi_vault/ldap/secret_backend_static_role.py +541 -0
  155. pulumi_vault/managed/__init__.py +11 -0
  156. pulumi_vault/managed/_inputs.py +944 -0
  157. pulumi_vault/managed/keys.py +398 -0
  158. pulumi_vault/managed/outputs.py +667 -0
  159. pulumi_vault/mfa_duo.py +589 -0
  160. pulumi_vault/mfa_okta.py +623 -0
  161. pulumi_vault/mfa_pingid.py +670 -0
  162. pulumi_vault/mfa_totp.py +620 -0
  163. pulumi_vault/mongodbatlas/__init__.py +10 -0
  164. pulumi_vault/mongodbatlas/secret_backend.py +388 -0
  165. pulumi_vault/mongodbatlas/secret_role.py +726 -0
  166. pulumi_vault/mount.py +1262 -0
  167. pulumi_vault/namespace.py +452 -0
  168. pulumi_vault/nomad_secret_backend.py +1559 -0
  169. pulumi_vault/nomad_secret_role.py +489 -0
  170. pulumi_vault/oci_auth_backend.py +676 -0
  171. pulumi_vault/oci_auth_backend_role.py +852 -0
  172. pulumi_vault/okta/__init__.py +13 -0
  173. pulumi_vault/okta/_inputs.py +320 -0
  174. pulumi_vault/okta/auth_backend.py +1231 -0
  175. pulumi_vault/okta/auth_backend_group.py +369 -0
  176. pulumi_vault/okta/auth_backend_user.py +416 -0
  177. pulumi_vault/okta/outputs.py +244 -0
  178. pulumi_vault/outputs.py +502 -0
  179. pulumi_vault/pkisecret/__init__.py +38 -0
  180. pulumi_vault/pkisecret/_inputs.py +270 -0
  181. pulumi_vault/pkisecret/backend_acme_eab.py +550 -0
  182. pulumi_vault/pkisecret/backend_config_acme.py +690 -0
  183. pulumi_vault/pkisecret/backend_config_auto_tidy.py +1370 -0
  184. pulumi_vault/pkisecret/backend_config_cluster.py +370 -0
  185. pulumi_vault/pkisecret/backend_config_cmpv2.py +693 -0
  186. pulumi_vault/pkisecret/backend_config_est.py +756 -0
  187. pulumi_vault/pkisecret/backend_config_scep.py +738 -0
  188. pulumi_vault/pkisecret/get_backend_cert_metadata.py +277 -0
  189. pulumi_vault/pkisecret/get_backend_config_cmpv2.py +226 -0
  190. pulumi_vault/pkisecret/get_backend_config_est.py +251 -0
  191. pulumi_vault/pkisecret/get_backend_config_scep.py +271 -0
  192. pulumi_vault/pkisecret/get_backend_issuer.py +395 -0
  193. pulumi_vault/pkisecret/get_backend_issuers.py +192 -0
  194. pulumi_vault/pkisecret/get_backend_key.py +211 -0
  195. pulumi_vault/pkisecret/get_backend_keys.py +192 -0
  196. pulumi_vault/pkisecret/outputs.py +270 -0
  197. pulumi_vault/pkisecret/secret_backend_cert.py +1315 -0
  198. pulumi_vault/pkisecret/secret_backend_config_ca.py +386 -0
  199. pulumi_vault/pkisecret/secret_backend_config_issuers.py +392 -0
  200. pulumi_vault/pkisecret/secret_backend_config_urls.py +462 -0
  201. pulumi_vault/pkisecret/secret_backend_crl_config.py +846 -0
  202. pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +1629 -0
  203. pulumi_vault/pkisecret/secret_backend_intermediate_set_signed.py +444 -0
  204. pulumi_vault/pkisecret/secret_backend_issuer.py +1089 -0
  205. pulumi_vault/pkisecret/secret_backend_key.py +613 -0
  206. pulumi_vault/pkisecret/secret_backend_role.py +2694 -0
  207. pulumi_vault/pkisecret/secret_backend_root_cert.py +2134 -0
  208. pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +2031 -0
  209. pulumi_vault/pkisecret/secret_backend_sign.py +1194 -0
  210. pulumi_vault/plugin.py +596 -0
  211. pulumi_vault/plugin_pinned_version.py +299 -0
  212. pulumi_vault/policy.py +279 -0
  213. pulumi_vault/provider.py +781 -0
  214. pulumi_vault/pulumi-plugin.json +5 -0
  215. pulumi_vault/py.typed +0 -0
  216. pulumi_vault/quota_lease_count.py +504 -0
  217. pulumi_vault/quota_rate_limit.py +751 -0
  218. pulumi_vault/rabbitmq/__init__.py +12 -0
  219. pulumi_vault/rabbitmq/_inputs.py +235 -0
  220. pulumi_vault/rabbitmq/outputs.py +144 -0
  221. pulumi_vault/rabbitmq/secret_backend.py +1437 -0
  222. pulumi_vault/rabbitmq/secret_backend_role.py +496 -0
  223. pulumi_vault/raft_autopilot.py +609 -0
  224. pulumi_vault/raft_snapshot_agent_config.py +1591 -0
  225. pulumi_vault/rgp_policy.py +349 -0
  226. pulumi_vault/saml/__init__.py +12 -0
  227. pulumi_vault/saml/_inputs.py +225 -0
  228. pulumi_vault/saml/auth_backend.py +811 -0
  229. pulumi_vault/saml/auth_backend_role.py +1068 -0
  230. pulumi_vault/saml/outputs.py +174 -0
  231. pulumi_vault/scep_auth_backend_role.py +908 -0
  232. pulumi_vault/secrets/__init__.py +18 -0
  233. pulumi_vault/secrets/_inputs.py +110 -0
  234. pulumi_vault/secrets/outputs.py +94 -0
  235. pulumi_vault/secrets/sync_association.py +450 -0
  236. pulumi_vault/secrets/sync_aws_destination.py +780 -0
  237. pulumi_vault/secrets/sync_azure_destination.py +736 -0
  238. pulumi_vault/secrets/sync_config.py +303 -0
  239. pulumi_vault/secrets/sync_gcp_destination.py +572 -0
  240. pulumi_vault/secrets/sync_gh_destination.py +688 -0
  241. pulumi_vault/secrets/sync_github_apps.py +376 -0
  242. pulumi_vault/secrets/sync_vercel_destination.py +603 -0
  243. pulumi_vault/ssh/__init__.py +13 -0
  244. pulumi_vault/ssh/_inputs.py +76 -0
  245. pulumi_vault/ssh/get_secret_backend_sign.py +294 -0
  246. pulumi_vault/ssh/outputs.py +51 -0
  247. pulumi_vault/ssh/secret_backend_ca.py +588 -0
  248. pulumi_vault/ssh/secret_backend_role.py +1493 -0
  249. pulumi_vault/terraformcloud/__init__.py +11 -0
  250. pulumi_vault/terraformcloud/secret_backend.py +1321 -0
  251. pulumi_vault/terraformcloud/secret_creds.py +445 -0
  252. pulumi_vault/terraformcloud/secret_role.py +563 -0
  253. pulumi_vault/token.py +1026 -0
  254. pulumi_vault/tokenauth/__init__.py +9 -0
  255. pulumi_vault/tokenauth/auth_backend_role.py +1135 -0
  256. pulumi_vault/transform/__init__.py +14 -0
  257. pulumi_vault/transform/alphabet.py +348 -0
  258. pulumi_vault/transform/get_decode.py +287 -0
  259. pulumi_vault/transform/get_encode.py +291 -0
  260. pulumi_vault/transform/role.py +350 -0
  261. pulumi_vault/transform/template.py +592 -0
  262. pulumi_vault/transform/transformation.py +608 -0
  263. pulumi_vault/transit/__init__.py +15 -0
  264. pulumi_vault/transit/get_cmac.py +256 -0
  265. pulumi_vault/transit/get_decrypt.py +181 -0
  266. pulumi_vault/transit/get_encrypt.py +174 -0
  267. pulumi_vault/transit/get_sign.py +328 -0
  268. pulumi_vault/transit/get_verify.py +373 -0
  269. pulumi_vault/transit/secret_backend_key.py +1202 -0
  270. pulumi_vault/transit/secret_cache_config.py +302 -0
  271. pulumi_vault-7.6.0a1764657486.dist-info/METADATA +92 -0
  272. pulumi_vault-7.6.0a1764657486.dist-info/RECORD +274 -0
  273. pulumi_vault-7.6.0a1764657486.dist-info/WHEEL +5 -0
  274. pulumi_vault-7.6.0a1764657486.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1916 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
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
15
+ from .. import _utilities
16
+
17
+ __all__ = ['SecretBackendArgs', 'SecretBackend']
18
+
19
+ @pulumi.input_type
20
+ class SecretBackendArgs:
21
+ def __init__(__self__, *,
22
+ binddn: pulumi.Input[_builtins.str],
23
+ bindpass: pulumi.Input[_builtins.str],
24
+ anonymous_group_search: Optional[pulumi.Input[_builtins.bool]] = None,
25
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
26
+ case_sensitive_names: Optional[pulumi.Input[_builtins.bool]] = None,
27
+ certificate: Optional[pulumi.Input[_builtins.str]] = None,
28
+ client_tls_cert: Optional[pulumi.Input[_builtins.str]] = None,
29
+ client_tls_key: Optional[pulumi.Input[_builtins.str]] = None,
30
+ default_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
31
+ deny_null_bind: Optional[pulumi.Input[_builtins.bool]] = None,
32
+ description: Optional[pulumi.Input[_builtins.str]] = None,
33
+ disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
34
+ discoverdn: Optional[pulumi.Input[_builtins.bool]] = None,
35
+ groupattr: Optional[pulumi.Input[_builtins.str]] = None,
36
+ groupdn: Optional[pulumi.Input[_builtins.str]] = None,
37
+ groupfilter: Optional[pulumi.Input[_builtins.str]] = None,
38
+ insecure_tls: Optional[pulumi.Input[_builtins.bool]] = None,
39
+ last_rotation_tolerance: Optional[pulumi.Input[_builtins.int]] = None,
40
+ local: Optional[pulumi.Input[_builtins.bool]] = None,
41
+ max_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
42
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
43
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
44
+ password_policy: Optional[pulumi.Input[_builtins.str]] = None,
45
+ request_timeout: Optional[pulumi.Input[_builtins.int]] = None,
46
+ starttls: Optional[pulumi.Input[_builtins.bool]] = None,
47
+ tls_max_version: Optional[pulumi.Input[_builtins.str]] = None,
48
+ tls_min_version: Optional[pulumi.Input[_builtins.str]] = None,
49
+ ttl: Optional[pulumi.Input[_builtins.int]] = None,
50
+ upndomain: Optional[pulumi.Input[_builtins.str]] = None,
51
+ url: Optional[pulumi.Input[_builtins.str]] = None,
52
+ use_pre111_group_cn_behavior: Optional[pulumi.Input[_builtins.bool]] = None,
53
+ use_token_groups: Optional[pulumi.Input[_builtins.bool]] = None,
54
+ userattr: Optional[pulumi.Input[_builtins.str]] = None,
55
+ userdn: Optional[pulumi.Input[_builtins.str]] = None):
56
+ """
57
+ The set of arguments for constructing a SecretBackend resource.
58
+ :param pulumi.Input[_builtins.str] binddn: Distinguished name of object to bind when performing user and group search.
59
+ :param pulumi.Input[_builtins.str] bindpass: Password to use along with binddn when performing user search.
60
+ :param pulumi.Input[_builtins.bool] anonymous_group_search: Use anonymous binds when performing LDAP group searches
61
+ (if true the initial credentials will still be used for the initial connection test).
62
+ :param pulumi.Input[_builtins.str] backend: The unique path this backend should be mounted at. Must
63
+ not begin or end with a `/`. Defaults to `ad`.
64
+ :param pulumi.Input[_builtins.bool] case_sensitive_names: If set, user and group names assigned to policies within the
65
+ backend will be case sensitive. Otherwise, names will be normalized to lower case.
66
+ :param pulumi.Input[_builtins.str] certificate: CA certificate to use when verifying LDAP server certificate, must be
67
+ x509 PEM encoded.
68
+ :param pulumi.Input[_builtins.str] client_tls_cert: Client certificate to provide to the LDAP server, must be x509 PEM encoded.
69
+ :param pulumi.Input[_builtins.str] client_tls_key: Client certificate key to provide to the LDAP server, must be x509 PEM encoded.
70
+ :param pulumi.Input[_builtins.int] default_lease_ttl_seconds: Default lease duration for secrets in seconds.
71
+ :param pulumi.Input[_builtins.bool] deny_null_bind: Denies an unauthenticated LDAP bind request if the user's password is empty;
72
+ defaults to true.
73
+ :param pulumi.Input[_builtins.str] description: Human-friendly description of the mount for the Active Directory backend.
74
+ :param pulumi.Input[_builtins.bool] disable_remount: If set, opts out of mount migration on path updates.
75
+ See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
76
+ :param pulumi.Input[_builtins.bool] discoverdn: Use anonymous bind to discover the bind Distinguished Name of a user.
77
+ :param pulumi.Input[_builtins.str] groupattr: LDAP attribute to follow on objects returned by <groupfilter> in order to enumerate
78
+ user group membership. Examples: `cn` or `memberOf`, etc. Defaults to `cn`.
79
+ :param pulumi.Input[_builtins.str] groupdn: LDAP search base to use for group membership search (eg: ou=Groups,dc=example,dc=org).
80
+ :param pulumi.Input[_builtins.str] groupfilter: Go template for querying group membership of user (optional) The template can access
81
+ the following context variables: UserDN, Username. Defaults to `(|(memberUid={{.Username}})(member={{.UserDN}})(uniqueMember={{.UserDN}}))`
82
+ :param pulumi.Input[_builtins.bool] insecure_tls: Skip LDAP server SSL Certificate verification. This is not recommended for production.
83
+ Defaults to `false`.
84
+ :param pulumi.Input[_builtins.int] last_rotation_tolerance: The number of seconds after a Vault rotation where, if Active Directory
85
+ shows a later rotation, it should be considered out-of-band
86
+ :param pulumi.Input[_builtins.bool] local: Mark the secrets engine as local-only. Local engines are not replicated or removed by
87
+ replication.Tolerance duration to use when checking the last rotation time.
88
+ :param pulumi.Input[_builtins.int] max_lease_ttl_seconds: Maximum possible lease duration for secrets in seconds.
89
+ :param pulumi.Input[_builtins.int] max_ttl: In seconds, the maximum password time-to-live.
90
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
91
+ The value should not contain leading or trailing forward slashes.
92
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
93
+ *Available only for Vault Enterprise*.
94
+ :param pulumi.Input[_builtins.str] password_policy: Name of the password policy to use to generate passwords.
95
+ :param pulumi.Input[_builtins.int] request_timeout: Timeout, in seconds, for the connection when making requests against the server
96
+ before returning back an error.
97
+ :param pulumi.Input[_builtins.bool] starttls: Issue a StartTLS command after establishing unencrypted connection.
98
+ :param pulumi.Input[_builtins.str] tls_max_version: Maximum TLS version to use. Accepted values are `tls10`, `tls11`,
99
+ `tls12` or `tls13`. Defaults to `tls12`.
100
+ :param pulumi.Input[_builtins.str] tls_min_version: Minimum TLS version to use. Accepted values are `tls10`, `tls11`,
101
+ `tls12` or `tls13`. Defaults to `tls12`.
102
+ :param pulumi.Input[_builtins.int] ttl: In seconds, the default password time-to-live.
103
+ :param pulumi.Input[_builtins.str] upndomain: Enables userPrincipalDomain login with [username]@UPNDomain.
104
+ :param pulumi.Input[_builtins.str] url: LDAP URL to connect to. Multiple URLs can be specified by concatenating
105
+ them with commas; they will be tried in-order. Defaults to `ldap://127.0.0.1`.
106
+ :param pulumi.Input[_builtins.bool] use_pre111_group_cn_behavior: In Vault 1.1.1 a fix for handling group CN values of
107
+ different cases unfortunately introduced a regression that could cause previously defined groups
108
+ to not be found due to a change in the resulting name. If set true, the pre-1.1.1 behavior for
109
+ matching group CNs will be used. This is only needed in some upgrade scenarios for backwards
110
+ compatibility. It is enabled by default if the config is upgraded but disabled by default on
111
+ new configurations.
112
+ :param pulumi.Input[_builtins.bool] use_token_groups: If true, use the Active Directory tokenGroups constructed attribute of the
113
+ user to find the group memberships. This will find all security groups including nested ones.
114
+ :param pulumi.Input[_builtins.str] userattr: Attribute used when searching users. Defaults to `cn`.
115
+ :param pulumi.Input[_builtins.str] userdn: LDAP domain to use for users (eg: ou=People,dc=example,dc=org)`.
116
+ """
117
+ pulumi.set(__self__, "binddn", binddn)
118
+ pulumi.set(__self__, "bindpass", bindpass)
119
+ if anonymous_group_search is not None:
120
+ pulumi.set(__self__, "anonymous_group_search", anonymous_group_search)
121
+ if backend is not None:
122
+ pulumi.set(__self__, "backend", backend)
123
+ if case_sensitive_names is not None:
124
+ pulumi.set(__self__, "case_sensitive_names", case_sensitive_names)
125
+ if certificate is not None:
126
+ pulumi.set(__self__, "certificate", certificate)
127
+ if client_tls_cert is not None:
128
+ pulumi.set(__self__, "client_tls_cert", client_tls_cert)
129
+ if client_tls_key is not None:
130
+ pulumi.set(__self__, "client_tls_key", client_tls_key)
131
+ if default_lease_ttl_seconds is not None:
132
+ pulumi.set(__self__, "default_lease_ttl_seconds", default_lease_ttl_seconds)
133
+ if deny_null_bind is not None:
134
+ pulumi.set(__self__, "deny_null_bind", deny_null_bind)
135
+ if description is not None:
136
+ pulumi.set(__self__, "description", description)
137
+ if disable_remount is not None:
138
+ pulumi.set(__self__, "disable_remount", disable_remount)
139
+ if discoverdn is not None:
140
+ pulumi.set(__self__, "discoverdn", discoverdn)
141
+ if groupattr is not None:
142
+ pulumi.set(__self__, "groupattr", groupattr)
143
+ if groupdn is not None:
144
+ pulumi.set(__self__, "groupdn", groupdn)
145
+ if groupfilter is not None:
146
+ pulumi.set(__self__, "groupfilter", groupfilter)
147
+ if insecure_tls is not None:
148
+ pulumi.set(__self__, "insecure_tls", insecure_tls)
149
+ if last_rotation_tolerance is not None:
150
+ pulumi.set(__self__, "last_rotation_tolerance", last_rotation_tolerance)
151
+ if local is not None:
152
+ pulumi.set(__self__, "local", local)
153
+ if max_lease_ttl_seconds is not None:
154
+ pulumi.set(__self__, "max_lease_ttl_seconds", max_lease_ttl_seconds)
155
+ if max_ttl is not None:
156
+ pulumi.set(__self__, "max_ttl", max_ttl)
157
+ if namespace is not None:
158
+ pulumi.set(__self__, "namespace", namespace)
159
+ if password_policy is not None:
160
+ pulumi.set(__self__, "password_policy", password_policy)
161
+ if request_timeout is not None:
162
+ pulumi.set(__self__, "request_timeout", request_timeout)
163
+ if starttls is not None:
164
+ pulumi.set(__self__, "starttls", starttls)
165
+ if tls_max_version is not None:
166
+ pulumi.set(__self__, "tls_max_version", tls_max_version)
167
+ if tls_min_version is not None:
168
+ pulumi.set(__self__, "tls_min_version", tls_min_version)
169
+ if ttl is not None:
170
+ pulumi.set(__self__, "ttl", ttl)
171
+ if upndomain is not None:
172
+ pulumi.set(__self__, "upndomain", upndomain)
173
+ if url is not None:
174
+ pulumi.set(__self__, "url", url)
175
+ if use_pre111_group_cn_behavior is not None:
176
+ pulumi.set(__self__, "use_pre111_group_cn_behavior", use_pre111_group_cn_behavior)
177
+ if use_token_groups is not None:
178
+ pulumi.set(__self__, "use_token_groups", use_token_groups)
179
+ if userattr is not None:
180
+ pulumi.set(__self__, "userattr", userattr)
181
+ if userdn is not None:
182
+ pulumi.set(__self__, "userdn", userdn)
183
+
184
+ @_builtins.property
185
+ @pulumi.getter
186
+ def binddn(self) -> pulumi.Input[_builtins.str]:
187
+ """
188
+ Distinguished name of object to bind when performing user and group search.
189
+ """
190
+ return pulumi.get(self, "binddn")
191
+
192
+ @binddn.setter
193
+ def binddn(self, value: pulumi.Input[_builtins.str]):
194
+ pulumi.set(self, "binddn", value)
195
+
196
+ @_builtins.property
197
+ @pulumi.getter
198
+ def bindpass(self) -> pulumi.Input[_builtins.str]:
199
+ """
200
+ Password to use along with binddn when performing user search.
201
+ """
202
+ return pulumi.get(self, "bindpass")
203
+
204
+ @bindpass.setter
205
+ def bindpass(self, value: pulumi.Input[_builtins.str]):
206
+ pulumi.set(self, "bindpass", value)
207
+
208
+ @_builtins.property
209
+ @pulumi.getter(name="anonymousGroupSearch")
210
+ def anonymous_group_search(self) -> Optional[pulumi.Input[_builtins.bool]]:
211
+ """
212
+ Use anonymous binds when performing LDAP group searches
213
+ (if true the initial credentials will still be used for the initial connection test).
214
+ """
215
+ return pulumi.get(self, "anonymous_group_search")
216
+
217
+ @anonymous_group_search.setter
218
+ def anonymous_group_search(self, value: Optional[pulumi.Input[_builtins.bool]]):
219
+ pulumi.set(self, "anonymous_group_search", value)
220
+
221
+ @_builtins.property
222
+ @pulumi.getter
223
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
224
+ """
225
+ The unique path this backend should be mounted at. Must
226
+ not begin or end with a `/`. Defaults to `ad`.
227
+ """
228
+ return pulumi.get(self, "backend")
229
+
230
+ @backend.setter
231
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
232
+ pulumi.set(self, "backend", value)
233
+
234
+ @_builtins.property
235
+ @pulumi.getter(name="caseSensitiveNames")
236
+ def case_sensitive_names(self) -> Optional[pulumi.Input[_builtins.bool]]:
237
+ """
238
+ If set, user and group names assigned to policies within the
239
+ backend will be case sensitive. Otherwise, names will be normalized to lower case.
240
+ """
241
+ return pulumi.get(self, "case_sensitive_names")
242
+
243
+ @case_sensitive_names.setter
244
+ def case_sensitive_names(self, value: Optional[pulumi.Input[_builtins.bool]]):
245
+ pulumi.set(self, "case_sensitive_names", value)
246
+
247
+ @_builtins.property
248
+ @pulumi.getter
249
+ def certificate(self) -> Optional[pulumi.Input[_builtins.str]]:
250
+ """
251
+ CA certificate to use when verifying LDAP server certificate, must be
252
+ x509 PEM encoded.
253
+ """
254
+ return pulumi.get(self, "certificate")
255
+
256
+ @certificate.setter
257
+ def certificate(self, value: Optional[pulumi.Input[_builtins.str]]):
258
+ pulumi.set(self, "certificate", value)
259
+
260
+ @_builtins.property
261
+ @pulumi.getter(name="clientTlsCert")
262
+ def client_tls_cert(self) -> Optional[pulumi.Input[_builtins.str]]:
263
+ """
264
+ Client certificate to provide to the LDAP server, must be x509 PEM encoded.
265
+ """
266
+ return pulumi.get(self, "client_tls_cert")
267
+
268
+ @client_tls_cert.setter
269
+ def client_tls_cert(self, value: Optional[pulumi.Input[_builtins.str]]):
270
+ pulumi.set(self, "client_tls_cert", value)
271
+
272
+ @_builtins.property
273
+ @pulumi.getter(name="clientTlsKey")
274
+ def client_tls_key(self) -> Optional[pulumi.Input[_builtins.str]]:
275
+ """
276
+ Client certificate key to provide to the LDAP server, must be x509 PEM encoded.
277
+ """
278
+ return pulumi.get(self, "client_tls_key")
279
+
280
+ @client_tls_key.setter
281
+ def client_tls_key(self, value: Optional[pulumi.Input[_builtins.str]]):
282
+ pulumi.set(self, "client_tls_key", value)
283
+
284
+ @_builtins.property
285
+ @pulumi.getter(name="defaultLeaseTtlSeconds")
286
+ def default_lease_ttl_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
287
+ """
288
+ Default lease duration for secrets in seconds.
289
+ """
290
+ return pulumi.get(self, "default_lease_ttl_seconds")
291
+
292
+ @default_lease_ttl_seconds.setter
293
+ def default_lease_ttl_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
294
+ pulumi.set(self, "default_lease_ttl_seconds", value)
295
+
296
+ @_builtins.property
297
+ @pulumi.getter(name="denyNullBind")
298
+ def deny_null_bind(self) -> Optional[pulumi.Input[_builtins.bool]]:
299
+ """
300
+ Denies an unauthenticated LDAP bind request if the user's password is empty;
301
+ defaults to true.
302
+ """
303
+ return pulumi.get(self, "deny_null_bind")
304
+
305
+ @deny_null_bind.setter
306
+ def deny_null_bind(self, value: Optional[pulumi.Input[_builtins.bool]]):
307
+ pulumi.set(self, "deny_null_bind", value)
308
+
309
+ @_builtins.property
310
+ @pulumi.getter
311
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
312
+ """
313
+ Human-friendly description of the mount for the Active Directory backend.
314
+ """
315
+ return pulumi.get(self, "description")
316
+
317
+ @description.setter
318
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
319
+ pulumi.set(self, "description", value)
320
+
321
+ @_builtins.property
322
+ @pulumi.getter(name="disableRemount")
323
+ def disable_remount(self) -> Optional[pulumi.Input[_builtins.bool]]:
324
+ """
325
+ If set, opts out of mount migration on path updates.
326
+ See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
327
+ """
328
+ return pulumi.get(self, "disable_remount")
329
+
330
+ @disable_remount.setter
331
+ def disable_remount(self, value: Optional[pulumi.Input[_builtins.bool]]):
332
+ pulumi.set(self, "disable_remount", value)
333
+
334
+ @_builtins.property
335
+ @pulumi.getter
336
+ def discoverdn(self) -> Optional[pulumi.Input[_builtins.bool]]:
337
+ """
338
+ Use anonymous bind to discover the bind Distinguished Name of a user.
339
+ """
340
+ return pulumi.get(self, "discoverdn")
341
+
342
+ @discoverdn.setter
343
+ def discoverdn(self, value: Optional[pulumi.Input[_builtins.bool]]):
344
+ pulumi.set(self, "discoverdn", value)
345
+
346
+ @_builtins.property
347
+ @pulumi.getter
348
+ def groupattr(self) -> Optional[pulumi.Input[_builtins.str]]:
349
+ """
350
+ LDAP attribute to follow on objects returned by <groupfilter> in order to enumerate
351
+ user group membership. Examples: `cn` or `memberOf`, etc. Defaults to `cn`.
352
+ """
353
+ return pulumi.get(self, "groupattr")
354
+
355
+ @groupattr.setter
356
+ def groupattr(self, value: Optional[pulumi.Input[_builtins.str]]):
357
+ pulumi.set(self, "groupattr", value)
358
+
359
+ @_builtins.property
360
+ @pulumi.getter
361
+ def groupdn(self) -> Optional[pulumi.Input[_builtins.str]]:
362
+ """
363
+ LDAP search base to use for group membership search (eg: ou=Groups,dc=example,dc=org).
364
+ """
365
+ return pulumi.get(self, "groupdn")
366
+
367
+ @groupdn.setter
368
+ def groupdn(self, value: Optional[pulumi.Input[_builtins.str]]):
369
+ pulumi.set(self, "groupdn", value)
370
+
371
+ @_builtins.property
372
+ @pulumi.getter
373
+ def groupfilter(self) -> Optional[pulumi.Input[_builtins.str]]:
374
+ """
375
+ Go template for querying group membership of user (optional) The template can access
376
+ the following context variables: UserDN, Username. Defaults to `(|(memberUid={{.Username}})(member={{.UserDN}})(uniqueMember={{.UserDN}}))`
377
+ """
378
+ return pulumi.get(self, "groupfilter")
379
+
380
+ @groupfilter.setter
381
+ def groupfilter(self, value: Optional[pulumi.Input[_builtins.str]]):
382
+ pulumi.set(self, "groupfilter", value)
383
+
384
+ @_builtins.property
385
+ @pulumi.getter(name="insecureTls")
386
+ def insecure_tls(self) -> Optional[pulumi.Input[_builtins.bool]]:
387
+ """
388
+ Skip LDAP server SSL Certificate verification. This is not recommended for production.
389
+ Defaults to `false`.
390
+ """
391
+ return pulumi.get(self, "insecure_tls")
392
+
393
+ @insecure_tls.setter
394
+ def insecure_tls(self, value: Optional[pulumi.Input[_builtins.bool]]):
395
+ pulumi.set(self, "insecure_tls", value)
396
+
397
+ @_builtins.property
398
+ @pulumi.getter(name="lastRotationTolerance")
399
+ def last_rotation_tolerance(self) -> Optional[pulumi.Input[_builtins.int]]:
400
+ """
401
+ The number of seconds after a Vault rotation where, if Active Directory
402
+ shows a later rotation, it should be considered out-of-band
403
+ """
404
+ return pulumi.get(self, "last_rotation_tolerance")
405
+
406
+ @last_rotation_tolerance.setter
407
+ def last_rotation_tolerance(self, value: Optional[pulumi.Input[_builtins.int]]):
408
+ pulumi.set(self, "last_rotation_tolerance", value)
409
+
410
+ @_builtins.property
411
+ @pulumi.getter
412
+ def local(self) -> Optional[pulumi.Input[_builtins.bool]]:
413
+ """
414
+ Mark the secrets engine as local-only. Local engines are not replicated or removed by
415
+ replication.Tolerance duration to use when checking the last rotation time.
416
+ """
417
+ return pulumi.get(self, "local")
418
+
419
+ @local.setter
420
+ def local(self, value: Optional[pulumi.Input[_builtins.bool]]):
421
+ pulumi.set(self, "local", value)
422
+
423
+ @_builtins.property
424
+ @pulumi.getter(name="maxLeaseTtlSeconds")
425
+ def max_lease_ttl_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
426
+ """
427
+ Maximum possible lease duration for secrets in seconds.
428
+ """
429
+ return pulumi.get(self, "max_lease_ttl_seconds")
430
+
431
+ @max_lease_ttl_seconds.setter
432
+ def max_lease_ttl_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
433
+ pulumi.set(self, "max_lease_ttl_seconds", value)
434
+
435
+ @_builtins.property
436
+ @pulumi.getter(name="maxTtl")
437
+ def max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
438
+ """
439
+ In seconds, the maximum password time-to-live.
440
+ """
441
+ return pulumi.get(self, "max_ttl")
442
+
443
+ @max_ttl.setter
444
+ def max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
445
+ pulumi.set(self, "max_ttl", value)
446
+
447
+ @_builtins.property
448
+ @pulumi.getter
449
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
450
+ """
451
+ The namespace to provision the resource in.
452
+ The value should not contain leading or trailing forward slashes.
453
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
454
+ *Available only for Vault Enterprise*.
455
+ """
456
+ return pulumi.get(self, "namespace")
457
+
458
+ @namespace.setter
459
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
460
+ pulumi.set(self, "namespace", value)
461
+
462
+ @_builtins.property
463
+ @pulumi.getter(name="passwordPolicy")
464
+ def password_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
465
+ """
466
+ Name of the password policy to use to generate passwords.
467
+ """
468
+ return pulumi.get(self, "password_policy")
469
+
470
+ @password_policy.setter
471
+ def password_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
472
+ pulumi.set(self, "password_policy", value)
473
+
474
+ @_builtins.property
475
+ @pulumi.getter(name="requestTimeout")
476
+ def request_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
477
+ """
478
+ Timeout, in seconds, for the connection when making requests against the server
479
+ before returning back an error.
480
+ """
481
+ return pulumi.get(self, "request_timeout")
482
+
483
+ @request_timeout.setter
484
+ def request_timeout(self, value: Optional[pulumi.Input[_builtins.int]]):
485
+ pulumi.set(self, "request_timeout", value)
486
+
487
+ @_builtins.property
488
+ @pulumi.getter
489
+ def starttls(self) -> Optional[pulumi.Input[_builtins.bool]]:
490
+ """
491
+ Issue a StartTLS command after establishing unencrypted connection.
492
+ """
493
+ return pulumi.get(self, "starttls")
494
+
495
+ @starttls.setter
496
+ def starttls(self, value: Optional[pulumi.Input[_builtins.bool]]):
497
+ pulumi.set(self, "starttls", value)
498
+
499
+ @_builtins.property
500
+ @pulumi.getter(name="tlsMaxVersion")
501
+ def tls_max_version(self) -> Optional[pulumi.Input[_builtins.str]]:
502
+ """
503
+ Maximum TLS version to use. Accepted values are `tls10`, `tls11`,
504
+ `tls12` or `tls13`. Defaults to `tls12`.
505
+ """
506
+ return pulumi.get(self, "tls_max_version")
507
+
508
+ @tls_max_version.setter
509
+ def tls_max_version(self, value: Optional[pulumi.Input[_builtins.str]]):
510
+ pulumi.set(self, "tls_max_version", value)
511
+
512
+ @_builtins.property
513
+ @pulumi.getter(name="tlsMinVersion")
514
+ def tls_min_version(self) -> Optional[pulumi.Input[_builtins.str]]:
515
+ """
516
+ Minimum TLS version to use. Accepted values are `tls10`, `tls11`,
517
+ `tls12` or `tls13`. Defaults to `tls12`.
518
+ """
519
+ return pulumi.get(self, "tls_min_version")
520
+
521
+ @tls_min_version.setter
522
+ def tls_min_version(self, value: Optional[pulumi.Input[_builtins.str]]):
523
+ pulumi.set(self, "tls_min_version", value)
524
+
525
+ @_builtins.property
526
+ @pulumi.getter
527
+ def ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
528
+ """
529
+ In seconds, the default password time-to-live.
530
+ """
531
+ return pulumi.get(self, "ttl")
532
+
533
+ @ttl.setter
534
+ def ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
535
+ pulumi.set(self, "ttl", value)
536
+
537
+ @_builtins.property
538
+ @pulumi.getter
539
+ def upndomain(self) -> Optional[pulumi.Input[_builtins.str]]:
540
+ """
541
+ Enables userPrincipalDomain login with [username]@UPNDomain.
542
+ """
543
+ return pulumi.get(self, "upndomain")
544
+
545
+ @upndomain.setter
546
+ def upndomain(self, value: Optional[pulumi.Input[_builtins.str]]):
547
+ pulumi.set(self, "upndomain", value)
548
+
549
+ @_builtins.property
550
+ @pulumi.getter
551
+ def url(self) -> Optional[pulumi.Input[_builtins.str]]:
552
+ """
553
+ LDAP URL to connect to. Multiple URLs can be specified by concatenating
554
+ them with commas; they will be tried in-order. Defaults to `ldap://127.0.0.1`.
555
+ """
556
+ return pulumi.get(self, "url")
557
+
558
+ @url.setter
559
+ def url(self, value: Optional[pulumi.Input[_builtins.str]]):
560
+ pulumi.set(self, "url", value)
561
+
562
+ @_builtins.property
563
+ @pulumi.getter(name="usePre111GroupCnBehavior")
564
+ def use_pre111_group_cn_behavior(self) -> Optional[pulumi.Input[_builtins.bool]]:
565
+ """
566
+ In Vault 1.1.1 a fix for handling group CN values of
567
+ different cases unfortunately introduced a regression that could cause previously defined groups
568
+ to not be found due to a change in the resulting name. If set true, the pre-1.1.1 behavior for
569
+ matching group CNs will be used. This is only needed in some upgrade scenarios for backwards
570
+ compatibility. It is enabled by default if the config is upgraded but disabled by default on
571
+ new configurations.
572
+ """
573
+ return pulumi.get(self, "use_pre111_group_cn_behavior")
574
+
575
+ @use_pre111_group_cn_behavior.setter
576
+ def use_pre111_group_cn_behavior(self, value: Optional[pulumi.Input[_builtins.bool]]):
577
+ pulumi.set(self, "use_pre111_group_cn_behavior", value)
578
+
579
+ @_builtins.property
580
+ @pulumi.getter(name="useTokenGroups")
581
+ def use_token_groups(self) -> Optional[pulumi.Input[_builtins.bool]]:
582
+ """
583
+ If true, use the Active Directory tokenGroups constructed attribute of the
584
+ user to find the group memberships. This will find all security groups including nested ones.
585
+ """
586
+ return pulumi.get(self, "use_token_groups")
587
+
588
+ @use_token_groups.setter
589
+ def use_token_groups(self, value: Optional[pulumi.Input[_builtins.bool]]):
590
+ pulumi.set(self, "use_token_groups", value)
591
+
592
+ @_builtins.property
593
+ @pulumi.getter
594
+ def userattr(self) -> Optional[pulumi.Input[_builtins.str]]:
595
+ """
596
+ Attribute used when searching users. Defaults to `cn`.
597
+ """
598
+ return pulumi.get(self, "userattr")
599
+
600
+ @userattr.setter
601
+ def userattr(self, value: Optional[pulumi.Input[_builtins.str]]):
602
+ pulumi.set(self, "userattr", value)
603
+
604
+ @_builtins.property
605
+ @pulumi.getter
606
+ def userdn(self) -> Optional[pulumi.Input[_builtins.str]]:
607
+ """
608
+ LDAP domain to use for users (eg: ou=People,dc=example,dc=org)`.
609
+ """
610
+ return pulumi.get(self, "userdn")
611
+
612
+ @userdn.setter
613
+ def userdn(self, value: Optional[pulumi.Input[_builtins.str]]):
614
+ pulumi.set(self, "userdn", value)
615
+
616
+
617
+ @pulumi.input_type
618
+ class _SecretBackendState:
619
+ def __init__(__self__, *,
620
+ anonymous_group_search: Optional[pulumi.Input[_builtins.bool]] = None,
621
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
622
+ binddn: Optional[pulumi.Input[_builtins.str]] = None,
623
+ bindpass: Optional[pulumi.Input[_builtins.str]] = None,
624
+ case_sensitive_names: Optional[pulumi.Input[_builtins.bool]] = None,
625
+ certificate: Optional[pulumi.Input[_builtins.str]] = None,
626
+ client_tls_cert: Optional[pulumi.Input[_builtins.str]] = None,
627
+ client_tls_key: Optional[pulumi.Input[_builtins.str]] = None,
628
+ default_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
629
+ deny_null_bind: Optional[pulumi.Input[_builtins.bool]] = None,
630
+ description: Optional[pulumi.Input[_builtins.str]] = None,
631
+ disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
632
+ discoverdn: Optional[pulumi.Input[_builtins.bool]] = None,
633
+ groupattr: Optional[pulumi.Input[_builtins.str]] = None,
634
+ groupdn: Optional[pulumi.Input[_builtins.str]] = None,
635
+ groupfilter: Optional[pulumi.Input[_builtins.str]] = None,
636
+ insecure_tls: Optional[pulumi.Input[_builtins.bool]] = None,
637
+ last_rotation_tolerance: Optional[pulumi.Input[_builtins.int]] = None,
638
+ local: Optional[pulumi.Input[_builtins.bool]] = None,
639
+ max_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
640
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
641
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
642
+ password_policy: Optional[pulumi.Input[_builtins.str]] = None,
643
+ request_timeout: Optional[pulumi.Input[_builtins.int]] = None,
644
+ starttls: Optional[pulumi.Input[_builtins.bool]] = None,
645
+ tls_max_version: Optional[pulumi.Input[_builtins.str]] = None,
646
+ tls_min_version: Optional[pulumi.Input[_builtins.str]] = None,
647
+ ttl: Optional[pulumi.Input[_builtins.int]] = None,
648
+ upndomain: Optional[pulumi.Input[_builtins.str]] = None,
649
+ url: Optional[pulumi.Input[_builtins.str]] = None,
650
+ use_pre111_group_cn_behavior: Optional[pulumi.Input[_builtins.bool]] = None,
651
+ use_token_groups: Optional[pulumi.Input[_builtins.bool]] = None,
652
+ userattr: Optional[pulumi.Input[_builtins.str]] = None,
653
+ userdn: Optional[pulumi.Input[_builtins.str]] = None):
654
+ """
655
+ Input properties used for looking up and filtering SecretBackend resources.
656
+ :param pulumi.Input[_builtins.bool] anonymous_group_search: Use anonymous binds when performing LDAP group searches
657
+ (if true the initial credentials will still be used for the initial connection test).
658
+ :param pulumi.Input[_builtins.str] backend: The unique path this backend should be mounted at. Must
659
+ not begin or end with a `/`. Defaults to `ad`.
660
+ :param pulumi.Input[_builtins.str] binddn: Distinguished name of object to bind when performing user and group search.
661
+ :param pulumi.Input[_builtins.str] bindpass: Password to use along with binddn when performing user search.
662
+ :param pulumi.Input[_builtins.bool] case_sensitive_names: If set, user and group names assigned to policies within the
663
+ backend will be case sensitive. Otherwise, names will be normalized to lower case.
664
+ :param pulumi.Input[_builtins.str] certificate: CA certificate to use when verifying LDAP server certificate, must be
665
+ x509 PEM encoded.
666
+ :param pulumi.Input[_builtins.str] client_tls_cert: Client certificate to provide to the LDAP server, must be x509 PEM encoded.
667
+ :param pulumi.Input[_builtins.str] client_tls_key: Client certificate key to provide to the LDAP server, must be x509 PEM encoded.
668
+ :param pulumi.Input[_builtins.int] default_lease_ttl_seconds: Default lease duration for secrets in seconds.
669
+ :param pulumi.Input[_builtins.bool] deny_null_bind: Denies an unauthenticated LDAP bind request if the user's password is empty;
670
+ defaults to true.
671
+ :param pulumi.Input[_builtins.str] description: Human-friendly description of the mount for the Active Directory backend.
672
+ :param pulumi.Input[_builtins.bool] disable_remount: If set, opts out of mount migration on path updates.
673
+ See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
674
+ :param pulumi.Input[_builtins.bool] discoverdn: Use anonymous bind to discover the bind Distinguished Name of a user.
675
+ :param pulumi.Input[_builtins.str] groupattr: LDAP attribute to follow on objects returned by <groupfilter> in order to enumerate
676
+ user group membership. Examples: `cn` or `memberOf`, etc. Defaults to `cn`.
677
+ :param pulumi.Input[_builtins.str] groupdn: LDAP search base to use for group membership search (eg: ou=Groups,dc=example,dc=org).
678
+ :param pulumi.Input[_builtins.str] groupfilter: Go template for querying group membership of user (optional) The template can access
679
+ the following context variables: UserDN, Username. Defaults to `(|(memberUid={{.Username}})(member={{.UserDN}})(uniqueMember={{.UserDN}}))`
680
+ :param pulumi.Input[_builtins.bool] insecure_tls: Skip LDAP server SSL Certificate verification. This is not recommended for production.
681
+ Defaults to `false`.
682
+ :param pulumi.Input[_builtins.int] last_rotation_tolerance: The number of seconds after a Vault rotation where, if Active Directory
683
+ shows a later rotation, it should be considered out-of-band
684
+ :param pulumi.Input[_builtins.bool] local: Mark the secrets engine as local-only. Local engines are not replicated or removed by
685
+ replication.Tolerance duration to use when checking the last rotation time.
686
+ :param pulumi.Input[_builtins.int] max_lease_ttl_seconds: Maximum possible lease duration for secrets in seconds.
687
+ :param pulumi.Input[_builtins.int] max_ttl: In seconds, the maximum password time-to-live.
688
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
689
+ The value should not contain leading or trailing forward slashes.
690
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
691
+ *Available only for Vault Enterprise*.
692
+ :param pulumi.Input[_builtins.str] password_policy: Name of the password policy to use to generate passwords.
693
+ :param pulumi.Input[_builtins.int] request_timeout: Timeout, in seconds, for the connection when making requests against the server
694
+ before returning back an error.
695
+ :param pulumi.Input[_builtins.bool] starttls: Issue a StartTLS command after establishing unencrypted connection.
696
+ :param pulumi.Input[_builtins.str] tls_max_version: Maximum TLS version to use. Accepted values are `tls10`, `tls11`,
697
+ `tls12` or `tls13`. Defaults to `tls12`.
698
+ :param pulumi.Input[_builtins.str] tls_min_version: Minimum TLS version to use. Accepted values are `tls10`, `tls11`,
699
+ `tls12` or `tls13`. Defaults to `tls12`.
700
+ :param pulumi.Input[_builtins.int] ttl: In seconds, the default password time-to-live.
701
+ :param pulumi.Input[_builtins.str] upndomain: Enables userPrincipalDomain login with [username]@UPNDomain.
702
+ :param pulumi.Input[_builtins.str] url: LDAP URL to connect to. Multiple URLs can be specified by concatenating
703
+ them with commas; they will be tried in-order. Defaults to `ldap://127.0.0.1`.
704
+ :param pulumi.Input[_builtins.bool] use_pre111_group_cn_behavior: In Vault 1.1.1 a fix for handling group CN values of
705
+ different cases unfortunately introduced a regression that could cause previously defined groups
706
+ to not be found due to a change in the resulting name. If set true, the pre-1.1.1 behavior for
707
+ matching group CNs will be used. This is only needed in some upgrade scenarios for backwards
708
+ compatibility. It is enabled by default if the config is upgraded but disabled by default on
709
+ new configurations.
710
+ :param pulumi.Input[_builtins.bool] use_token_groups: If true, use the Active Directory tokenGroups constructed attribute of the
711
+ user to find the group memberships. This will find all security groups including nested ones.
712
+ :param pulumi.Input[_builtins.str] userattr: Attribute used when searching users. Defaults to `cn`.
713
+ :param pulumi.Input[_builtins.str] userdn: LDAP domain to use for users (eg: ou=People,dc=example,dc=org)`.
714
+ """
715
+ if anonymous_group_search is not None:
716
+ pulumi.set(__self__, "anonymous_group_search", anonymous_group_search)
717
+ if backend is not None:
718
+ pulumi.set(__self__, "backend", backend)
719
+ if binddn is not None:
720
+ pulumi.set(__self__, "binddn", binddn)
721
+ if bindpass is not None:
722
+ pulumi.set(__self__, "bindpass", bindpass)
723
+ if case_sensitive_names is not None:
724
+ pulumi.set(__self__, "case_sensitive_names", case_sensitive_names)
725
+ if certificate is not None:
726
+ pulumi.set(__self__, "certificate", certificate)
727
+ if client_tls_cert is not None:
728
+ pulumi.set(__self__, "client_tls_cert", client_tls_cert)
729
+ if client_tls_key is not None:
730
+ pulumi.set(__self__, "client_tls_key", client_tls_key)
731
+ if default_lease_ttl_seconds is not None:
732
+ pulumi.set(__self__, "default_lease_ttl_seconds", default_lease_ttl_seconds)
733
+ if deny_null_bind is not None:
734
+ pulumi.set(__self__, "deny_null_bind", deny_null_bind)
735
+ if description is not None:
736
+ pulumi.set(__self__, "description", description)
737
+ if disable_remount is not None:
738
+ pulumi.set(__self__, "disable_remount", disable_remount)
739
+ if discoverdn is not None:
740
+ pulumi.set(__self__, "discoverdn", discoverdn)
741
+ if groupattr is not None:
742
+ pulumi.set(__self__, "groupattr", groupattr)
743
+ if groupdn is not None:
744
+ pulumi.set(__self__, "groupdn", groupdn)
745
+ if groupfilter is not None:
746
+ pulumi.set(__self__, "groupfilter", groupfilter)
747
+ if insecure_tls is not None:
748
+ pulumi.set(__self__, "insecure_tls", insecure_tls)
749
+ if last_rotation_tolerance is not None:
750
+ pulumi.set(__self__, "last_rotation_tolerance", last_rotation_tolerance)
751
+ if local is not None:
752
+ pulumi.set(__self__, "local", local)
753
+ if max_lease_ttl_seconds is not None:
754
+ pulumi.set(__self__, "max_lease_ttl_seconds", max_lease_ttl_seconds)
755
+ if max_ttl is not None:
756
+ pulumi.set(__self__, "max_ttl", max_ttl)
757
+ if namespace is not None:
758
+ pulumi.set(__self__, "namespace", namespace)
759
+ if password_policy is not None:
760
+ pulumi.set(__self__, "password_policy", password_policy)
761
+ if request_timeout is not None:
762
+ pulumi.set(__self__, "request_timeout", request_timeout)
763
+ if starttls is not None:
764
+ pulumi.set(__self__, "starttls", starttls)
765
+ if tls_max_version is not None:
766
+ pulumi.set(__self__, "tls_max_version", tls_max_version)
767
+ if tls_min_version is not None:
768
+ pulumi.set(__self__, "tls_min_version", tls_min_version)
769
+ if ttl is not None:
770
+ pulumi.set(__self__, "ttl", ttl)
771
+ if upndomain is not None:
772
+ pulumi.set(__self__, "upndomain", upndomain)
773
+ if url is not None:
774
+ pulumi.set(__self__, "url", url)
775
+ if use_pre111_group_cn_behavior is not None:
776
+ pulumi.set(__self__, "use_pre111_group_cn_behavior", use_pre111_group_cn_behavior)
777
+ if use_token_groups is not None:
778
+ pulumi.set(__self__, "use_token_groups", use_token_groups)
779
+ if userattr is not None:
780
+ pulumi.set(__self__, "userattr", userattr)
781
+ if userdn is not None:
782
+ pulumi.set(__self__, "userdn", userdn)
783
+
784
+ @_builtins.property
785
+ @pulumi.getter(name="anonymousGroupSearch")
786
+ def anonymous_group_search(self) -> Optional[pulumi.Input[_builtins.bool]]:
787
+ """
788
+ Use anonymous binds when performing LDAP group searches
789
+ (if true the initial credentials will still be used for the initial connection test).
790
+ """
791
+ return pulumi.get(self, "anonymous_group_search")
792
+
793
+ @anonymous_group_search.setter
794
+ def anonymous_group_search(self, value: Optional[pulumi.Input[_builtins.bool]]):
795
+ pulumi.set(self, "anonymous_group_search", value)
796
+
797
+ @_builtins.property
798
+ @pulumi.getter
799
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
800
+ """
801
+ The unique path this backend should be mounted at. Must
802
+ not begin or end with a `/`. Defaults to `ad`.
803
+ """
804
+ return pulumi.get(self, "backend")
805
+
806
+ @backend.setter
807
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
808
+ pulumi.set(self, "backend", value)
809
+
810
+ @_builtins.property
811
+ @pulumi.getter
812
+ def binddn(self) -> Optional[pulumi.Input[_builtins.str]]:
813
+ """
814
+ Distinguished name of object to bind when performing user and group search.
815
+ """
816
+ return pulumi.get(self, "binddn")
817
+
818
+ @binddn.setter
819
+ def binddn(self, value: Optional[pulumi.Input[_builtins.str]]):
820
+ pulumi.set(self, "binddn", value)
821
+
822
+ @_builtins.property
823
+ @pulumi.getter
824
+ def bindpass(self) -> Optional[pulumi.Input[_builtins.str]]:
825
+ """
826
+ Password to use along with binddn when performing user search.
827
+ """
828
+ return pulumi.get(self, "bindpass")
829
+
830
+ @bindpass.setter
831
+ def bindpass(self, value: Optional[pulumi.Input[_builtins.str]]):
832
+ pulumi.set(self, "bindpass", value)
833
+
834
+ @_builtins.property
835
+ @pulumi.getter(name="caseSensitiveNames")
836
+ def case_sensitive_names(self) -> Optional[pulumi.Input[_builtins.bool]]:
837
+ """
838
+ If set, user and group names assigned to policies within the
839
+ backend will be case sensitive. Otherwise, names will be normalized to lower case.
840
+ """
841
+ return pulumi.get(self, "case_sensitive_names")
842
+
843
+ @case_sensitive_names.setter
844
+ def case_sensitive_names(self, value: Optional[pulumi.Input[_builtins.bool]]):
845
+ pulumi.set(self, "case_sensitive_names", value)
846
+
847
+ @_builtins.property
848
+ @pulumi.getter
849
+ def certificate(self) -> Optional[pulumi.Input[_builtins.str]]:
850
+ """
851
+ CA certificate to use when verifying LDAP server certificate, must be
852
+ x509 PEM encoded.
853
+ """
854
+ return pulumi.get(self, "certificate")
855
+
856
+ @certificate.setter
857
+ def certificate(self, value: Optional[pulumi.Input[_builtins.str]]):
858
+ pulumi.set(self, "certificate", value)
859
+
860
+ @_builtins.property
861
+ @pulumi.getter(name="clientTlsCert")
862
+ def client_tls_cert(self) -> Optional[pulumi.Input[_builtins.str]]:
863
+ """
864
+ Client certificate to provide to the LDAP server, must be x509 PEM encoded.
865
+ """
866
+ return pulumi.get(self, "client_tls_cert")
867
+
868
+ @client_tls_cert.setter
869
+ def client_tls_cert(self, value: Optional[pulumi.Input[_builtins.str]]):
870
+ pulumi.set(self, "client_tls_cert", value)
871
+
872
+ @_builtins.property
873
+ @pulumi.getter(name="clientTlsKey")
874
+ def client_tls_key(self) -> Optional[pulumi.Input[_builtins.str]]:
875
+ """
876
+ Client certificate key to provide to the LDAP server, must be x509 PEM encoded.
877
+ """
878
+ return pulumi.get(self, "client_tls_key")
879
+
880
+ @client_tls_key.setter
881
+ def client_tls_key(self, value: Optional[pulumi.Input[_builtins.str]]):
882
+ pulumi.set(self, "client_tls_key", value)
883
+
884
+ @_builtins.property
885
+ @pulumi.getter(name="defaultLeaseTtlSeconds")
886
+ def default_lease_ttl_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
887
+ """
888
+ Default lease duration for secrets in seconds.
889
+ """
890
+ return pulumi.get(self, "default_lease_ttl_seconds")
891
+
892
+ @default_lease_ttl_seconds.setter
893
+ def default_lease_ttl_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
894
+ pulumi.set(self, "default_lease_ttl_seconds", value)
895
+
896
+ @_builtins.property
897
+ @pulumi.getter(name="denyNullBind")
898
+ def deny_null_bind(self) -> Optional[pulumi.Input[_builtins.bool]]:
899
+ """
900
+ Denies an unauthenticated LDAP bind request if the user's password is empty;
901
+ defaults to true.
902
+ """
903
+ return pulumi.get(self, "deny_null_bind")
904
+
905
+ @deny_null_bind.setter
906
+ def deny_null_bind(self, value: Optional[pulumi.Input[_builtins.bool]]):
907
+ pulumi.set(self, "deny_null_bind", value)
908
+
909
+ @_builtins.property
910
+ @pulumi.getter
911
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
912
+ """
913
+ Human-friendly description of the mount for the Active Directory backend.
914
+ """
915
+ return pulumi.get(self, "description")
916
+
917
+ @description.setter
918
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
919
+ pulumi.set(self, "description", value)
920
+
921
+ @_builtins.property
922
+ @pulumi.getter(name="disableRemount")
923
+ def disable_remount(self) -> Optional[pulumi.Input[_builtins.bool]]:
924
+ """
925
+ If set, opts out of mount migration on path updates.
926
+ See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
927
+ """
928
+ return pulumi.get(self, "disable_remount")
929
+
930
+ @disable_remount.setter
931
+ def disable_remount(self, value: Optional[pulumi.Input[_builtins.bool]]):
932
+ pulumi.set(self, "disable_remount", value)
933
+
934
+ @_builtins.property
935
+ @pulumi.getter
936
+ def discoverdn(self) -> Optional[pulumi.Input[_builtins.bool]]:
937
+ """
938
+ Use anonymous bind to discover the bind Distinguished Name of a user.
939
+ """
940
+ return pulumi.get(self, "discoverdn")
941
+
942
+ @discoverdn.setter
943
+ def discoverdn(self, value: Optional[pulumi.Input[_builtins.bool]]):
944
+ pulumi.set(self, "discoverdn", value)
945
+
946
+ @_builtins.property
947
+ @pulumi.getter
948
+ def groupattr(self) -> Optional[pulumi.Input[_builtins.str]]:
949
+ """
950
+ LDAP attribute to follow on objects returned by <groupfilter> in order to enumerate
951
+ user group membership. Examples: `cn` or `memberOf`, etc. Defaults to `cn`.
952
+ """
953
+ return pulumi.get(self, "groupattr")
954
+
955
+ @groupattr.setter
956
+ def groupattr(self, value: Optional[pulumi.Input[_builtins.str]]):
957
+ pulumi.set(self, "groupattr", value)
958
+
959
+ @_builtins.property
960
+ @pulumi.getter
961
+ def groupdn(self) -> Optional[pulumi.Input[_builtins.str]]:
962
+ """
963
+ LDAP search base to use for group membership search (eg: ou=Groups,dc=example,dc=org).
964
+ """
965
+ return pulumi.get(self, "groupdn")
966
+
967
+ @groupdn.setter
968
+ def groupdn(self, value: Optional[pulumi.Input[_builtins.str]]):
969
+ pulumi.set(self, "groupdn", value)
970
+
971
+ @_builtins.property
972
+ @pulumi.getter
973
+ def groupfilter(self) -> Optional[pulumi.Input[_builtins.str]]:
974
+ """
975
+ Go template for querying group membership of user (optional) The template can access
976
+ the following context variables: UserDN, Username. Defaults to `(|(memberUid={{.Username}})(member={{.UserDN}})(uniqueMember={{.UserDN}}))`
977
+ """
978
+ return pulumi.get(self, "groupfilter")
979
+
980
+ @groupfilter.setter
981
+ def groupfilter(self, value: Optional[pulumi.Input[_builtins.str]]):
982
+ pulumi.set(self, "groupfilter", value)
983
+
984
+ @_builtins.property
985
+ @pulumi.getter(name="insecureTls")
986
+ def insecure_tls(self) -> Optional[pulumi.Input[_builtins.bool]]:
987
+ """
988
+ Skip LDAP server SSL Certificate verification. This is not recommended for production.
989
+ Defaults to `false`.
990
+ """
991
+ return pulumi.get(self, "insecure_tls")
992
+
993
+ @insecure_tls.setter
994
+ def insecure_tls(self, value: Optional[pulumi.Input[_builtins.bool]]):
995
+ pulumi.set(self, "insecure_tls", value)
996
+
997
+ @_builtins.property
998
+ @pulumi.getter(name="lastRotationTolerance")
999
+ def last_rotation_tolerance(self) -> Optional[pulumi.Input[_builtins.int]]:
1000
+ """
1001
+ The number of seconds after a Vault rotation where, if Active Directory
1002
+ shows a later rotation, it should be considered out-of-band
1003
+ """
1004
+ return pulumi.get(self, "last_rotation_tolerance")
1005
+
1006
+ @last_rotation_tolerance.setter
1007
+ def last_rotation_tolerance(self, value: Optional[pulumi.Input[_builtins.int]]):
1008
+ pulumi.set(self, "last_rotation_tolerance", value)
1009
+
1010
+ @_builtins.property
1011
+ @pulumi.getter
1012
+ def local(self) -> Optional[pulumi.Input[_builtins.bool]]:
1013
+ """
1014
+ Mark the secrets engine as local-only. Local engines are not replicated or removed by
1015
+ replication.Tolerance duration to use when checking the last rotation time.
1016
+ """
1017
+ return pulumi.get(self, "local")
1018
+
1019
+ @local.setter
1020
+ def local(self, value: Optional[pulumi.Input[_builtins.bool]]):
1021
+ pulumi.set(self, "local", value)
1022
+
1023
+ @_builtins.property
1024
+ @pulumi.getter(name="maxLeaseTtlSeconds")
1025
+ def max_lease_ttl_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
1026
+ """
1027
+ Maximum possible lease duration for secrets in seconds.
1028
+ """
1029
+ return pulumi.get(self, "max_lease_ttl_seconds")
1030
+
1031
+ @max_lease_ttl_seconds.setter
1032
+ def max_lease_ttl_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
1033
+ pulumi.set(self, "max_lease_ttl_seconds", value)
1034
+
1035
+ @_builtins.property
1036
+ @pulumi.getter(name="maxTtl")
1037
+ def max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
1038
+ """
1039
+ In seconds, the maximum password time-to-live.
1040
+ """
1041
+ return pulumi.get(self, "max_ttl")
1042
+
1043
+ @max_ttl.setter
1044
+ def max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
1045
+ pulumi.set(self, "max_ttl", value)
1046
+
1047
+ @_builtins.property
1048
+ @pulumi.getter
1049
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
1050
+ """
1051
+ The namespace to provision the resource in.
1052
+ The value should not contain leading or trailing forward slashes.
1053
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1054
+ *Available only for Vault Enterprise*.
1055
+ """
1056
+ return pulumi.get(self, "namespace")
1057
+
1058
+ @namespace.setter
1059
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
1060
+ pulumi.set(self, "namespace", value)
1061
+
1062
+ @_builtins.property
1063
+ @pulumi.getter(name="passwordPolicy")
1064
+ def password_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
1065
+ """
1066
+ Name of the password policy to use to generate passwords.
1067
+ """
1068
+ return pulumi.get(self, "password_policy")
1069
+
1070
+ @password_policy.setter
1071
+ def password_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
1072
+ pulumi.set(self, "password_policy", value)
1073
+
1074
+ @_builtins.property
1075
+ @pulumi.getter(name="requestTimeout")
1076
+ def request_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
1077
+ """
1078
+ Timeout, in seconds, for the connection when making requests against the server
1079
+ before returning back an error.
1080
+ """
1081
+ return pulumi.get(self, "request_timeout")
1082
+
1083
+ @request_timeout.setter
1084
+ def request_timeout(self, value: Optional[pulumi.Input[_builtins.int]]):
1085
+ pulumi.set(self, "request_timeout", value)
1086
+
1087
+ @_builtins.property
1088
+ @pulumi.getter
1089
+ def starttls(self) -> Optional[pulumi.Input[_builtins.bool]]:
1090
+ """
1091
+ Issue a StartTLS command after establishing unencrypted connection.
1092
+ """
1093
+ return pulumi.get(self, "starttls")
1094
+
1095
+ @starttls.setter
1096
+ def starttls(self, value: Optional[pulumi.Input[_builtins.bool]]):
1097
+ pulumi.set(self, "starttls", value)
1098
+
1099
+ @_builtins.property
1100
+ @pulumi.getter(name="tlsMaxVersion")
1101
+ def tls_max_version(self) -> Optional[pulumi.Input[_builtins.str]]:
1102
+ """
1103
+ Maximum TLS version to use. Accepted values are `tls10`, `tls11`,
1104
+ `tls12` or `tls13`. Defaults to `tls12`.
1105
+ """
1106
+ return pulumi.get(self, "tls_max_version")
1107
+
1108
+ @tls_max_version.setter
1109
+ def tls_max_version(self, value: Optional[pulumi.Input[_builtins.str]]):
1110
+ pulumi.set(self, "tls_max_version", value)
1111
+
1112
+ @_builtins.property
1113
+ @pulumi.getter(name="tlsMinVersion")
1114
+ def tls_min_version(self) -> Optional[pulumi.Input[_builtins.str]]:
1115
+ """
1116
+ Minimum TLS version to use. Accepted values are `tls10`, `tls11`,
1117
+ `tls12` or `tls13`. Defaults to `tls12`.
1118
+ """
1119
+ return pulumi.get(self, "tls_min_version")
1120
+
1121
+ @tls_min_version.setter
1122
+ def tls_min_version(self, value: Optional[pulumi.Input[_builtins.str]]):
1123
+ pulumi.set(self, "tls_min_version", value)
1124
+
1125
+ @_builtins.property
1126
+ @pulumi.getter
1127
+ def ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
1128
+ """
1129
+ In seconds, the default password time-to-live.
1130
+ """
1131
+ return pulumi.get(self, "ttl")
1132
+
1133
+ @ttl.setter
1134
+ def ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
1135
+ pulumi.set(self, "ttl", value)
1136
+
1137
+ @_builtins.property
1138
+ @pulumi.getter
1139
+ def upndomain(self) -> Optional[pulumi.Input[_builtins.str]]:
1140
+ """
1141
+ Enables userPrincipalDomain login with [username]@UPNDomain.
1142
+ """
1143
+ return pulumi.get(self, "upndomain")
1144
+
1145
+ @upndomain.setter
1146
+ def upndomain(self, value: Optional[pulumi.Input[_builtins.str]]):
1147
+ pulumi.set(self, "upndomain", value)
1148
+
1149
+ @_builtins.property
1150
+ @pulumi.getter
1151
+ def url(self) -> Optional[pulumi.Input[_builtins.str]]:
1152
+ """
1153
+ LDAP URL to connect to. Multiple URLs can be specified by concatenating
1154
+ them with commas; they will be tried in-order. Defaults to `ldap://127.0.0.1`.
1155
+ """
1156
+ return pulumi.get(self, "url")
1157
+
1158
+ @url.setter
1159
+ def url(self, value: Optional[pulumi.Input[_builtins.str]]):
1160
+ pulumi.set(self, "url", value)
1161
+
1162
+ @_builtins.property
1163
+ @pulumi.getter(name="usePre111GroupCnBehavior")
1164
+ def use_pre111_group_cn_behavior(self) -> Optional[pulumi.Input[_builtins.bool]]:
1165
+ """
1166
+ In Vault 1.1.1 a fix for handling group CN values of
1167
+ different cases unfortunately introduced a regression that could cause previously defined groups
1168
+ to not be found due to a change in the resulting name. If set true, the pre-1.1.1 behavior for
1169
+ matching group CNs will be used. This is only needed in some upgrade scenarios for backwards
1170
+ compatibility. It is enabled by default if the config is upgraded but disabled by default on
1171
+ new configurations.
1172
+ """
1173
+ return pulumi.get(self, "use_pre111_group_cn_behavior")
1174
+
1175
+ @use_pre111_group_cn_behavior.setter
1176
+ def use_pre111_group_cn_behavior(self, value: Optional[pulumi.Input[_builtins.bool]]):
1177
+ pulumi.set(self, "use_pre111_group_cn_behavior", value)
1178
+
1179
+ @_builtins.property
1180
+ @pulumi.getter(name="useTokenGroups")
1181
+ def use_token_groups(self) -> Optional[pulumi.Input[_builtins.bool]]:
1182
+ """
1183
+ If true, use the Active Directory tokenGroups constructed attribute of the
1184
+ user to find the group memberships. This will find all security groups including nested ones.
1185
+ """
1186
+ return pulumi.get(self, "use_token_groups")
1187
+
1188
+ @use_token_groups.setter
1189
+ def use_token_groups(self, value: Optional[pulumi.Input[_builtins.bool]]):
1190
+ pulumi.set(self, "use_token_groups", value)
1191
+
1192
+ @_builtins.property
1193
+ @pulumi.getter
1194
+ def userattr(self) -> Optional[pulumi.Input[_builtins.str]]:
1195
+ """
1196
+ Attribute used when searching users. Defaults to `cn`.
1197
+ """
1198
+ return pulumi.get(self, "userattr")
1199
+
1200
+ @userattr.setter
1201
+ def userattr(self, value: Optional[pulumi.Input[_builtins.str]]):
1202
+ pulumi.set(self, "userattr", value)
1203
+
1204
+ @_builtins.property
1205
+ @pulumi.getter
1206
+ def userdn(self) -> Optional[pulumi.Input[_builtins.str]]:
1207
+ """
1208
+ LDAP domain to use for users (eg: ou=People,dc=example,dc=org)`.
1209
+ """
1210
+ return pulumi.get(self, "userdn")
1211
+
1212
+ @userdn.setter
1213
+ def userdn(self, value: Optional[pulumi.Input[_builtins.str]]):
1214
+ pulumi.set(self, "userdn", value)
1215
+
1216
+
1217
+ @pulumi.type_token("vault:ad/secretBackend:SecretBackend")
1218
+ class SecretBackend(pulumi.CustomResource):
1219
+ @overload
1220
+ def __init__(__self__,
1221
+ resource_name: str,
1222
+ opts: Optional[pulumi.ResourceOptions] = None,
1223
+ anonymous_group_search: Optional[pulumi.Input[_builtins.bool]] = None,
1224
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
1225
+ binddn: Optional[pulumi.Input[_builtins.str]] = None,
1226
+ bindpass: Optional[pulumi.Input[_builtins.str]] = None,
1227
+ case_sensitive_names: Optional[pulumi.Input[_builtins.bool]] = None,
1228
+ certificate: Optional[pulumi.Input[_builtins.str]] = None,
1229
+ client_tls_cert: Optional[pulumi.Input[_builtins.str]] = None,
1230
+ client_tls_key: Optional[pulumi.Input[_builtins.str]] = None,
1231
+ default_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
1232
+ deny_null_bind: Optional[pulumi.Input[_builtins.bool]] = None,
1233
+ description: Optional[pulumi.Input[_builtins.str]] = None,
1234
+ disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
1235
+ discoverdn: Optional[pulumi.Input[_builtins.bool]] = None,
1236
+ groupattr: Optional[pulumi.Input[_builtins.str]] = None,
1237
+ groupdn: Optional[pulumi.Input[_builtins.str]] = None,
1238
+ groupfilter: Optional[pulumi.Input[_builtins.str]] = None,
1239
+ insecure_tls: Optional[pulumi.Input[_builtins.bool]] = None,
1240
+ last_rotation_tolerance: Optional[pulumi.Input[_builtins.int]] = None,
1241
+ local: Optional[pulumi.Input[_builtins.bool]] = None,
1242
+ max_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
1243
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1244
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
1245
+ password_policy: Optional[pulumi.Input[_builtins.str]] = None,
1246
+ request_timeout: Optional[pulumi.Input[_builtins.int]] = None,
1247
+ starttls: Optional[pulumi.Input[_builtins.bool]] = None,
1248
+ tls_max_version: Optional[pulumi.Input[_builtins.str]] = None,
1249
+ tls_min_version: Optional[pulumi.Input[_builtins.str]] = None,
1250
+ ttl: Optional[pulumi.Input[_builtins.int]] = None,
1251
+ upndomain: Optional[pulumi.Input[_builtins.str]] = None,
1252
+ url: Optional[pulumi.Input[_builtins.str]] = None,
1253
+ use_pre111_group_cn_behavior: Optional[pulumi.Input[_builtins.bool]] = None,
1254
+ use_token_groups: Optional[pulumi.Input[_builtins.bool]] = None,
1255
+ userattr: Optional[pulumi.Input[_builtins.str]] = None,
1256
+ userdn: Optional[pulumi.Input[_builtins.str]] = None,
1257
+ __props__=None):
1258
+ """
1259
+ ## Example Usage
1260
+
1261
+ ```python
1262
+ import pulumi
1263
+ import pulumi_vault as vault
1264
+
1265
+ config = vault.ad.SecretBackend("config",
1266
+ backend="ad",
1267
+ binddn="CN=Administrator,CN=Users,DC=corp,DC=example,DC=net",
1268
+ bindpass="SuperSecretPassw0rd",
1269
+ url="ldaps://ad",
1270
+ insecure_tls=True,
1271
+ userdn="CN=Users,DC=corp,DC=example,DC=net")
1272
+ ```
1273
+
1274
+ ## Import
1275
+
1276
+ AD secret backend can be imported using the `backend`, e.g.
1277
+
1278
+ ```sh
1279
+ $ pulumi import vault:ad/secretBackend:SecretBackend ad ad
1280
+ ```
1281
+
1282
+ :param str resource_name: The name of the resource.
1283
+ :param pulumi.ResourceOptions opts: Options for the resource.
1284
+ :param pulumi.Input[_builtins.bool] anonymous_group_search: Use anonymous binds when performing LDAP group searches
1285
+ (if true the initial credentials will still be used for the initial connection test).
1286
+ :param pulumi.Input[_builtins.str] backend: The unique path this backend should be mounted at. Must
1287
+ not begin or end with a `/`. Defaults to `ad`.
1288
+ :param pulumi.Input[_builtins.str] binddn: Distinguished name of object to bind when performing user and group search.
1289
+ :param pulumi.Input[_builtins.str] bindpass: Password to use along with binddn when performing user search.
1290
+ :param pulumi.Input[_builtins.bool] case_sensitive_names: If set, user and group names assigned to policies within the
1291
+ backend will be case sensitive. Otherwise, names will be normalized to lower case.
1292
+ :param pulumi.Input[_builtins.str] certificate: CA certificate to use when verifying LDAP server certificate, must be
1293
+ x509 PEM encoded.
1294
+ :param pulumi.Input[_builtins.str] client_tls_cert: Client certificate to provide to the LDAP server, must be x509 PEM encoded.
1295
+ :param pulumi.Input[_builtins.str] client_tls_key: Client certificate key to provide to the LDAP server, must be x509 PEM encoded.
1296
+ :param pulumi.Input[_builtins.int] default_lease_ttl_seconds: Default lease duration for secrets in seconds.
1297
+ :param pulumi.Input[_builtins.bool] deny_null_bind: Denies an unauthenticated LDAP bind request if the user's password is empty;
1298
+ defaults to true.
1299
+ :param pulumi.Input[_builtins.str] description: Human-friendly description of the mount for the Active Directory backend.
1300
+ :param pulumi.Input[_builtins.bool] disable_remount: If set, opts out of mount migration on path updates.
1301
+ See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
1302
+ :param pulumi.Input[_builtins.bool] discoverdn: Use anonymous bind to discover the bind Distinguished Name of a user.
1303
+ :param pulumi.Input[_builtins.str] groupattr: LDAP attribute to follow on objects returned by <groupfilter> in order to enumerate
1304
+ user group membership. Examples: `cn` or `memberOf`, etc. Defaults to `cn`.
1305
+ :param pulumi.Input[_builtins.str] groupdn: LDAP search base to use for group membership search (eg: ou=Groups,dc=example,dc=org).
1306
+ :param pulumi.Input[_builtins.str] groupfilter: Go template for querying group membership of user (optional) The template can access
1307
+ the following context variables: UserDN, Username. Defaults to `(|(memberUid={{.Username}})(member={{.UserDN}})(uniqueMember={{.UserDN}}))`
1308
+ :param pulumi.Input[_builtins.bool] insecure_tls: Skip LDAP server SSL Certificate verification. This is not recommended for production.
1309
+ Defaults to `false`.
1310
+ :param pulumi.Input[_builtins.int] last_rotation_tolerance: The number of seconds after a Vault rotation where, if Active Directory
1311
+ shows a later rotation, it should be considered out-of-band
1312
+ :param pulumi.Input[_builtins.bool] local: Mark the secrets engine as local-only. Local engines are not replicated or removed by
1313
+ replication.Tolerance duration to use when checking the last rotation time.
1314
+ :param pulumi.Input[_builtins.int] max_lease_ttl_seconds: Maximum possible lease duration for secrets in seconds.
1315
+ :param pulumi.Input[_builtins.int] max_ttl: In seconds, the maximum password time-to-live.
1316
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
1317
+ The value should not contain leading or trailing forward slashes.
1318
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1319
+ *Available only for Vault Enterprise*.
1320
+ :param pulumi.Input[_builtins.str] password_policy: Name of the password policy to use to generate passwords.
1321
+ :param pulumi.Input[_builtins.int] request_timeout: Timeout, in seconds, for the connection when making requests against the server
1322
+ before returning back an error.
1323
+ :param pulumi.Input[_builtins.bool] starttls: Issue a StartTLS command after establishing unencrypted connection.
1324
+ :param pulumi.Input[_builtins.str] tls_max_version: Maximum TLS version to use. Accepted values are `tls10`, `tls11`,
1325
+ `tls12` or `tls13`. Defaults to `tls12`.
1326
+ :param pulumi.Input[_builtins.str] tls_min_version: Minimum TLS version to use. Accepted values are `tls10`, `tls11`,
1327
+ `tls12` or `tls13`. Defaults to `tls12`.
1328
+ :param pulumi.Input[_builtins.int] ttl: In seconds, the default password time-to-live.
1329
+ :param pulumi.Input[_builtins.str] upndomain: Enables userPrincipalDomain login with [username]@UPNDomain.
1330
+ :param pulumi.Input[_builtins.str] url: LDAP URL to connect to. Multiple URLs can be specified by concatenating
1331
+ them with commas; they will be tried in-order. Defaults to `ldap://127.0.0.1`.
1332
+ :param pulumi.Input[_builtins.bool] use_pre111_group_cn_behavior: In Vault 1.1.1 a fix for handling group CN values of
1333
+ different cases unfortunately introduced a regression that could cause previously defined groups
1334
+ to not be found due to a change in the resulting name. If set true, the pre-1.1.1 behavior for
1335
+ matching group CNs will be used. This is only needed in some upgrade scenarios for backwards
1336
+ compatibility. It is enabled by default if the config is upgraded but disabled by default on
1337
+ new configurations.
1338
+ :param pulumi.Input[_builtins.bool] use_token_groups: If true, use the Active Directory tokenGroups constructed attribute of the
1339
+ user to find the group memberships. This will find all security groups including nested ones.
1340
+ :param pulumi.Input[_builtins.str] userattr: Attribute used when searching users. Defaults to `cn`.
1341
+ :param pulumi.Input[_builtins.str] userdn: LDAP domain to use for users (eg: ou=People,dc=example,dc=org)`.
1342
+ """
1343
+ ...
1344
+ @overload
1345
+ def __init__(__self__,
1346
+ resource_name: str,
1347
+ args: SecretBackendArgs,
1348
+ opts: Optional[pulumi.ResourceOptions] = None):
1349
+ """
1350
+ ## Example Usage
1351
+
1352
+ ```python
1353
+ import pulumi
1354
+ import pulumi_vault as vault
1355
+
1356
+ config = vault.ad.SecretBackend("config",
1357
+ backend="ad",
1358
+ binddn="CN=Administrator,CN=Users,DC=corp,DC=example,DC=net",
1359
+ bindpass="SuperSecretPassw0rd",
1360
+ url="ldaps://ad",
1361
+ insecure_tls=True,
1362
+ userdn="CN=Users,DC=corp,DC=example,DC=net")
1363
+ ```
1364
+
1365
+ ## Import
1366
+
1367
+ AD secret backend can be imported using the `backend`, e.g.
1368
+
1369
+ ```sh
1370
+ $ pulumi import vault:ad/secretBackend:SecretBackend ad ad
1371
+ ```
1372
+
1373
+ :param str resource_name: The name of the resource.
1374
+ :param SecretBackendArgs args: The arguments to use to populate this resource's properties.
1375
+ :param pulumi.ResourceOptions opts: Options for the resource.
1376
+ """
1377
+ ...
1378
+ def __init__(__self__, resource_name: str, *args, **kwargs):
1379
+ resource_args, opts = _utilities.get_resource_args_opts(SecretBackendArgs, pulumi.ResourceOptions, *args, **kwargs)
1380
+ if resource_args is not None:
1381
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
1382
+ else:
1383
+ __self__._internal_init(resource_name, *args, **kwargs)
1384
+
1385
+ def _internal_init(__self__,
1386
+ resource_name: str,
1387
+ opts: Optional[pulumi.ResourceOptions] = None,
1388
+ anonymous_group_search: Optional[pulumi.Input[_builtins.bool]] = None,
1389
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
1390
+ binddn: Optional[pulumi.Input[_builtins.str]] = None,
1391
+ bindpass: Optional[pulumi.Input[_builtins.str]] = None,
1392
+ case_sensitive_names: Optional[pulumi.Input[_builtins.bool]] = None,
1393
+ certificate: Optional[pulumi.Input[_builtins.str]] = None,
1394
+ client_tls_cert: Optional[pulumi.Input[_builtins.str]] = None,
1395
+ client_tls_key: Optional[pulumi.Input[_builtins.str]] = None,
1396
+ default_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
1397
+ deny_null_bind: Optional[pulumi.Input[_builtins.bool]] = None,
1398
+ description: Optional[pulumi.Input[_builtins.str]] = None,
1399
+ disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
1400
+ discoverdn: Optional[pulumi.Input[_builtins.bool]] = None,
1401
+ groupattr: Optional[pulumi.Input[_builtins.str]] = None,
1402
+ groupdn: Optional[pulumi.Input[_builtins.str]] = None,
1403
+ groupfilter: Optional[pulumi.Input[_builtins.str]] = None,
1404
+ insecure_tls: Optional[pulumi.Input[_builtins.bool]] = None,
1405
+ last_rotation_tolerance: Optional[pulumi.Input[_builtins.int]] = None,
1406
+ local: Optional[pulumi.Input[_builtins.bool]] = None,
1407
+ max_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
1408
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1409
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
1410
+ password_policy: Optional[pulumi.Input[_builtins.str]] = None,
1411
+ request_timeout: Optional[pulumi.Input[_builtins.int]] = None,
1412
+ starttls: Optional[pulumi.Input[_builtins.bool]] = None,
1413
+ tls_max_version: Optional[pulumi.Input[_builtins.str]] = None,
1414
+ tls_min_version: Optional[pulumi.Input[_builtins.str]] = None,
1415
+ ttl: Optional[pulumi.Input[_builtins.int]] = None,
1416
+ upndomain: Optional[pulumi.Input[_builtins.str]] = None,
1417
+ url: Optional[pulumi.Input[_builtins.str]] = None,
1418
+ use_pre111_group_cn_behavior: Optional[pulumi.Input[_builtins.bool]] = None,
1419
+ use_token_groups: Optional[pulumi.Input[_builtins.bool]] = None,
1420
+ userattr: Optional[pulumi.Input[_builtins.str]] = None,
1421
+ userdn: Optional[pulumi.Input[_builtins.str]] = None,
1422
+ __props__=None):
1423
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1424
+ if not isinstance(opts, pulumi.ResourceOptions):
1425
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
1426
+ if opts.id is None:
1427
+ if __props__ is not None:
1428
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
1429
+ __props__ = SecretBackendArgs.__new__(SecretBackendArgs)
1430
+
1431
+ __props__.__dict__["anonymous_group_search"] = anonymous_group_search
1432
+ __props__.__dict__["backend"] = backend
1433
+ if binddn is None and not opts.urn:
1434
+ raise TypeError("Missing required property 'binddn'")
1435
+ __props__.__dict__["binddn"] = binddn
1436
+ if bindpass is None and not opts.urn:
1437
+ raise TypeError("Missing required property 'bindpass'")
1438
+ __props__.__dict__["bindpass"] = None if bindpass is None else pulumi.Output.secret(bindpass)
1439
+ __props__.__dict__["case_sensitive_names"] = case_sensitive_names
1440
+ __props__.__dict__["certificate"] = certificate
1441
+ __props__.__dict__["client_tls_cert"] = None if client_tls_cert is None else pulumi.Output.secret(client_tls_cert)
1442
+ __props__.__dict__["client_tls_key"] = None if client_tls_key is None else pulumi.Output.secret(client_tls_key)
1443
+ __props__.__dict__["default_lease_ttl_seconds"] = default_lease_ttl_seconds
1444
+ __props__.__dict__["deny_null_bind"] = deny_null_bind
1445
+ __props__.__dict__["description"] = description
1446
+ __props__.__dict__["disable_remount"] = disable_remount
1447
+ __props__.__dict__["discoverdn"] = discoverdn
1448
+ __props__.__dict__["groupattr"] = groupattr
1449
+ __props__.__dict__["groupdn"] = groupdn
1450
+ __props__.__dict__["groupfilter"] = groupfilter
1451
+ __props__.__dict__["insecure_tls"] = insecure_tls
1452
+ __props__.__dict__["last_rotation_tolerance"] = last_rotation_tolerance
1453
+ __props__.__dict__["local"] = local
1454
+ __props__.__dict__["max_lease_ttl_seconds"] = max_lease_ttl_seconds
1455
+ __props__.__dict__["max_ttl"] = max_ttl
1456
+ __props__.__dict__["namespace"] = namespace
1457
+ __props__.__dict__["password_policy"] = password_policy
1458
+ __props__.__dict__["request_timeout"] = request_timeout
1459
+ __props__.__dict__["starttls"] = starttls
1460
+ __props__.__dict__["tls_max_version"] = tls_max_version
1461
+ __props__.__dict__["tls_min_version"] = tls_min_version
1462
+ __props__.__dict__["ttl"] = ttl
1463
+ __props__.__dict__["upndomain"] = upndomain
1464
+ __props__.__dict__["url"] = url
1465
+ __props__.__dict__["use_pre111_group_cn_behavior"] = use_pre111_group_cn_behavior
1466
+ __props__.__dict__["use_token_groups"] = use_token_groups
1467
+ __props__.__dict__["userattr"] = userattr
1468
+ __props__.__dict__["userdn"] = userdn
1469
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["bindpass", "clientTlsCert", "clientTlsKey"])
1470
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1471
+ super(SecretBackend, __self__).__init__(
1472
+ 'vault:ad/secretBackend:SecretBackend',
1473
+ resource_name,
1474
+ __props__,
1475
+ opts)
1476
+
1477
+ @staticmethod
1478
+ def get(resource_name: str,
1479
+ id: pulumi.Input[str],
1480
+ opts: Optional[pulumi.ResourceOptions] = None,
1481
+ anonymous_group_search: Optional[pulumi.Input[_builtins.bool]] = None,
1482
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
1483
+ binddn: Optional[pulumi.Input[_builtins.str]] = None,
1484
+ bindpass: Optional[pulumi.Input[_builtins.str]] = None,
1485
+ case_sensitive_names: Optional[pulumi.Input[_builtins.bool]] = None,
1486
+ certificate: Optional[pulumi.Input[_builtins.str]] = None,
1487
+ client_tls_cert: Optional[pulumi.Input[_builtins.str]] = None,
1488
+ client_tls_key: Optional[pulumi.Input[_builtins.str]] = None,
1489
+ default_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
1490
+ deny_null_bind: Optional[pulumi.Input[_builtins.bool]] = None,
1491
+ description: Optional[pulumi.Input[_builtins.str]] = None,
1492
+ disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
1493
+ discoverdn: Optional[pulumi.Input[_builtins.bool]] = None,
1494
+ groupattr: Optional[pulumi.Input[_builtins.str]] = None,
1495
+ groupdn: Optional[pulumi.Input[_builtins.str]] = None,
1496
+ groupfilter: Optional[pulumi.Input[_builtins.str]] = None,
1497
+ insecure_tls: Optional[pulumi.Input[_builtins.bool]] = None,
1498
+ last_rotation_tolerance: Optional[pulumi.Input[_builtins.int]] = None,
1499
+ local: Optional[pulumi.Input[_builtins.bool]] = None,
1500
+ max_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
1501
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1502
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
1503
+ password_policy: Optional[pulumi.Input[_builtins.str]] = None,
1504
+ request_timeout: Optional[pulumi.Input[_builtins.int]] = None,
1505
+ starttls: Optional[pulumi.Input[_builtins.bool]] = None,
1506
+ tls_max_version: Optional[pulumi.Input[_builtins.str]] = None,
1507
+ tls_min_version: Optional[pulumi.Input[_builtins.str]] = None,
1508
+ ttl: Optional[pulumi.Input[_builtins.int]] = None,
1509
+ upndomain: Optional[pulumi.Input[_builtins.str]] = None,
1510
+ url: Optional[pulumi.Input[_builtins.str]] = None,
1511
+ use_pre111_group_cn_behavior: Optional[pulumi.Input[_builtins.bool]] = None,
1512
+ use_token_groups: Optional[pulumi.Input[_builtins.bool]] = None,
1513
+ userattr: Optional[pulumi.Input[_builtins.str]] = None,
1514
+ userdn: Optional[pulumi.Input[_builtins.str]] = None) -> 'SecretBackend':
1515
+ """
1516
+ Get an existing SecretBackend resource's state with the given name, id, and optional extra
1517
+ properties used to qualify the lookup.
1518
+
1519
+ :param str resource_name: The unique name of the resulting resource.
1520
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1521
+ :param pulumi.ResourceOptions opts: Options for the resource.
1522
+ :param pulumi.Input[_builtins.bool] anonymous_group_search: Use anonymous binds when performing LDAP group searches
1523
+ (if true the initial credentials will still be used for the initial connection test).
1524
+ :param pulumi.Input[_builtins.str] backend: The unique path this backend should be mounted at. Must
1525
+ not begin or end with a `/`. Defaults to `ad`.
1526
+ :param pulumi.Input[_builtins.str] binddn: Distinguished name of object to bind when performing user and group search.
1527
+ :param pulumi.Input[_builtins.str] bindpass: Password to use along with binddn when performing user search.
1528
+ :param pulumi.Input[_builtins.bool] case_sensitive_names: If set, user and group names assigned to policies within the
1529
+ backend will be case sensitive. Otherwise, names will be normalized to lower case.
1530
+ :param pulumi.Input[_builtins.str] certificate: CA certificate to use when verifying LDAP server certificate, must be
1531
+ x509 PEM encoded.
1532
+ :param pulumi.Input[_builtins.str] client_tls_cert: Client certificate to provide to the LDAP server, must be x509 PEM encoded.
1533
+ :param pulumi.Input[_builtins.str] client_tls_key: Client certificate key to provide to the LDAP server, must be x509 PEM encoded.
1534
+ :param pulumi.Input[_builtins.int] default_lease_ttl_seconds: Default lease duration for secrets in seconds.
1535
+ :param pulumi.Input[_builtins.bool] deny_null_bind: Denies an unauthenticated LDAP bind request if the user's password is empty;
1536
+ defaults to true.
1537
+ :param pulumi.Input[_builtins.str] description: Human-friendly description of the mount for the Active Directory backend.
1538
+ :param pulumi.Input[_builtins.bool] disable_remount: If set, opts out of mount migration on path updates.
1539
+ See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
1540
+ :param pulumi.Input[_builtins.bool] discoverdn: Use anonymous bind to discover the bind Distinguished Name of a user.
1541
+ :param pulumi.Input[_builtins.str] groupattr: LDAP attribute to follow on objects returned by <groupfilter> in order to enumerate
1542
+ user group membership. Examples: `cn` or `memberOf`, etc. Defaults to `cn`.
1543
+ :param pulumi.Input[_builtins.str] groupdn: LDAP search base to use for group membership search (eg: ou=Groups,dc=example,dc=org).
1544
+ :param pulumi.Input[_builtins.str] groupfilter: Go template for querying group membership of user (optional) The template can access
1545
+ the following context variables: UserDN, Username. Defaults to `(|(memberUid={{.Username}})(member={{.UserDN}})(uniqueMember={{.UserDN}}))`
1546
+ :param pulumi.Input[_builtins.bool] insecure_tls: Skip LDAP server SSL Certificate verification. This is not recommended for production.
1547
+ Defaults to `false`.
1548
+ :param pulumi.Input[_builtins.int] last_rotation_tolerance: The number of seconds after a Vault rotation where, if Active Directory
1549
+ shows a later rotation, it should be considered out-of-band
1550
+ :param pulumi.Input[_builtins.bool] local: Mark the secrets engine as local-only. Local engines are not replicated or removed by
1551
+ replication.Tolerance duration to use when checking the last rotation time.
1552
+ :param pulumi.Input[_builtins.int] max_lease_ttl_seconds: Maximum possible lease duration for secrets in seconds.
1553
+ :param pulumi.Input[_builtins.int] max_ttl: In seconds, the maximum password time-to-live.
1554
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
1555
+ The value should not contain leading or trailing forward slashes.
1556
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1557
+ *Available only for Vault Enterprise*.
1558
+ :param pulumi.Input[_builtins.str] password_policy: Name of the password policy to use to generate passwords.
1559
+ :param pulumi.Input[_builtins.int] request_timeout: Timeout, in seconds, for the connection when making requests against the server
1560
+ before returning back an error.
1561
+ :param pulumi.Input[_builtins.bool] starttls: Issue a StartTLS command after establishing unencrypted connection.
1562
+ :param pulumi.Input[_builtins.str] tls_max_version: Maximum TLS version to use. Accepted values are `tls10`, `tls11`,
1563
+ `tls12` or `tls13`. Defaults to `tls12`.
1564
+ :param pulumi.Input[_builtins.str] tls_min_version: Minimum TLS version to use. Accepted values are `tls10`, `tls11`,
1565
+ `tls12` or `tls13`. Defaults to `tls12`.
1566
+ :param pulumi.Input[_builtins.int] ttl: In seconds, the default password time-to-live.
1567
+ :param pulumi.Input[_builtins.str] upndomain: Enables userPrincipalDomain login with [username]@UPNDomain.
1568
+ :param pulumi.Input[_builtins.str] url: LDAP URL to connect to. Multiple URLs can be specified by concatenating
1569
+ them with commas; they will be tried in-order. Defaults to `ldap://127.0.0.1`.
1570
+ :param pulumi.Input[_builtins.bool] use_pre111_group_cn_behavior: In Vault 1.1.1 a fix for handling group CN values of
1571
+ different cases unfortunately introduced a regression that could cause previously defined groups
1572
+ to not be found due to a change in the resulting name. If set true, the pre-1.1.1 behavior for
1573
+ matching group CNs will be used. This is only needed in some upgrade scenarios for backwards
1574
+ compatibility. It is enabled by default if the config is upgraded but disabled by default on
1575
+ new configurations.
1576
+ :param pulumi.Input[_builtins.bool] use_token_groups: If true, use the Active Directory tokenGroups constructed attribute of the
1577
+ user to find the group memberships. This will find all security groups including nested ones.
1578
+ :param pulumi.Input[_builtins.str] userattr: Attribute used when searching users. Defaults to `cn`.
1579
+ :param pulumi.Input[_builtins.str] userdn: LDAP domain to use for users (eg: ou=People,dc=example,dc=org)`.
1580
+ """
1581
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1582
+
1583
+ __props__ = _SecretBackendState.__new__(_SecretBackendState)
1584
+
1585
+ __props__.__dict__["anonymous_group_search"] = anonymous_group_search
1586
+ __props__.__dict__["backend"] = backend
1587
+ __props__.__dict__["binddn"] = binddn
1588
+ __props__.__dict__["bindpass"] = bindpass
1589
+ __props__.__dict__["case_sensitive_names"] = case_sensitive_names
1590
+ __props__.__dict__["certificate"] = certificate
1591
+ __props__.__dict__["client_tls_cert"] = client_tls_cert
1592
+ __props__.__dict__["client_tls_key"] = client_tls_key
1593
+ __props__.__dict__["default_lease_ttl_seconds"] = default_lease_ttl_seconds
1594
+ __props__.__dict__["deny_null_bind"] = deny_null_bind
1595
+ __props__.__dict__["description"] = description
1596
+ __props__.__dict__["disable_remount"] = disable_remount
1597
+ __props__.__dict__["discoverdn"] = discoverdn
1598
+ __props__.__dict__["groupattr"] = groupattr
1599
+ __props__.__dict__["groupdn"] = groupdn
1600
+ __props__.__dict__["groupfilter"] = groupfilter
1601
+ __props__.__dict__["insecure_tls"] = insecure_tls
1602
+ __props__.__dict__["last_rotation_tolerance"] = last_rotation_tolerance
1603
+ __props__.__dict__["local"] = local
1604
+ __props__.__dict__["max_lease_ttl_seconds"] = max_lease_ttl_seconds
1605
+ __props__.__dict__["max_ttl"] = max_ttl
1606
+ __props__.__dict__["namespace"] = namespace
1607
+ __props__.__dict__["password_policy"] = password_policy
1608
+ __props__.__dict__["request_timeout"] = request_timeout
1609
+ __props__.__dict__["starttls"] = starttls
1610
+ __props__.__dict__["tls_max_version"] = tls_max_version
1611
+ __props__.__dict__["tls_min_version"] = tls_min_version
1612
+ __props__.__dict__["ttl"] = ttl
1613
+ __props__.__dict__["upndomain"] = upndomain
1614
+ __props__.__dict__["url"] = url
1615
+ __props__.__dict__["use_pre111_group_cn_behavior"] = use_pre111_group_cn_behavior
1616
+ __props__.__dict__["use_token_groups"] = use_token_groups
1617
+ __props__.__dict__["userattr"] = userattr
1618
+ __props__.__dict__["userdn"] = userdn
1619
+ return SecretBackend(resource_name, opts=opts, __props__=__props__)
1620
+
1621
+ @_builtins.property
1622
+ @pulumi.getter(name="anonymousGroupSearch")
1623
+ def anonymous_group_search(self) -> pulumi.Output[Optional[_builtins.bool]]:
1624
+ """
1625
+ Use anonymous binds when performing LDAP group searches
1626
+ (if true the initial credentials will still be used for the initial connection test).
1627
+ """
1628
+ return pulumi.get(self, "anonymous_group_search")
1629
+
1630
+ @_builtins.property
1631
+ @pulumi.getter
1632
+ def backend(self) -> pulumi.Output[Optional[_builtins.str]]:
1633
+ """
1634
+ The unique path this backend should be mounted at. Must
1635
+ not begin or end with a `/`. Defaults to `ad`.
1636
+ """
1637
+ return pulumi.get(self, "backend")
1638
+
1639
+ @_builtins.property
1640
+ @pulumi.getter
1641
+ def binddn(self) -> pulumi.Output[_builtins.str]:
1642
+ """
1643
+ Distinguished name of object to bind when performing user and group search.
1644
+ """
1645
+ return pulumi.get(self, "binddn")
1646
+
1647
+ @_builtins.property
1648
+ @pulumi.getter
1649
+ def bindpass(self) -> pulumi.Output[_builtins.str]:
1650
+ """
1651
+ Password to use along with binddn when performing user search.
1652
+ """
1653
+ return pulumi.get(self, "bindpass")
1654
+
1655
+ @_builtins.property
1656
+ @pulumi.getter(name="caseSensitiveNames")
1657
+ def case_sensitive_names(self) -> pulumi.Output[Optional[_builtins.bool]]:
1658
+ """
1659
+ If set, user and group names assigned to policies within the
1660
+ backend will be case sensitive. Otherwise, names will be normalized to lower case.
1661
+ """
1662
+ return pulumi.get(self, "case_sensitive_names")
1663
+
1664
+ @_builtins.property
1665
+ @pulumi.getter
1666
+ def certificate(self) -> pulumi.Output[Optional[_builtins.str]]:
1667
+ """
1668
+ CA certificate to use when verifying LDAP server certificate, must be
1669
+ x509 PEM encoded.
1670
+ """
1671
+ return pulumi.get(self, "certificate")
1672
+
1673
+ @_builtins.property
1674
+ @pulumi.getter(name="clientTlsCert")
1675
+ def client_tls_cert(self) -> pulumi.Output[Optional[_builtins.str]]:
1676
+ """
1677
+ Client certificate to provide to the LDAP server, must be x509 PEM encoded.
1678
+ """
1679
+ return pulumi.get(self, "client_tls_cert")
1680
+
1681
+ @_builtins.property
1682
+ @pulumi.getter(name="clientTlsKey")
1683
+ def client_tls_key(self) -> pulumi.Output[Optional[_builtins.str]]:
1684
+ """
1685
+ Client certificate key to provide to the LDAP server, must be x509 PEM encoded.
1686
+ """
1687
+ return pulumi.get(self, "client_tls_key")
1688
+
1689
+ @_builtins.property
1690
+ @pulumi.getter(name="defaultLeaseTtlSeconds")
1691
+ def default_lease_ttl_seconds(self) -> pulumi.Output[_builtins.int]:
1692
+ """
1693
+ Default lease duration for secrets in seconds.
1694
+ """
1695
+ return pulumi.get(self, "default_lease_ttl_seconds")
1696
+
1697
+ @_builtins.property
1698
+ @pulumi.getter(name="denyNullBind")
1699
+ def deny_null_bind(self) -> pulumi.Output[Optional[_builtins.bool]]:
1700
+ """
1701
+ Denies an unauthenticated LDAP bind request if the user's password is empty;
1702
+ defaults to true.
1703
+ """
1704
+ return pulumi.get(self, "deny_null_bind")
1705
+
1706
+ @_builtins.property
1707
+ @pulumi.getter
1708
+ def description(self) -> pulumi.Output[Optional[_builtins.str]]:
1709
+ """
1710
+ Human-friendly description of the mount for the Active Directory backend.
1711
+ """
1712
+ return pulumi.get(self, "description")
1713
+
1714
+ @_builtins.property
1715
+ @pulumi.getter(name="disableRemount")
1716
+ def disable_remount(self) -> pulumi.Output[Optional[_builtins.bool]]:
1717
+ """
1718
+ If set, opts out of mount migration on path updates.
1719
+ See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
1720
+ """
1721
+ return pulumi.get(self, "disable_remount")
1722
+
1723
+ @_builtins.property
1724
+ @pulumi.getter
1725
+ def discoverdn(self) -> pulumi.Output[Optional[_builtins.bool]]:
1726
+ """
1727
+ Use anonymous bind to discover the bind Distinguished Name of a user.
1728
+ """
1729
+ return pulumi.get(self, "discoverdn")
1730
+
1731
+ @_builtins.property
1732
+ @pulumi.getter
1733
+ def groupattr(self) -> pulumi.Output[Optional[_builtins.str]]:
1734
+ """
1735
+ LDAP attribute to follow on objects returned by <groupfilter> in order to enumerate
1736
+ user group membership. Examples: `cn` or `memberOf`, etc. Defaults to `cn`.
1737
+ """
1738
+ return pulumi.get(self, "groupattr")
1739
+
1740
+ @_builtins.property
1741
+ @pulumi.getter
1742
+ def groupdn(self) -> pulumi.Output[Optional[_builtins.str]]:
1743
+ """
1744
+ LDAP search base to use for group membership search (eg: ou=Groups,dc=example,dc=org).
1745
+ """
1746
+ return pulumi.get(self, "groupdn")
1747
+
1748
+ @_builtins.property
1749
+ @pulumi.getter
1750
+ def groupfilter(self) -> pulumi.Output[Optional[_builtins.str]]:
1751
+ """
1752
+ Go template for querying group membership of user (optional) The template can access
1753
+ the following context variables: UserDN, Username. Defaults to `(|(memberUid={{.Username}})(member={{.UserDN}})(uniqueMember={{.UserDN}}))`
1754
+ """
1755
+ return pulumi.get(self, "groupfilter")
1756
+
1757
+ @_builtins.property
1758
+ @pulumi.getter(name="insecureTls")
1759
+ def insecure_tls(self) -> pulumi.Output[Optional[_builtins.bool]]:
1760
+ """
1761
+ Skip LDAP server SSL Certificate verification. This is not recommended for production.
1762
+ Defaults to `false`.
1763
+ """
1764
+ return pulumi.get(self, "insecure_tls")
1765
+
1766
+ @_builtins.property
1767
+ @pulumi.getter(name="lastRotationTolerance")
1768
+ def last_rotation_tolerance(self) -> pulumi.Output[_builtins.int]:
1769
+ """
1770
+ The number of seconds after a Vault rotation where, if Active Directory
1771
+ shows a later rotation, it should be considered out-of-band
1772
+ """
1773
+ return pulumi.get(self, "last_rotation_tolerance")
1774
+
1775
+ @_builtins.property
1776
+ @pulumi.getter
1777
+ def local(self) -> pulumi.Output[Optional[_builtins.bool]]:
1778
+ """
1779
+ Mark the secrets engine as local-only. Local engines are not replicated or removed by
1780
+ replication.Tolerance duration to use when checking the last rotation time.
1781
+ """
1782
+ return pulumi.get(self, "local")
1783
+
1784
+ @_builtins.property
1785
+ @pulumi.getter(name="maxLeaseTtlSeconds")
1786
+ def max_lease_ttl_seconds(self) -> pulumi.Output[_builtins.int]:
1787
+ """
1788
+ Maximum possible lease duration for secrets in seconds.
1789
+ """
1790
+ return pulumi.get(self, "max_lease_ttl_seconds")
1791
+
1792
+ @_builtins.property
1793
+ @pulumi.getter(name="maxTtl")
1794
+ def max_ttl(self) -> pulumi.Output[_builtins.int]:
1795
+ """
1796
+ In seconds, the maximum password time-to-live.
1797
+ """
1798
+ return pulumi.get(self, "max_ttl")
1799
+
1800
+ @_builtins.property
1801
+ @pulumi.getter
1802
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
1803
+ """
1804
+ The namespace to provision the resource in.
1805
+ The value should not contain leading or trailing forward slashes.
1806
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1807
+ *Available only for Vault Enterprise*.
1808
+ """
1809
+ return pulumi.get(self, "namespace")
1810
+
1811
+ @_builtins.property
1812
+ @pulumi.getter(name="passwordPolicy")
1813
+ def password_policy(self) -> pulumi.Output[Optional[_builtins.str]]:
1814
+ """
1815
+ Name of the password policy to use to generate passwords.
1816
+ """
1817
+ return pulumi.get(self, "password_policy")
1818
+
1819
+ @_builtins.property
1820
+ @pulumi.getter(name="requestTimeout")
1821
+ def request_timeout(self) -> pulumi.Output[Optional[_builtins.int]]:
1822
+ """
1823
+ Timeout, in seconds, for the connection when making requests against the server
1824
+ before returning back an error.
1825
+ """
1826
+ return pulumi.get(self, "request_timeout")
1827
+
1828
+ @_builtins.property
1829
+ @pulumi.getter
1830
+ def starttls(self) -> pulumi.Output[_builtins.bool]:
1831
+ """
1832
+ Issue a StartTLS command after establishing unencrypted connection.
1833
+ """
1834
+ return pulumi.get(self, "starttls")
1835
+
1836
+ @_builtins.property
1837
+ @pulumi.getter(name="tlsMaxVersion")
1838
+ def tls_max_version(self) -> pulumi.Output[_builtins.str]:
1839
+ """
1840
+ Maximum TLS version to use. Accepted values are `tls10`, `tls11`,
1841
+ `tls12` or `tls13`. Defaults to `tls12`.
1842
+ """
1843
+ return pulumi.get(self, "tls_max_version")
1844
+
1845
+ @_builtins.property
1846
+ @pulumi.getter(name="tlsMinVersion")
1847
+ def tls_min_version(self) -> pulumi.Output[_builtins.str]:
1848
+ """
1849
+ Minimum TLS version to use. Accepted values are `tls10`, `tls11`,
1850
+ `tls12` or `tls13`. Defaults to `tls12`.
1851
+ """
1852
+ return pulumi.get(self, "tls_min_version")
1853
+
1854
+ @_builtins.property
1855
+ @pulumi.getter
1856
+ def ttl(self) -> pulumi.Output[_builtins.int]:
1857
+ """
1858
+ In seconds, the default password time-to-live.
1859
+ """
1860
+ return pulumi.get(self, "ttl")
1861
+
1862
+ @_builtins.property
1863
+ @pulumi.getter
1864
+ def upndomain(self) -> pulumi.Output[_builtins.str]:
1865
+ """
1866
+ Enables userPrincipalDomain login with [username]@UPNDomain.
1867
+ """
1868
+ return pulumi.get(self, "upndomain")
1869
+
1870
+ @_builtins.property
1871
+ @pulumi.getter
1872
+ def url(self) -> pulumi.Output[Optional[_builtins.str]]:
1873
+ """
1874
+ LDAP URL to connect to. Multiple URLs can be specified by concatenating
1875
+ them with commas; they will be tried in-order. Defaults to `ldap://127.0.0.1`.
1876
+ """
1877
+ return pulumi.get(self, "url")
1878
+
1879
+ @_builtins.property
1880
+ @pulumi.getter(name="usePre111GroupCnBehavior")
1881
+ def use_pre111_group_cn_behavior(self) -> pulumi.Output[_builtins.bool]:
1882
+ """
1883
+ In Vault 1.1.1 a fix for handling group CN values of
1884
+ different cases unfortunately introduced a regression that could cause previously defined groups
1885
+ to not be found due to a change in the resulting name. If set true, the pre-1.1.1 behavior for
1886
+ matching group CNs will be used. This is only needed in some upgrade scenarios for backwards
1887
+ compatibility. It is enabled by default if the config is upgraded but disabled by default on
1888
+ new configurations.
1889
+ """
1890
+ return pulumi.get(self, "use_pre111_group_cn_behavior")
1891
+
1892
+ @_builtins.property
1893
+ @pulumi.getter(name="useTokenGroups")
1894
+ def use_token_groups(self) -> pulumi.Output[Optional[_builtins.bool]]:
1895
+ """
1896
+ If true, use the Active Directory tokenGroups constructed attribute of the
1897
+ user to find the group memberships. This will find all security groups including nested ones.
1898
+ """
1899
+ return pulumi.get(self, "use_token_groups")
1900
+
1901
+ @_builtins.property
1902
+ @pulumi.getter
1903
+ def userattr(self) -> pulumi.Output[Optional[_builtins.str]]:
1904
+ """
1905
+ Attribute used when searching users. Defaults to `cn`.
1906
+ """
1907
+ return pulumi.get(self, "userattr")
1908
+
1909
+ @_builtins.property
1910
+ @pulumi.getter
1911
+ def userdn(self) -> pulumi.Output[Optional[_builtins.str]]:
1912
+ """
1913
+ LDAP domain to use for users (eg: ou=People,dc=example,dc=org)`.
1914
+ """
1915
+ return pulumi.get(self, "userdn")
1916
+