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,439 @@
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__ = ['AuthBackendUserArgs', 'AuthBackendUser']
18
+
19
+ @pulumi.input_type
20
+ class AuthBackendUserArgs:
21
+ def __init__(__self__, *,
22
+ username: pulumi.Input[_builtins.str],
23
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
24
+ groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
25
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
26
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
27
+ """
28
+ The set of arguments for constructing a AuthBackendUser resource.
29
+ :param pulumi.Input[_builtins.str] username: The LDAP username
30
+ :param pulumi.Input[_builtins.str] backend: Path to the authentication backend
31
+
32
+ For more details on the usage of each argument consult the [Vault LDAP API documentation](https://www.vaultproject.io/api-docs/auth/ldap).
33
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] groups: Override LDAP groups which should be granted to user
34
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
35
+ The value should not contain leading or trailing forward slashes.
36
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
37
+ *Available only for Vault Enterprise*.
38
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policies: Policies which should be granted to user
39
+ """
40
+ pulumi.set(__self__, "username", username)
41
+ if backend is not None:
42
+ pulumi.set(__self__, "backend", backend)
43
+ if groups is not None:
44
+ pulumi.set(__self__, "groups", groups)
45
+ if namespace is not None:
46
+ pulumi.set(__self__, "namespace", namespace)
47
+ if policies is not None:
48
+ pulumi.set(__self__, "policies", policies)
49
+
50
+ @_builtins.property
51
+ @pulumi.getter
52
+ def username(self) -> pulumi.Input[_builtins.str]:
53
+ """
54
+ The LDAP username
55
+ """
56
+ return pulumi.get(self, "username")
57
+
58
+ @username.setter
59
+ def username(self, value: pulumi.Input[_builtins.str]):
60
+ pulumi.set(self, "username", value)
61
+
62
+ @_builtins.property
63
+ @pulumi.getter
64
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
65
+ """
66
+ Path to the authentication backend
67
+
68
+ For more details on the usage of each argument consult the [Vault LDAP API documentation](https://www.vaultproject.io/api-docs/auth/ldap).
69
+ """
70
+ return pulumi.get(self, "backend")
71
+
72
+ @backend.setter
73
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
74
+ pulumi.set(self, "backend", value)
75
+
76
+ @_builtins.property
77
+ @pulumi.getter
78
+ def groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
79
+ """
80
+ Override LDAP groups which should be granted to user
81
+ """
82
+ return pulumi.get(self, "groups")
83
+
84
+ @groups.setter
85
+ def groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
86
+ pulumi.set(self, "groups", value)
87
+
88
+ @_builtins.property
89
+ @pulumi.getter
90
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
91
+ """
92
+ The namespace to provision the resource in.
93
+ The value should not contain leading or trailing forward slashes.
94
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
95
+ *Available only for Vault Enterprise*.
96
+ """
97
+ return pulumi.get(self, "namespace")
98
+
99
+ @namespace.setter
100
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
101
+ pulumi.set(self, "namespace", value)
102
+
103
+ @_builtins.property
104
+ @pulumi.getter
105
+ def policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
106
+ """
107
+ Policies which should be granted to user
108
+ """
109
+ return pulumi.get(self, "policies")
110
+
111
+ @policies.setter
112
+ def policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
113
+ pulumi.set(self, "policies", value)
114
+
115
+
116
+ @pulumi.input_type
117
+ class _AuthBackendUserState:
118
+ def __init__(__self__, *,
119
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
120
+ groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
121
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
122
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
123
+ username: Optional[pulumi.Input[_builtins.str]] = None):
124
+ """
125
+ Input properties used for looking up and filtering AuthBackendUser resources.
126
+ :param pulumi.Input[_builtins.str] backend: Path to the authentication backend
127
+
128
+ For more details on the usage of each argument consult the [Vault LDAP API documentation](https://www.vaultproject.io/api-docs/auth/ldap).
129
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] groups: Override LDAP groups which should be granted to user
130
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
131
+ The value should not contain leading or trailing forward slashes.
132
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
133
+ *Available only for Vault Enterprise*.
134
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policies: Policies which should be granted to user
135
+ :param pulumi.Input[_builtins.str] username: The LDAP username
136
+ """
137
+ if backend is not None:
138
+ pulumi.set(__self__, "backend", backend)
139
+ if groups is not None:
140
+ pulumi.set(__self__, "groups", groups)
141
+ if namespace is not None:
142
+ pulumi.set(__self__, "namespace", namespace)
143
+ if policies is not None:
144
+ pulumi.set(__self__, "policies", policies)
145
+ if username is not None:
146
+ pulumi.set(__self__, "username", username)
147
+
148
+ @_builtins.property
149
+ @pulumi.getter
150
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
151
+ """
152
+ Path to the authentication backend
153
+
154
+ For more details on the usage of each argument consult the [Vault LDAP API documentation](https://www.vaultproject.io/api-docs/auth/ldap).
155
+ """
156
+ return pulumi.get(self, "backend")
157
+
158
+ @backend.setter
159
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
160
+ pulumi.set(self, "backend", value)
161
+
162
+ @_builtins.property
163
+ @pulumi.getter
164
+ def groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
165
+ """
166
+ Override LDAP groups which should be granted to user
167
+ """
168
+ return pulumi.get(self, "groups")
169
+
170
+ @groups.setter
171
+ def groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
172
+ pulumi.set(self, "groups", value)
173
+
174
+ @_builtins.property
175
+ @pulumi.getter
176
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
177
+ """
178
+ The namespace to provision the resource in.
179
+ The value should not contain leading or trailing forward slashes.
180
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
181
+ *Available only for Vault Enterprise*.
182
+ """
183
+ return pulumi.get(self, "namespace")
184
+
185
+ @namespace.setter
186
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
187
+ pulumi.set(self, "namespace", value)
188
+
189
+ @_builtins.property
190
+ @pulumi.getter
191
+ def policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
192
+ """
193
+ Policies which should be granted to user
194
+ """
195
+ return pulumi.get(self, "policies")
196
+
197
+ @policies.setter
198
+ def policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
199
+ pulumi.set(self, "policies", value)
200
+
201
+ @_builtins.property
202
+ @pulumi.getter
203
+ def username(self) -> Optional[pulumi.Input[_builtins.str]]:
204
+ """
205
+ The LDAP username
206
+ """
207
+ return pulumi.get(self, "username")
208
+
209
+ @username.setter
210
+ def username(self, value: Optional[pulumi.Input[_builtins.str]]):
211
+ pulumi.set(self, "username", value)
212
+
213
+
214
+ @pulumi.type_token("vault:ldap/authBackendUser:AuthBackendUser")
215
+ class AuthBackendUser(pulumi.CustomResource):
216
+ @overload
217
+ def __init__(__self__,
218
+ resource_name: str,
219
+ opts: Optional[pulumi.ResourceOptions] = None,
220
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
221
+ groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
222
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
223
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
224
+ username: Optional[pulumi.Input[_builtins.str]] = None,
225
+ __props__=None):
226
+ """
227
+ Provides a resource to create a user in an [LDAP auth backend within Vault](https://www.vaultproject.io/docs/auth/ldap.html).
228
+
229
+ ## Example Usage
230
+
231
+ ```python
232
+ import pulumi
233
+ import pulumi_vault as vault
234
+
235
+ ldap = vault.ldap.AuthBackend("ldap",
236
+ path="ldap",
237
+ url="ldaps://dc-01.example.org",
238
+ userdn="OU=Users,OU=Accounts,DC=example,DC=org",
239
+ userattr="sAMAccountName",
240
+ upndomain="EXAMPLE.ORG",
241
+ discoverdn=False,
242
+ groupdn="OU=Groups,DC=example,DC=org",
243
+ groupfilter="(&(objectClass=group)(member:1.2.840.113556.1.4.1941:={{.UserDN}}))")
244
+ user = vault.ldap.AuthBackendUser("user",
245
+ username="test-user",
246
+ policies=[
247
+ "dba",
248
+ "sysops",
249
+ ],
250
+ backend=ldap.path)
251
+ ```
252
+
253
+ ## Import
254
+
255
+ LDAP authentication backend users can be imported using the `path`, e.g.
256
+
257
+ ```sh
258
+ $ pulumi import vault:ldap/authBackendUser:AuthBackendUser foo auth/ldap/users/foo
259
+ ```
260
+
261
+ :param str resource_name: The name of the resource.
262
+ :param pulumi.ResourceOptions opts: Options for the resource.
263
+ :param pulumi.Input[_builtins.str] backend: Path to the authentication backend
264
+
265
+ For more details on the usage of each argument consult the [Vault LDAP API documentation](https://www.vaultproject.io/api-docs/auth/ldap).
266
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] groups: Override LDAP groups which should be granted to user
267
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
268
+ The value should not contain leading or trailing forward slashes.
269
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
270
+ *Available only for Vault Enterprise*.
271
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policies: Policies which should be granted to user
272
+ :param pulumi.Input[_builtins.str] username: The LDAP username
273
+ """
274
+ ...
275
+ @overload
276
+ def __init__(__self__,
277
+ resource_name: str,
278
+ args: AuthBackendUserArgs,
279
+ opts: Optional[pulumi.ResourceOptions] = None):
280
+ """
281
+ Provides a resource to create a user in an [LDAP auth backend within Vault](https://www.vaultproject.io/docs/auth/ldap.html).
282
+
283
+ ## Example Usage
284
+
285
+ ```python
286
+ import pulumi
287
+ import pulumi_vault as vault
288
+
289
+ ldap = vault.ldap.AuthBackend("ldap",
290
+ path="ldap",
291
+ url="ldaps://dc-01.example.org",
292
+ userdn="OU=Users,OU=Accounts,DC=example,DC=org",
293
+ userattr="sAMAccountName",
294
+ upndomain="EXAMPLE.ORG",
295
+ discoverdn=False,
296
+ groupdn="OU=Groups,DC=example,DC=org",
297
+ groupfilter="(&(objectClass=group)(member:1.2.840.113556.1.4.1941:={{.UserDN}}))")
298
+ user = vault.ldap.AuthBackendUser("user",
299
+ username="test-user",
300
+ policies=[
301
+ "dba",
302
+ "sysops",
303
+ ],
304
+ backend=ldap.path)
305
+ ```
306
+
307
+ ## Import
308
+
309
+ LDAP authentication backend users can be imported using the `path`, e.g.
310
+
311
+ ```sh
312
+ $ pulumi import vault:ldap/authBackendUser:AuthBackendUser foo auth/ldap/users/foo
313
+ ```
314
+
315
+ :param str resource_name: The name of the resource.
316
+ :param AuthBackendUserArgs args: The arguments to use to populate this resource's properties.
317
+ :param pulumi.ResourceOptions opts: Options for the resource.
318
+ """
319
+ ...
320
+ def __init__(__self__, resource_name: str, *args, **kwargs):
321
+ resource_args, opts = _utilities.get_resource_args_opts(AuthBackendUserArgs, pulumi.ResourceOptions, *args, **kwargs)
322
+ if resource_args is not None:
323
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
324
+ else:
325
+ __self__._internal_init(resource_name, *args, **kwargs)
326
+
327
+ def _internal_init(__self__,
328
+ resource_name: str,
329
+ opts: Optional[pulumi.ResourceOptions] = None,
330
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
331
+ groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
332
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
333
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
334
+ username: Optional[pulumi.Input[_builtins.str]] = None,
335
+ __props__=None):
336
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
337
+ if not isinstance(opts, pulumi.ResourceOptions):
338
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
339
+ if opts.id is None:
340
+ if __props__ is not None:
341
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
342
+ __props__ = AuthBackendUserArgs.__new__(AuthBackendUserArgs)
343
+
344
+ __props__.__dict__["backend"] = backend
345
+ __props__.__dict__["groups"] = groups
346
+ __props__.__dict__["namespace"] = namespace
347
+ __props__.__dict__["policies"] = policies
348
+ if username is None and not opts.urn:
349
+ raise TypeError("Missing required property 'username'")
350
+ __props__.__dict__["username"] = username
351
+ super(AuthBackendUser, __self__).__init__(
352
+ 'vault:ldap/authBackendUser:AuthBackendUser',
353
+ resource_name,
354
+ __props__,
355
+ opts)
356
+
357
+ @staticmethod
358
+ def get(resource_name: str,
359
+ id: pulumi.Input[str],
360
+ opts: Optional[pulumi.ResourceOptions] = None,
361
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
362
+ groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
363
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
364
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
365
+ username: Optional[pulumi.Input[_builtins.str]] = None) -> 'AuthBackendUser':
366
+ """
367
+ Get an existing AuthBackendUser resource's state with the given name, id, and optional extra
368
+ properties used to qualify the lookup.
369
+
370
+ :param str resource_name: The unique name of the resulting resource.
371
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
372
+ :param pulumi.ResourceOptions opts: Options for the resource.
373
+ :param pulumi.Input[_builtins.str] backend: Path to the authentication backend
374
+
375
+ For more details on the usage of each argument consult the [Vault LDAP API documentation](https://www.vaultproject.io/api-docs/auth/ldap).
376
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] groups: Override LDAP groups which should be granted to user
377
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
378
+ The value should not contain leading or trailing forward slashes.
379
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
380
+ *Available only for Vault Enterprise*.
381
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policies: Policies which should be granted to user
382
+ :param pulumi.Input[_builtins.str] username: The LDAP username
383
+ """
384
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
385
+
386
+ __props__ = _AuthBackendUserState.__new__(_AuthBackendUserState)
387
+
388
+ __props__.__dict__["backend"] = backend
389
+ __props__.__dict__["groups"] = groups
390
+ __props__.__dict__["namespace"] = namespace
391
+ __props__.__dict__["policies"] = policies
392
+ __props__.__dict__["username"] = username
393
+ return AuthBackendUser(resource_name, opts=opts, __props__=__props__)
394
+
395
+ @_builtins.property
396
+ @pulumi.getter
397
+ def backend(self) -> pulumi.Output[Optional[_builtins.str]]:
398
+ """
399
+ Path to the authentication backend
400
+
401
+ For more details on the usage of each argument consult the [Vault LDAP API documentation](https://www.vaultproject.io/api-docs/auth/ldap).
402
+ """
403
+ return pulumi.get(self, "backend")
404
+
405
+ @_builtins.property
406
+ @pulumi.getter
407
+ def groups(self) -> pulumi.Output[Sequence[_builtins.str]]:
408
+ """
409
+ Override LDAP groups which should be granted to user
410
+ """
411
+ return pulumi.get(self, "groups")
412
+
413
+ @_builtins.property
414
+ @pulumi.getter
415
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
416
+ """
417
+ The namespace to provision the resource in.
418
+ The value should not contain leading or trailing forward slashes.
419
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
420
+ *Available only for Vault Enterprise*.
421
+ """
422
+ return pulumi.get(self, "namespace")
423
+
424
+ @_builtins.property
425
+ @pulumi.getter
426
+ def policies(self) -> pulumi.Output[Sequence[_builtins.str]]:
427
+ """
428
+ Policies which should be granted to user
429
+ """
430
+ return pulumi.get(self, "policies")
431
+
432
+ @_builtins.property
433
+ @pulumi.getter
434
+ def username(self) -> pulumi.Output[_builtins.str]:
435
+ """
436
+ The LDAP username
437
+ """
438
+ return pulumi.get(self, "username")
439
+
@@ -0,0 +1,181 @@
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__ = [
18
+ 'GetDynamicCredentialsResult',
19
+ 'AwaitableGetDynamicCredentialsResult',
20
+ 'get_dynamic_credentials',
21
+ 'get_dynamic_credentials_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetDynamicCredentialsResult:
26
+ """
27
+ A collection of values returned by getDynamicCredentials.
28
+ """
29
+ def __init__(__self__, distinguished_names=None, id=None, lease_duration=None, lease_id=None, lease_renewable=None, mount=None, namespace=None, password=None, role_name=None, username=None):
30
+ if distinguished_names and not isinstance(distinguished_names, list):
31
+ raise TypeError("Expected argument 'distinguished_names' to be a list")
32
+ pulumi.set(__self__, "distinguished_names", distinguished_names)
33
+ if id and not isinstance(id, str):
34
+ raise TypeError("Expected argument 'id' to be a str")
35
+ pulumi.set(__self__, "id", id)
36
+ if lease_duration and not isinstance(lease_duration, int):
37
+ raise TypeError("Expected argument 'lease_duration' to be a int")
38
+ pulumi.set(__self__, "lease_duration", lease_duration)
39
+ if lease_id and not isinstance(lease_id, str):
40
+ raise TypeError("Expected argument 'lease_id' to be a str")
41
+ pulumi.set(__self__, "lease_id", lease_id)
42
+ if lease_renewable and not isinstance(lease_renewable, bool):
43
+ raise TypeError("Expected argument 'lease_renewable' to be a bool")
44
+ pulumi.set(__self__, "lease_renewable", lease_renewable)
45
+ if mount and not isinstance(mount, str):
46
+ raise TypeError("Expected argument 'mount' to be a str")
47
+ pulumi.set(__self__, "mount", mount)
48
+ if namespace and not isinstance(namespace, str):
49
+ raise TypeError("Expected argument 'namespace' to be a str")
50
+ pulumi.set(__self__, "namespace", namespace)
51
+ if password and not isinstance(password, str):
52
+ raise TypeError("Expected argument 'password' to be a str")
53
+ pulumi.set(__self__, "password", password)
54
+ if role_name and not isinstance(role_name, str):
55
+ raise TypeError("Expected argument 'role_name' to be a str")
56
+ pulumi.set(__self__, "role_name", role_name)
57
+ if username and not isinstance(username, str):
58
+ raise TypeError("Expected argument 'username' to be a str")
59
+ pulumi.set(__self__, "username", username)
60
+
61
+ @_builtins.property
62
+ @pulumi.getter(name="distinguishedNames")
63
+ def distinguished_names(self) -> Sequence[_builtins.str]:
64
+ return pulumi.get(self, "distinguished_names")
65
+
66
+ @_builtins.property
67
+ @pulumi.getter
68
+ def id(self) -> _builtins.str:
69
+ """
70
+ The provider-assigned unique ID for this managed resource.
71
+ """
72
+ return pulumi.get(self, "id")
73
+
74
+ @_builtins.property
75
+ @pulumi.getter(name="leaseDuration")
76
+ def lease_duration(self) -> _builtins.int:
77
+ return pulumi.get(self, "lease_duration")
78
+
79
+ @_builtins.property
80
+ @pulumi.getter(name="leaseId")
81
+ def lease_id(self) -> _builtins.str:
82
+ return pulumi.get(self, "lease_id")
83
+
84
+ @_builtins.property
85
+ @pulumi.getter(name="leaseRenewable")
86
+ def lease_renewable(self) -> _builtins.bool:
87
+ return pulumi.get(self, "lease_renewable")
88
+
89
+ @_builtins.property
90
+ @pulumi.getter
91
+ def mount(self) -> _builtins.str:
92
+ return pulumi.get(self, "mount")
93
+
94
+ @_builtins.property
95
+ @pulumi.getter
96
+ def namespace(self) -> Optional[_builtins.str]:
97
+ return pulumi.get(self, "namespace")
98
+
99
+ @_builtins.property
100
+ @pulumi.getter
101
+ def password(self) -> _builtins.str:
102
+ return pulumi.get(self, "password")
103
+
104
+ @_builtins.property
105
+ @pulumi.getter(name="roleName")
106
+ def role_name(self) -> _builtins.str:
107
+ return pulumi.get(self, "role_name")
108
+
109
+ @_builtins.property
110
+ @pulumi.getter
111
+ def username(self) -> _builtins.str:
112
+ return pulumi.get(self, "username")
113
+
114
+
115
+ class AwaitableGetDynamicCredentialsResult(GetDynamicCredentialsResult):
116
+ # pylint: disable=using-constant-test
117
+ def __await__(self):
118
+ if False:
119
+ yield self
120
+ return GetDynamicCredentialsResult(
121
+ distinguished_names=self.distinguished_names,
122
+ id=self.id,
123
+ lease_duration=self.lease_duration,
124
+ lease_id=self.lease_id,
125
+ lease_renewable=self.lease_renewable,
126
+ mount=self.mount,
127
+ namespace=self.namespace,
128
+ password=self.password,
129
+ role_name=self.role_name,
130
+ username=self.username)
131
+
132
+
133
+ def get_dynamic_credentials(mount: Optional[_builtins.str] = None,
134
+ namespace: Optional[_builtins.str] = None,
135
+ role_name: Optional[_builtins.str] = None,
136
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDynamicCredentialsResult:
137
+ """
138
+ Use this data source to access information about an existing resource.
139
+ """
140
+ __args__ = dict()
141
+ __args__['mount'] = mount
142
+ __args__['namespace'] = namespace
143
+ __args__['roleName'] = role_name
144
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
145
+ __ret__ = pulumi.runtime.invoke('vault:ldap/getDynamicCredentials:getDynamicCredentials', __args__, opts=opts, typ=GetDynamicCredentialsResult).value
146
+
147
+ return AwaitableGetDynamicCredentialsResult(
148
+ distinguished_names=pulumi.get(__ret__, 'distinguished_names'),
149
+ id=pulumi.get(__ret__, 'id'),
150
+ lease_duration=pulumi.get(__ret__, 'lease_duration'),
151
+ lease_id=pulumi.get(__ret__, 'lease_id'),
152
+ lease_renewable=pulumi.get(__ret__, 'lease_renewable'),
153
+ mount=pulumi.get(__ret__, 'mount'),
154
+ namespace=pulumi.get(__ret__, 'namespace'),
155
+ password=pulumi.get(__ret__, 'password'),
156
+ role_name=pulumi.get(__ret__, 'role_name'),
157
+ username=pulumi.get(__ret__, 'username'))
158
+ def get_dynamic_credentials_output(mount: Optional[pulumi.Input[_builtins.str]] = None,
159
+ namespace: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
160
+ role_name: Optional[pulumi.Input[_builtins.str]] = None,
161
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDynamicCredentialsResult]:
162
+ """
163
+ Use this data source to access information about an existing resource.
164
+ """
165
+ __args__ = dict()
166
+ __args__['mount'] = mount
167
+ __args__['namespace'] = namespace
168
+ __args__['roleName'] = role_name
169
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
170
+ __ret__ = pulumi.runtime.invoke_output('vault:ldap/getDynamicCredentials:getDynamicCredentials', __args__, opts=opts, typ=GetDynamicCredentialsResult)
171
+ return __ret__.apply(lambda __response__: GetDynamicCredentialsResult(
172
+ distinguished_names=pulumi.get(__response__, 'distinguished_names'),
173
+ id=pulumi.get(__response__, 'id'),
174
+ lease_duration=pulumi.get(__response__, 'lease_duration'),
175
+ lease_id=pulumi.get(__response__, 'lease_id'),
176
+ lease_renewable=pulumi.get(__response__, 'lease_renewable'),
177
+ mount=pulumi.get(__response__, 'mount'),
178
+ namespace=pulumi.get(__response__, 'namespace'),
179
+ password=pulumi.get(__response__, 'password'),
180
+ role_name=pulumi.get(__response__, 'role_name'),
181
+ username=pulumi.get(__response__, 'username')))