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,767 @@
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__ = ['SecretBackendDynamicRoleArgs', 'SecretBackendDynamicRole']
18
+
19
+ @pulumi.input_type
20
+ class SecretBackendDynamicRoleArgs:
21
+ def __init__(__self__, *,
22
+ creation_ldif: pulumi.Input[_builtins.str],
23
+ deletion_ldif: pulumi.Input[_builtins.str],
24
+ role_name: pulumi.Input[_builtins.str],
25
+ default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
26
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
27
+ mount: Optional[pulumi.Input[_builtins.str]] = None,
28
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
29
+ rollback_ldif: Optional[pulumi.Input[_builtins.str]] = None,
30
+ username_template: Optional[pulumi.Input[_builtins.str]] = None):
31
+ """
32
+ The set of arguments for constructing a SecretBackendDynamicRole resource.
33
+ :param pulumi.Input[_builtins.str] creation_ldif: A templatized LDIF string used to create a user
34
+ account. This may contain multiple LDIF entries. The `creation_ldif` can also
35
+ be used to add the user account to an existing group. All LDIF entries are
36
+ performed in order. If Vault encounters an error while executing the
37
+ `creation_ldif` it will stop at the first error and not execute any remaining
38
+ LDIF entries. If an error occurs and `rollback_ldif` is specified, the LDIF
39
+ entries in `rollback_ldif` will be executed. See `rollback_ldif` for more
40
+ details. This field may optionally be provided as a base64 encoded string.
41
+ :param pulumi.Input[_builtins.str] deletion_ldif: A templatized LDIF string used to delete the
42
+ user account once its TTL has expired. This may contain multiple LDIF
43
+ entries. All LDIF entries are performed in order. If Vault encounters an
44
+ error while executing an entry in the `deletion_ldif` it will attempt to
45
+ continue executing any remaining entries. This field may optionally be
46
+ provided as a base64 encoded string.
47
+ :param pulumi.Input[_builtins.str] role_name: Name of the role.
48
+ :param pulumi.Input[_builtins.int] default_ttl: Specifies the TTL for the leases associated with this role.
49
+ :param pulumi.Input[_builtins.int] max_ttl: Specifies the maximum TTL for the leases associated with this role.
50
+ :param pulumi.Input[_builtins.str] mount: The unique path this backend should be mounted at. Must
51
+ not begin or end with a `/`. Defaults to `ldap`.
52
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
53
+ The value should not contain leading or trailing forward slashes.
54
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
55
+ *Available only for Vault Enterprise*.
56
+ :param pulumi.Input[_builtins.str] rollback_ldif: A templatized LDIF string used to attempt to
57
+ rollback any changes in the event that execution of the `creation_ldif` results
58
+ in an error. This may contain multiple LDIF entries. All LDIF entries are
59
+ performed in order. If Vault encounters an error while executing an entry in
60
+ the `rollback_ldif` it will attempt to continue executing any remaining
61
+ entries. This field may optionally be provided as a base64 encoded string.
62
+ :param pulumi.Input[_builtins.str] username_template: A template used to generate a dynamic
63
+ username. This will be used to fill in the `.Username` field within the
64
+ `creation_ldif` string.
65
+ """
66
+ pulumi.set(__self__, "creation_ldif", creation_ldif)
67
+ pulumi.set(__self__, "deletion_ldif", deletion_ldif)
68
+ pulumi.set(__self__, "role_name", role_name)
69
+ if default_ttl is not None:
70
+ pulumi.set(__self__, "default_ttl", default_ttl)
71
+ if max_ttl is not None:
72
+ pulumi.set(__self__, "max_ttl", max_ttl)
73
+ if mount is not None:
74
+ pulumi.set(__self__, "mount", mount)
75
+ if namespace is not None:
76
+ pulumi.set(__self__, "namespace", namespace)
77
+ if rollback_ldif is not None:
78
+ pulumi.set(__self__, "rollback_ldif", rollback_ldif)
79
+ if username_template is not None:
80
+ pulumi.set(__self__, "username_template", username_template)
81
+
82
+ @_builtins.property
83
+ @pulumi.getter(name="creationLdif")
84
+ def creation_ldif(self) -> pulumi.Input[_builtins.str]:
85
+ """
86
+ A templatized LDIF string used to create a user
87
+ account. This may contain multiple LDIF entries. The `creation_ldif` can also
88
+ be used to add the user account to an existing group. All LDIF entries are
89
+ performed in order. If Vault encounters an error while executing the
90
+ `creation_ldif` it will stop at the first error and not execute any remaining
91
+ LDIF entries. If an error occurs and `rollback_ldif` is specified, the LDIF
92
+ entries in `rollback_ldif` will be executed. See `rollback_ldif` for more
93
+ details. This field may optionally be provided as a base64 encoded string.
94
+ """
95
+ return pulumi.get(self, "creation_ldif")
96
+
97
+ @creation_ldif.setter
98
+ def creation_ldif(self, value: pulumi.Input[_builtins.str]):
99
+ pulumi.set(self, "creation_ldif", value)
100
+
101
+ @_builtins.property
102
+ @pulumi.getter(name="deletionLdif")
103
+ def deletion_ldif(self) -> pulumi.Input[_builtins.str]:
104
+ """
105
+ A templatized LDIF string used to delete the
106
+ user account once its TTL has expired. This may contain multiple LDIF
107
+ entries. All LDIF entries are performed in order. If Vault encounters an
108
+ error while executing an entry in the `deletion_ldif` it will attempt to
109
+ continue executing any remaining entries. This field may optionally be
110
+ provided as a base64 encoded string.
111
+ """
112
+ return pulumi.get(self, "deletion_ldif")
113
+
114
+ @deletion_ldif.setter
115
+ def deletion_ldif(self, value: pulumi.Input[_builtins.str]):
116
+ pulumi.set(self, "deletion_ldif", value)
117
+
118
+ @_builtins.property
119
+ @pulumi.getter(name="roleName")
120
+ def role_name(self) -> pulumi.Input[_builtins.str]:
121
+ """
122
+ Name of the role.
123
+ """
124
+ return pulumi.get(self, "role_name")
125
+
126
+ @role_name.setter
127
+ def role_name(self, value: pulumi.Input[_builtins.str]):
128
+ pulumi.set(self, "role_name", value)
129
+
130
+ @_builtins.property
131
+ @pulumi.getter(name="defaultTtl")
132
+ def default_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
133
+ """
134
+ Specifies the TTL for the leases associated with this role.
135
+ """
136
+ return pulumi.get(self, "default_ttl")
137
+
138
+ @default_ttl.setter
139
+ def default_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
140
+ pulumi.set(self, "default_ttl", value)
141
+
142
+ @_builtins.property
143
+ @pulumi.getter(name="maxTtl")
144
+ def max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
145
+ """
146
+ Specifies the maximum TTL for the leases associated with this role.
147
+ """
148
+ return pulumi.get(self, "max_ttl")
149
+
150
+ @max_ttl.setter
151
+ def max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
152
+ pulumi.set(self, "max_ttl", value)
153
+
154
+ @_builtins.property
155
+ @pulumi.getter
156
+ def mount(self) -> Optional[pulumi.Input[_builtins.str]]:
157
+ """
158
+ The unique path this backend should be mounted at. Must
159
+ not begin or end with a `/`. Defaults to `ldap`.
160
+ """
161
+ return pulumi.get(self, "mount")
162
+
163
+ @mount.setter
164
+ def mount(self, value: Optional[pulumi.Input[_builtins.str]]):
165
+ pulumi.set(self, "mount", value)
166
+
167
+ @_builtins.property
168
+ @pulumi.getter
169
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
170
+ """
171
+ The namespace to provision the resource in.
172
+ The value should not contain leading or trailing forward slashes.
173
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
174
+ *Available only for Vault Enterprise*.
175
+ """
176
+ return pulumi.get(self, "namespace")
177
+
178
+ @namespace.setter
179
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
180
+ pulumi.set(self, "namespace", value)
181
+
182
+ @_builtins.property
183
+ @pulumi.getter(name="rollbackLdif")
184
+ def rollback_ldif(self) -> Optional[pulumi.Input[_builtins.str]]:
185
+ """
186
+ A templatized LDIF string used to attempt to
187
+ rollback any changes in the event that execution of the `creation_ldif` results
188
+ in an error. This may contain multiple LDIF entries. All LDIF entries are
189
+ performed in order. If Vault encounters an error while executing an entry in
190
+ the `rollback_ldif` it will attempt to continue executing any remaining
191
+ entries. This field may optionally be provided as a base64 encoded string.
192
+ """
193
+ return pulumi.get(self, "rollback_ldif")
194
+
195
+ @rollback_ldif.setter
196
+ def rollback_ldif(self, value: Optional[pulumi.Input[_builtins.str]]):
197
+ pulumi.set(self, "rollback_ldif", value)
198
+
199
+ @_builtins.property
200
+ @pulumi.getter(name="usernameTemplate")
201
+ def username_template(self) -> Optional[pulumi.Input[_builtins.str]]:
202
+ """
203
+ A template used to generate a dynamic
204
+ username. This will be used to fill in the `.Username` field within the
205
+ `creation_ldif` string.
206
+ """
207
+ return pulumi.get(self, "username_template")
208
+
209
+ @username_template.setter
210
+ def username_template(self, value: Optional[pulumi.Input[_builtins.str]]):
211
+ pulumi.set(self, "username_template", value)
212
+
213
+
214
+ @pulumi.input_type
215
+ class _SecretBackendDynamicRoleState:
216
+ def __init__(__self__, *,
217
+ creation_ldif: Optional[pulumi.Input[_builtins.str]] = None,
218
+ default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
219
+ deletion_ldif: Optional[pulumi.Input[_builtins.str]] = None,
220
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
221
+ mount: Optional[pulumi.Input[_builtins.str]] = None,
222
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
223
+ role_name: Optional[pulumi.Input[_builtins.str]] = None,
224
+ rollback_ldif: Optional[pulumi.Input[_builtins.str]] = None,
225
+ username_template: Optional[pulumi.Input[_builtins.str]] = None):
226
+ """
227
+ Input properties used for looking up and filtering SecretBackendDynamicRole resources.
228
+ :param pulumi.Input[_builtins.str] creation_ldif: A templatized LDIF string used to create a user
229
+ account. This may contain multiple LDIF entries. The `creation_ldif` can also
230
+ be used to add the user account to an existing group. All LDIF entries are
231
+ performed in order. If Vault encounters an error while executing the
232
+ `creation_ldif` it will stop at the first error and not execute any remaining
233
+ LDIF entries. If an error occurs and `rollback_ldif` is specified, the LDIF
234
+ entries in `rollback_ldif` will be executed. See `rollback_ldif` for more
235
+ details. This field may optionally be provided as a base64 encoded string.
236
+ :param pulumi.Input[_builtins.int] default_ttl: Specifies the TTL for the leases associated with this role.
237
+ :param pulumi.Input[_builtins.str] deletion_ldif: A templatized LDIF string used to delete the
238
+ user account once its TTL has expired. This may contain multiple LDIF
239
+ entries. All LDIF entries are performed in order. If Vault encounters an
240
+ error while executing an entry in the `deletion_ldif` it will attempt to
241
+ continue executing any remaining entries. This field may optionally be
242
+ provided as a base64 encoded string.
243
+ :param pulumi.Input[_builtins.int] max_ttl: Specifies the maximum TTL for the leases associated with this role.
244
+ :param pulumi.Input[_builtins.str] mount: The unique path this backend should be mounted at. Must
245
+ not begin or end with a `/`. Defaults to `ldap`.
246
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
247
+ The value should not contain leading or trailing forward slashes.
248
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
249
+ *Available only for Vault Enterprise*.
250
+ :param pulumi.Input[_builtins.str] role_name: Name of the role.
251
+ :param pulumi.Input[_builtins.str] rollback_ldif: A templatized LDIF string used to attempt to
252
+ rollback any changes in the event that execution of the `creation_ldif` results
253
+ in an error. This may contain multiple LDIF entries. All LDIF entries are
254
+ performed in order. If Vault encounters an error while executing an entry in
255
+ the `rollback_ldif` it will attempt to continue executing any remaining
256
+ entries. This field may optionally be provided as a base64 encoded string.
257
+ :param pulumi.Input[_builtins.str] username_template: A template used to generate a dynamic
258
+ username. This will be used to fill in the `.Username` field within the
259
+ `creation_ldif` string.
260
+ """
261
+ if creation_ldif is not None:
262
+ pulumi.set(__self__, "creation_ldif", creation_ldif)
263
+ if default_ttl is not None:
264
+ pulumi.set(__self__, "default_ttl", default_ttl)
265
+ if deletion_ldif is not None:
266
+ pulumi.set(__self__, "deletion_ldif", deletion_ldif)
267
+ if max_ttl is not None:
268
+ pulumi.set(__self__, "max_ttl", max_ttl)
269
+ if mount is not None:
270
+ pulumi.set(__self__, "mount", mount)
271
+ if namespace is not None:
272
+ pulumi.set(__self__, "namespace", namespace)
273
+ if role_name is not None:
274
+ pulumi.set(__self__, "role_name", role_name)
275
+ if rollback_ldif is not None:
276
+ pulumi.set(__self__, "rollback_ldif", rollback_ldif)
277
+ if username_template is not None:
278
+ pulumi.set(__self__, "username_template", username_template)
279
+
280
+ @_builtins.property
281
+ @pulumi.getter(name="creationLdif")
282
+ def creation_ldif(self) -> Optional[pulumi.Input[_builtins.str]]:
283
+ """
284
+ A templatized LDIF string used to create a user
285
+ account. This may contain multiple LDIF entries. The `creation_ldif` can also
286
+ be used to add the user account to an existing group. All LDIF entries are
287
+ performed in order. If Vault encounters an error while executing the
288
+ `creation_ldif` it will stop at the first error and not execute any remaining
289
+ LDIF entries. If an error occurs and `rollback_ldif` is specified, the LDIF
290
+ entries in `rollback_ldif` will be executed. See `rollback_ldif` for more
291
+ details. This field may optionally be provided as a base64 encoded string.
292
+ """
293
+ return pulumi.get(self, "creation_ldif")
294
+
295
+ @creation_ldif.setter
296
+ def creation_ldif(self, value: Optional[pulumi.Input[_builtins.str]]):
297
+ pulumi.set(self, "creation_ldif", value)
298
+
299
+ @_builtins.property
300
+ @pulumi.getter(name="defaultTtl")
301
+ def default_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
302
+ """
303
+ Specifies the TTL for the leases associated with this role.
304
+ """
305
+ return pulumi.get(self, "default_ttl")
306
+
307
+ @default_ttl.setter
308
+ def default_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
309
+ pulumi.set(self, "default_ttl", value)
310
+
311
+ @_builtins.property
312
+ @pulumi.getter(name="deletionLdif")
313
+ def deletion_ldif(self) -> Optional[pulumi.Input[_builtins.str]]:
314
+ """
315
+ A templatized LDIF string used to delete the
316
+ user account once its TTL has expired. This may contain multiple LDIF
317
+ entries. All LDIF entries are performed in order. If Vault encounters an
318
+ error while executing an entry in the `deletion_ldif` it will attempt to
319
+ continue executing any remaining entries. This field may optionally be
320
+ provided as a base64 encoded string.
321
+ """
322
+ return pulumi.get(self, "deletion_ldif")
323
+
324
+ @deletion_ldif.setter
325
+ def deletion_ldif(self, value: Optional[pulumi.Input[_builtins.str]]):
326
+ pulumi.set(self, "deletion_ldif", value)
327
+
328
+ @_builtins.property
329
+ @pulumi.getter(name="maxTtl")
330
+ def max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
331
+ """
332
+ Specifies the maximum TTL for the leases associated with this role.
333
+ """
334
+ return pulumi.get(self, "max_ttl")
335
+
336
+ @max_ttl.setter
337
+ def max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
338
+ pulumi.set(self, "max_ttl", value)
339
+
340
+ @_builtins.property
341
+ @pulumi.getter
342
+ def mount(self) -> Optional[pulumi.Input[_builtins.str]]:
343
+ """
344
+ The unique path this backend should be mounted at. Must
345
+ not begin or end with a `/`. Defaults to `ldap`.
346
+ """
347
+ return pulumi.get(self, "mount")
348
+
349
+ @mount.setter
350
+ def mount(self, value: Optional[pulumi.Input[_builtins.str]]):
351
+ pulumi.set(self, "mount", value)
352
+
353
+ @_builtins.property
354
+ @pulumi.getter
355
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
356
+ """
357
+ The namespace to provision the resource in.
358
+ The value should not contain leading or trailing forward slashes.
359
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
360
+ *Available only for Vault Enterprise*.
361
+ """
362
+ return pulumi.get(self, "namespace")
363
+
364
+ @namespace.setter
365
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
366
+ pulumi.set(self, "namespace", value)
367
+
368
+ @_builtins.property
369
+ @pulumi.getter(name="roleName")
370
+ def role_name(self) -> Optional[pulumi.Input[_builtins.str]]:
371
+ """
372
+ Name of the role.
373
+ """
374
+ return pulumi.get(self, "role_name")
375
+
376
+ @role_name.setter
377
+ def role_name(self, value: Optional[pulumi.Input[_builtins.str]]):
378
+ pulumi.set(self, "role_name", value)
379
+
380
+ @_builtins.property
381
+ @pulumi.getter(name="rollbackLdif")
382
+ def rollback_ldif(self) -> Optional[pulumi.Input[_builtins.str]]:
383
+ """
384
+ A templatized LDIF string used to attempt to
385
+ rollback any changes in the event that execution of the `creation_ldif` results
386
+ in an error. This may contain multiple LDIF entries. All LDIF entries are
387
+ performed in order. If Vault encounters an error while executing an entry in
388
+ the `rollback_ldif` it will attempt to continue executing any remaining
389
+ entries. This field may optionally be provided as a base64 encoded string.
390
+ """
391
+ return pulumi.get(self, "rollback_ldif")
392
+
393
+ @rollback_ldif.setter
394
+ def rollback_ldif(self, value: Optional[pulumi.Input[_builtins.str]]):
395
+ pulumi.set(self, "rollback_ldif", value)
396
+
397
+ @_builtins.property
398
+ @pulumi.getter(name="usernameTemplate")
399
+ def username_template(self) -> Optional[pulumi.Input[_builtins.str]]:
400
+ """
401
+ A template used to generate a dynamic
402
+ username. This will be used to fill in the `.Username` field within the
403
+ `creation_ldif` string.
404
+ """
405
+ return pulumi.get(self, "username_template")
406
+
407
+ @username_template.setter
408
+ def username_template(self, value: Optional[pulumi.Input[_builtins.str]]):
409
+ pulumi.set(self, "username_template", value)
410
+
411
+
412
+ @pulumi.type_token("vault:ldap/secretBackendDynamicRole:SecretBackendDynamicRole")
413
+ class SecretBackendDynamicRole(pulumi.CustomResource):
414
+ @overload
415
+ def __init__(__self__,
416
+ resource_name: str,
417
+ opts: Optional[pulumi.ResourceOptions] = None,
418
+ creation_ldif: Optional[pulumi.Input[_builtins.str]] = None,
419
+ default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
420
+ deletion_ldif: Optional[pulumi.Input[_builtins.str]] = None,
421
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
422
+ mount: Optional[pulumi.Input[_builtins.str]] = None,
423
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
424
+ role_name: Optional[pulumi.Input[_builtins.str]] = None,
425
+ rollback_ldif: Optional[pulumi.Input[_builtins.str]] = None,
426
+ username_template: Optional[pulumi.Input[_builtins.str]] = None,
427
+ __props__=None):
428
+ """
429
+ ## Example Usage
430
+
431
+ ```python
432
+ import pulumi
433
+ import pulumi_vault as vault
434
+
435
+ config = vault.ldap.SecretBackend("config",
436
+ path="my-custom-ldap",
437
+ binddn="CN=Administrator,CN=Users,DC=corp,DC=example,DC=net",
438
+ bindpass="SuperSecretPassw0rd",
439
+ url="ldaps://localhost",
440
+ userdn="CN=Users,DC=corp,DC=example,DC=net")
441
+ role = vault.ldap.SecretBackendDynamicRole("role",
442
+ mount=config.path,
443
+ role_name="alice",
444
+ creation_ldif=\"\"\"dn: cn={{.Username}},ou=users,dc=learn,dc=example
445
+ objectClass: person
446
+ objectClass: top
447
+ cn: learn
448
+ sn: {{.Password | utf16le | base64}}
449
+ memberOf: cn=dev,ou=groups,dc=learn,dc=example
450
+ userPassword: {{.Password}}
451
+ \"\"\",
452
+ deletion_ldif=\"\"\"dn: cn={{.Username}},ou=users,dc=learn,dc=example
453
+ changetype: delete
454
+ rollback_ldif = <<EOT
455
+ dn: cn={{.Username}},ou=users,dc=learn,dc=example
456
+ changetype: delete
457
+ \"\"\")
458
+ ```
459
+
460
+ ## Import
461
+
462
+ LDAP secret backend dynamic role can be imported using the full path to the role
463
+ of the form: `<mount_path>/dynamic-role/<role_name>` e.g.
464
+
465
+ ```sh
466
+ $ pulumi import vault:ldap/secretBackendDynamicRole:SecretBackendDynamicRole role ldap/role/dynamic-role
467
+ ```
468
+
469
+ :param str resource_name: The name of the resource.
470
+ :param pulumi.ResourceOptions opts: Options for the resource.
471
+ :param pulumi.Input[_builtins.str] creation_ldif: A templatized LDIF string used to create a user
472
+ account. This may contain multiple LDIF entries. The `creation_ldif` can also
473
+ be used to add the user account to an existing group. All LDIF entries are
474
+ performed in order. If Vault encounters an error while executing the
475
+ `creation_ldif` it will stop at the first error and not execute any remaining
476
+ LDIF entries. If an error occurs and `rollback_ldif` is specified, the LDIF
477
+ entries in `rollback_ldif` will be executed. See `rollback_ldif` for more
478
+ details. This field may optionally be provided as a base64 encoded string.
479
+ :param pulumi.Input[_builtins.int] default_ttl: Specifies the TTL for the leases associated with this role.
480
+ :param pulumi.Input[_builtins.str] deletion_ldif: A templatized LDIF string used to delete the
481
+ user account once its TTL has expired. This may contain multiple LDIF
482
+ entries. All LDIF entries are performed in order. If Vault encounters an
483
+ error while executing an entry in the `deletion_ldif` it will attempt to
484
+ continue executing any remaining entries. This field may optionally be
485
+ provided as a base64 encoded string.
486
+ :param pulumi.Input[_builtins.int] max_ttl: Specifies the maximum TTL for the leases associated with this role.
487
+ :param pulumi.Input[_builtins.str] mount: The unique path this backend should be mounted at. Must
488
+ not begin or end with a `/`. Defaults to `ldap`.
489
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
490
+ The value should not contain leading or trailing forward slashes.
491
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
492
+ *Available only for Vault Enterprise*.
493
+ :param pulumi.Input[_builtins.str] role_name: Name of the role.
494
+ :param pulumi.Input[_builtins.str] rollback_ldif: A templatized LDIF string used to attempt to
495
+ rollback any changes in the event that execution of the `creation_ldif` results
496
+ in an error. This may contain multiple LDIF entries. All LDIF entries are
497
+ performed in order. If Vault encounters an error while executing an entry in
498
+ the `rollback_ldif` it will attempt to continue executing any remaining
499
+ entries. This field may optionally be provided as a base64 encoded string.
500
+ :param pulumi.Input[_builtins.str] username_template: A template used to generate a dynamic
501
+ username. This will be used to fill in the `.Username` field within the
502
+ `creation_ldif` string.
503
+ """
504
+ ...
505
+ @overload
506
+ def __init__(__self__,
507
+ resource_name: str,
508
+ args: SecretBackendDynamicRoleArgs,
509
+ opts: Optional[pulumi.ResourceOptions] = None):
510
+ """
511
+ ## Example Usage
512
+
513
+ ```python
514
+ import pulumi
515
+ import pulumi_vault as vault
516
+
517
+ config = vault.ldap.SecretBackend("config",
518
+ path="my-custom-ldap",
519
+ binddn="CN=Administrator,CN=Users,DC=corp,DC=example,DC=net",
520
+ bindpass="SuperSecretPassw0rd",
521
+ url="ldaps://localhost",
522
+ userdn="CN=Users,DC=corp,DC=example,DC=net")
523
+ role = vault.ldap.SecretBackendDynamicRole("role",
524
+ mount=config.path,
525
+ role_name="alice",
526
+ creation_ldif=\"\"\"dn: cn={{.Username}},ou=users,dc=learn,dc=example
527
+ objectClass: person
528
+ objectClass: top
529
+ cn: learn
530
+ sn: {{.Password | utf16le | base64}}
531
+ memberOf: cn=dev,ou=groups,dc=learn,dc=example
532
+ userPassword: {{.Password}}
533
+ \"\"\",
534
+ deletion_ldif=\"\"\"dn: cn={{.Username}},ou=users,dc=learn,dc=example
535
+ changetype: delete
536
+ rollback_ldif = <<EOT
537
+ dn: cn={{.Username}},ou=users,dc=learn,dc=example
538
+ changetype: delete
539
+ \"\"\")
540
+ ```
541
+
542
+ ## Import
543
+
544
+ LDAP secret backend dynamic role can be imported using the full path to the role
545
+ of the form: `<mount_path>/dynamic-role/<role_name>` e.g.
546
+
547
+ ```sh
548
+ $ pulumi import vault:ldap/secretBackendDynamicRole:SecretBackendDynamicRole role ldap/role/dynamic-role
549
+ ```
550
+
551
+ :param str resource_name: The name of the resource.
552
+ :param SecretBackendDynamicRoleArgs args: The arguments to use to populate this resource's properties.
553
+ :param pulumi.ResourceOptions opts: Options for the resource.
554
+ """
555
+ ...
556
+ def __init__(__self__, resource_name: str, *args, **kwargs):
557
+ resource_args, opts = _utilities.get_resource_args_opts(SecretBackendDynamicRoleArgs, pulumi.ResourceOptions, *args, **kwargs)
558
+ if resource_args is not None:
559
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
560
+ else:
561
+ __self__._internal_init(resource_name, *args, **kwargs)
562
+
563
+ def _internal_init(__self__,
564
+ resource_name: str,
565
+ opts: Optional[pulumi.ResourceOptions] = None,
566
+ creation_ldif: Optional[pulumi.Input[_builtins.str]] = None,
567
+ default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
568
+ deletion_ldif: Optional[pulumi.Input[_builtins.str]] = None,
569
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
570
+ mount: Optional[pulumi.Input[_builtins.str]] = None,
571
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
572
+ role_name: Optional[pulumi.Input[_builtins.str]] = None,
573
+ rollback_ldif: Optional[pulumi.Input[_builtins.str]] = None,
574
+ username_template: Optional[pulumi.Input[_builtins.str]] = None,
575
+ __props__=None):
576
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
577
+ if not isinstance(opts, pulumi.ResourceOptions):
578
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
579
+ if opts.id is None:
580
+ if __props__ is not None:
581
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
582
+ __props__ = SecretBackendDynamicRoleArgs.__new__(SecretBackendDynamicRoleArgs)
583
+
584
+ if creation_ldif is None and not opts.urn:
585
+ raise TypeError("Missing required property 'creation_ldif'")
586
+ __props__.__dict__["creation_ldif"] = creation_ldif
587
+ __props__.__dict__["default_ttl"] = default_ttl
588
+ if deletion_ldif is None and not opts.urn:
589
+ raise TypeError("Missing required property 'deletion_ldif'")
590
+ __props__.__dict__["deletion_ldif"] = deletion_ldif
591
+ __props__.__dict__["max_ttl"] = max_ttl
592
+ __props__.__dict__["mount"] = mount
593
+ __props__.__dict__["namespace"] = namespace
594
+ if role_name is None and not opts.urn:
595
+ raise TypeError("Missing required property 'role_name'")
596
+ __props__.__dict__["role_name"] = role_name
597
+ __props__.__dict__["rollback_ldif"] = rollback_ldif
598
+ __props__.__dict__["username_template"] = username_template
599
+ super(SecretBackendDynamicRole, __self__).__init__(
600
+ 'vault:ldap/secretBackendDynamicRole:SecretBackendDynamicRole',
601
+ resource_name,
602
+ __props__,
603
+ opts)
604
+
605
+ @staticmethod
606
+ def get(resource_name: str,
607
+ id: pulumi.Input[str],
608
+ opts: Optional[pulumi.ResourceOptions] = None,
609
+ creation_ldif: Optional[pulumi.Input[_builtins.str]] = None,
610
+ default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
611
+ deletion_ldif: Optional[pulumi.Input[_builtins.str]] = None,
612
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
613
+ mount: Optional[pulumi.Input[_builtins.str]] = None,
614
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
615
+ role_name: Optional[pulumi.Input[_builtins.str]] = None,
616
+ rollback_ldif: Optional[pulumi.Input[_builtins.str]] = None,
617
+ username_template: Optional[pulumi.Input[_builtins.str]] = None) -> 'SecretBackendDynamicRole':
618
+ """
619
+ Get an existing SecretBackendDynamicRole resource's state with the given name, id, and optional extra
620
+ properties used to qualify the lookup.
621
+
622
+ :param str resource_name: The unique name of the resulting resource.
623
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
624
+ :param pulumi.ResourceOptions opts: Options for the resource.
625
+ :param pulumi.Input[_builtins.str] creation_ldif: A templatized LDIF string used to create a user
626
+ account. This may contain multiple LDIF entries. The `creation_ldif` can also
627
+ be used to add the user account to an existing group. All LDIF entries are
628
+ performed in order. If Vault encounters an error while executing the
629
+ `creation_ldif` it will stop at the first error and not execute any remaining
630
+ LDIF entries. If an error occurs and `rollback_ldif` is specified, the LDIF
631
+ entries in `rollback_ldif` will be executed. See `rollback_ldif` for more
632
+ details. This field may optionally be provided as a base64 encoded string.
633
+ :param pulumi.Input[_builtins.int] default_ttl: Specifies the TTL for the leases associated with this role.
634
+ :param pulumi.Input[_builtins.str] deletion_ldif: A templatized LDIF string used to delete the
635
+ user account once its TTL has expired. This may contain multiple LDIF
636
+ entries. All LDIF entries are performed in order. If Vault encounters an
637
+ error while executing an entry in the `deletion_ldif` it will attempt to
638
+ continue executing any remaining entries. This field may optionally be
639
+ provided as a base64 encoded string.
640
+ :param pulumi.Input[_builtins.int] max_ttl: Specifies the maximum TTL for the leases associated with this role.
641
+ :param pulumi.Input[_builtins.str] mount: The unique path this backend should be mounted at. Must
642
+ not begin or end with a `/`. Defaults to `ldap`.
643
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
644
+ The value should not contain leading or trailing forward slashes.
645
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
646
+ *Available only for Vault Enterprise*.
647
+ :param pulumi.Input[_builtins.str] role_name: Name of the role.
648
+ :param pulumi.Input[_builtins.str] rollback_ldif: A templatized LDIF string used to attempt to
649
+ rollback any changes in the event that execution of the `creation_ldif` results
650
+ in an error. This may contain multiple LDIF entries. All LDIF entries are
651
+ performed in order. If Vault encounters an error while executing an entry in
652
+ the `rollback_ldif` it will attempt to continue executing any remaining
653
+ entries. This field may optionally be provided as a base64 encoded string.
654
+ :param pulumi.Input[_builtins.str] username_template: A template used to generate a dynamic
655
+ username. This will be used to fill in the `.Username` field within the
656
+ `creation_ldif` string.
657
+ """
658
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
659
+
660
+ __props__ = _SecretBackendDynamicRoleState.__new__(_SecretBackendDynamicRoleState)
661
+
662
+ __props__.__dict__["creation_ldif"] = creation_ldif
663
+ __props__.__dict__["default_ttl"] = default_ttl
664
+ __props__.__dict__["deletion_ldif"] = deletion_ldif
665
+ __props__.__dict__["max_ttl"] = max_ttl
666
+ __props__.__dict__["mount"] = mount
667
+ __props__.__dict__["namespace"] = namespace
668
+ __props__.__dict__["role_name"] = role_name
669
+ __props__.__dict__["rollback_ldif"] = rollback_ldif
670
+ __props__.__dict__["username_template"] = username_template
671
+ return SecretBackendDynamicRole(resource_name, opts=opts, __props__=__props__)
672
+
673
+ @_builtins.property
674
+ @pulumi.getter(name="creationLdif")
675
+ def creation_ldif(self) -> pulumi.Output[_builtins.str]:
676
+ """
677
+ A templatized LDIF string used to create a user
678
+ account. This may contain multiple LDIF entries. The `creation_ldif` can also
679
+ be used to add the user account to an existing group. All LDIF entries are
680
+ performed in order. If Vault encounters an error while executing the
681
+ `creation_ldif` it will stop at the first error and not execute any remaining
682
+ LDIF entries. If an error occurs and `rollback_ldif` is specified, the LDIF
683
+ entries in `rollback_ldif` will be executed. See `rollback_ldif` for more
684
+ details. This field may optionally be provided as a base64 encoded string.
685
+ """
686
+ return pulumi.get(self, "creation_ldif")
687
+
688
+ @_builtins.property
689
+ @pulumi.getter(name="defaultTtl")
690
+ def default_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
691
+ """
692
+ Specifies the TTL for the leases associated with this role.
693
+ """
694
+ return pulumi.get(self, "default_ttl")
695
+
696
+ @_builtins.property
697
+ @pulumi.getter(name="deletionLdif")
698
+ def deletion_ldif(self) -> pulumi.Output[_builtins.str]:
699
+ """
700
+ A templatized LDIF string used to delete the
701
+ user account once its TTL has expired. This may contain multiple LDIF
702
+ entries. All LDIF entries are performed in order. If Vault encounters an
703
+ error while executing an entry in the `deletion_ldif` it will attempt to
704
+ continue executing any remaining entries. This field may optionally be
705
+ provided as a base64 encoded string.
706
+ """
707
+ return pulumi.get(self, "deletion_ldif")
708
+
709
+ @_builtins.property
710
+ @pulumi.getter(name="maxTtl")
711
+ def max_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
712
+ """
713
+ Specifies the maximum TTL for the leases associated with this role.
714
+ """
715
+ return pulumi.get(self, "max_ttl")
716
+
717
+ @_builtins.property
718
+ @pulumi.getter
719
+ def mount(self) -> pulumi.Output[Optional[_builtins.str]]:
720
+ """
721
+ The unique path this backend should be mounted at. Must
722
+ not begin or end with a `/`. Defaults to `ldap`.
723
+ """
724
+ return pulumi.get(self, "mount")
725
+
726
+ @_builtins.property
727
+ @pulumi.getter
728
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
729
+ """
730
+ The namespace to provision the resource in.
731
+ The value should not contain leading or trailing forward slashes.
732
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
733
+ *Available only for Vault Enterprise*.
734
+ """
735
+ return pulumi.get(self, "namespace")
736
+
737
+ @_builtins.property
738
+ @pulumi.getter(name="roleName")
739
+ def role_name(self) -> pulumi.Output[_builtins.str]:
740
+ """
741
+ Name of the role.
742
+ """
743
+ return pulumi.get(self, "role_name")
744
+
745
+ @_builtins.property
746
+ @pulumi.getter(name="rollbackLdif")
747
+ def rollback_ldif(self) -> pulumi.Output[Optional[_builtins.str]]:
748
+ """
749
+ A templatized LDIF string used to attempt to
750
+ rollback any changes in the event that execution of the `creation_ldif` results
751
+ in an error. This may contain multiple LDIF entries. All LDIF entries are
752
+ performed in order. If Vault encounters an error while executing an entry in
753
+ the `rollback_ldif` it will attempt to continue executing any remaining
754
+ entries. This field may optionally be provided as a base64 encoded string.
755
+ """
756
+ return pulumi.get(self, "rollback_ldif")
757
+
758
+ @_builtins.property
759
+ @pulumi.getter(name="usernameTemplate")
760
+ def username_template(self) -> pulumi.Output[Optional[_builtins.str]]:
761
+ """
762
+ A template used to generate a dynamic
763
+ username. This will be used to fill in the `.Username` field within the
764
+ `creation_ldif` string.
765
+ """
766
+ return pulumi.get(self, "username_template")
767
+