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,243 @@
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
+ 'GetSecretsListV2Result',
19
+ 'AwaitableGetSecretsListV2Result',
20
+ 'get_secrets_list_v2',
21
+ 'get_secrets_list_v2_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetSecretsListV2Result:
26
+ """
27
+ A collection of values returned by getSecretsListV2.
28
+ """
29
+ def __init__(__self__, id=None, mount=None, name=None, names=None, namespace=None, path=None):
30
+ if id and not isinstance(id, str):
31
+ raise TypeError("Expected argument 'id' to be a str")
32
+ pulumi.set(__self__, "id", id)
33
+ if mount and not isinstance(mount, str):
34
+ raise TypeError("Expected argument 'mount' to be a str")
35
+ pulumi.set(__self__, "mount", mount)
36
+ if name and not isinstance(name, str):
37
+ raise TypeError("Expected argument 'name' to be a str")
38
+ pulumi.set(__self__, "name", name)
39
+ if names and not isinstance(names, list):
40
+ raise TypeError("Expected argument 'names' to be a list")
41
+ pulumi.set(__self__, "names", names)
42
+ if namespace and not isinstance(namespace, str):
43
+ raise TypeError("Expected argument 'namespace' to be a str")
44
+ pulumi.set(__self__, "namespace", namespace)
45
+ if path and not isinstance(path, str):
46
+ raise TypeError("Expected argument 'path' to be a str")
47
+ pulumi.set(__self__, "path", path)
48
+
49
+ @_builtins.property
50
+ @pulumi.getter
51
+ def id(self) -> _builtins.str:
52
+ """
53
+ The provider-assigned unique ID for this managed resource.
54
+ """
55
+ return pulumi.get(self, "id")
56
+
57
+ @_builtins.property
58
+ @pulumi.getter
59
+ def mount(self) -> _builtins.str:
60
+ return pulumi.get(self, "mount")
61
+
62
+ @_builtins.property
63
+ @pulumi.getter
64
+ def name(self) -> Optional[_builtins.str]:
65
+ return pulumi.get(self, "name")
66
+
67
+ @_builtins.property
68
+ @pulumi.getter
69
+ def names(self) -> Sequence[_builtins.str]:
70
+ """
71
+ List of all secret names listed under the given path.
72
+ """
73
+ return pulumi.get(self, "names")
74
+
75
+ @_builtins.property
76
+ @pulumi.getter
77
+ def namespace(self) -> Optional[_builtins.str]:
78
+ return pulumi.get(self, "namespace")
79
+
80
+ @_builtins.property
81
+ @pulumi.getter
82
+ def path(self) -> _builtins.str:
83
+ """
84
+ Full path where the KV-V2 secrets are listed.
85
+ """
86
+ return pulumi.get(self, "path")
87
+
88
+
89
+ class AwaitableGetSecretsListV2Result(GetSecretsListV2Result):
90
+ # pylint: disable=using-constant-test
91
+ def __await__(self):
92
+ if False:
93
+ yield self
94
+ return GetSecretsListV2Result(
95
+ id=self.id,
96
+ mount=self.mount,
97
+ name=self.name,
98
+ names=self.names,
99
+ namespace=self.namespace,
100
+ path=self.path)
101
+
102
+
103
+ def get_secrets_list_v2(mount: Optional[_builtins.str] = None,
104
+ name: Optional[_builtins.str] = None,
105
+ namespace: Optional[_builtins.str] = None,
106
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecretsListV2Result:
107
+ """
108
+ ## Example Usage
109
+
110
+ ```python
111
+ import pulumi
112
+ import json
113
+ import pulumi_vault as vault
114
+
115
+ kvv2 = vault.Mount("kvv2",
116
+ path="kvv2",
117
+ type="kv",
118
+ options={
119
+ "version": "2",
120
+ },
121
+ description="KV Version 2 secret engine mount")
122
+ aws_secret = vault.kv.SecretV2("aws_secret",
123
+ mount=kvv2.path,
124
+ name="aws_secret",
125
+ data_json=json.dumps({
126
+ "zip": "zap",
127
+ }))
128
+ azure_secret = vault.kv.SecretV2("azure_secret",
129
+ mount=kvv2.path,
130
+ name="azure_secret",
131
+ data_json=json.dumps({
132
+ "foo": "bar",
133
+ }))
134
+ nested_secret = vault.kv.SecretV2("nested_secret",
135
+ mount=kvv2.path,
136
+ name=azure_secret.name.apply(lambda name: f"{name}/dev"),
137
+ data_json=json.dumps({
138
+ "password": "test",
139
+ }))
140
+ secrets = vault.kv.get_secrets_list_v2_output(mount=kvv2.path)
141
+ nested_secrets = kvv2.path.apply(lambda path: vault.kv.get_secrets_list_v2_output(mount=path,
142
+ name=test2["name"]))
143
+ ```
144
+
145
+ ## Required Vault Capabilities
146
+
147
+ Use of this resource requires the `read` capability on the given path.
148
+
149
+
150
+ :param _builtins.str mount: Path where KV-V2 engine is mounted.
151
+ :param _builtins.str name: Full name of the secret. For a nested secret
152
+ the name is the nested path excluding the mount and data
153
+ prefix. For example, for a secret at `kvv2/data/foo/bar/baz`
154
+ the name is `foo/bar/baz`.
155
+ :param _builtins.str namespace: The namespace of the target resource.
156
+ The value should not contain leading or trailing forward slashes.
157
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
158
+ *Available only for Vault Enterprise*.
159
+ """
160
+ __args__ = dict()
161
+ __args__['mount'] = mount
162
+ __args__['name'] = name
163
+ __args__['namespace'] = namespace
164
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
165
+ __ret__ = pulumi.runtime.invoke('vault:kv/getSecretsListV2:getSecretsListV2', __args__, opts=opts, typ=GetSecretsListV2Result).value
166
+
167
+ return AwaitableGetSecretsListV2Result(
168
+ id=pulumi.get(__ret__, 'id'),
169
+ mount=pulumi.get(__ret__, 'mount'),
170
+ name=pulumi.get(__ret__, 'name'),
171
+ names=pulumi.get(__ret__, 'names'),
172
+ namespace=pulumi.get(__ret__, 'namespace'),
173
+ path=pulumi.get(__ret__, 'path'))
174
+ def get_secrets_list_v2_output(mount: Optional[pulumi.Input[_builtins.str]] = None,
175
+ name: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
176
+ namespace: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
177
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecretsListV2Result]:
178
+ """
179
+ ## Example Usage
180
+
181
+ ```python
182
+ import pulumi
183
+ import json
184
+ import pulumi_vault as vault
185
+
186
+ kvv2 = vault.Mount("kvv2",
187
+ path="kvv2",
188
+ type="kv",
189
+ options={
190
+ "version": "2",
191
+ },
192
+ description="KV Version 2 secret engine mount")
193
+ aws_secret = vault.kv.SecretV2("aws_secret",
194
+ mount=kvv2.path,
195
+ name="aws_secret",
196
+ data_json=json.dumps({
197
+ "zip": "zap",
198
+ }))
199
+ azure_secret = vault.kv.SecretV2("azure_secret",
200
+ mount=kvv2.path,
201
+ name="azure_secret",
202
+ data_json=json.dumps({
203
+ "foo": "bar",
204
+ }))
205
+ nested_secret = vault.kv.SecretV2("nested_secret",
206
+ mount=kvv2.path,
207
+ name=azure_secret.name.apply(lambda name: f"{name}/dev"),
208
+ data_json=json.dumps({
209
+ "password": "test",
210
+ }))
211
+ secrets = vault.kv.get_secrets_list_v2_output(mount=kvv2.path)
212
+ nested_secrets = kvv2.path.apply(lambda path: vault.kv.get_secrets_list_v2_output(mount=path,
213
+ name=test2["name"]))
214
+ ```
215
+
216
+ ## Required Vault Capabilities
217
+
218
+ Use of this resource requires the `read` capability on the given path.
219
+
220
+
221
+ :param _builtins.str mount: Path where KV-V2 engine is mounted.
222
+ :param _builtins.str name: Full name of the secret. For a nested secret
223
+ the name is the nested path excluding the mount and data
224
+ prefix. For example, for a secret at `kvv2/data/foo/bar/baz`
225
+ the name is `foo/bar/baz`.
226
+ :param _builtins.str namespace: The namespace of the target resource.
227
+ The value should not contain leading or trailing forward slashes.
228
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
229
+ *Available only for Vault Enterprise*.
230
+ """
231
+ __args__ = dict()
232
+ __args__['mount'] = mount
233
+ __args__['name'] = name
234
+ __args__['namespace'] = namespace
235
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
236
+ __ret__ = pulumi.runtime.invoke_output('vault:kv/getSecretsListV2:getSecretsListV2', __args__, opts=opts, typ=GetSecretsListV2Result)
237
+ return __ret__.apply(lambda __response__: GetSecretsListV2Result(
238
+ id=pulumi.get(__response__, 'id'),
239
+ mount=pulumi.get(__response__, 'mount'),
240
+ name=pulumi.get(__response__, 'name'),
241
+ names=pulumi.get(__response__, 'names'),
242
+ namespace=pulumi.get(__response__, 'namespace'),
243
+ path=pulumi.get(__response__, 'path')))
@@ -0,0 +1,102 @@
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
+ 'SecretV2CustomMetadata',
19
+ ]
20
+
21
+ @pulumi.output_type
22
+ class SecretV2CustomMetadata(dict):
23
+ @staticmethod
24
+ def __key_warning(key: str):
25
+ suggest = None
26
+ if key == "casRequired":
27
+ suggest = "cas_required"
28
+ elif key == "deleteVersionAfter":
29
+ suggest = "delete_version_after"
30
+ elif key == "maxVersions":
31
+ suggest = "max_versions"
32
+
33
+ if suggest:
34
+ pulumi.log.warn(f"Key '{key}' not found in SecretV2CustomMetadata. Access the value via the '{suggest}' property getter instead.")
35
+
36
+ def __getitem__(self, key: str) -> Any:
37
+ SecretV2CustomMetadata.__key_warning(key)
38
+ return super().__getitem__(key)
39
+
40
+ def get(self, key: str, default = None) -> Any:
41
+ SecretV2CustomMetadata.__key_warning(key)
42
+ return super().get(key, default)
43
+
44
+ def __init__(__self__, *,
45
+ cas_required: Optional[_builtins.bool] = None,
46
+ data: Optional[Mapping[str, _builtins.str]] = None,
47
+ delete_version_after: Optional[_builtins.int] = None,
48
+ max_versions: Optional[_builtins.int] = None):
49
+ """
50
+ :param _builtins.bool cas_required: If true, all keys will require the cas parameter to be set on all write requests.
51
+ :param Mapping[str, _builtins.str] data: **Deprecated. Please use new ephemeral resource `kv.SecretV2` to read back
52
+ secret data from Vault**. A mapping whose keys are the top-level data keys returned from
53
+ Vault and whose values are the corresponding values. This map can only represent string data,
54
+ so any non-string values returned from Vault are serialized as JSON.
55
+ :param _builtins.int delete_version_after: If set, specifies the length of time before a version is deleted.
56
+ :param _builtins.int max_versions: The number of versions to keep per key.
57
+ """
58
+ if cas_required is not None:
59
+ pulumi.set(__self__, "cas_required", cas_required)
60
+ if data is not None:
61
+ pulumi.set(__self__, "data", data)
62
+ if delete_version_after is not None:
63
+ pulumi.set(__self__, "delete_version_after", delete_version_after)
64
+ if max_versions is not None:
65
+ pulumi.set(__self__, "max_versions", max_versions)
66
+
67
+ @_builtins.property
68
+ @pulumi.getter(name="casRequired")
69
+ def cas_required(self) -> Optional[_builtins.bool]:
70
+ """
71
+ If true, all keys will require the cas parameter to be set on all write requests.
72
+ """
73
+ return pulumi.get(self, "cas_required")
74
+
75
+ @_builtins.property
76
+ @pulumi.getter
77
+ def data(self) -> Optional[Mapping[str, _builtins.str]]:
78
+ """
79
+ **Deprecated. Please use new ephemeral resource `kv.SecretV2` to read back
80
+ secret data from Vault**. A mapping whose keys are the top-level data keys returned from
81
+ Vault and whose values are the corresponding values. This map can only represent string data,
82
+ so any non-string values returned from Vault are serialized as JSON.
83
+ """
84
+ return pulumi.get(self, "data")
85
+
86
+ @_builtins.property
87
+ @pulumi.getter(name="deleteVersionAfter")
88
+ def delete_version_after(self) -> Optional[_builtins.int]:
89
+ """
90
+ If set, specifies the length of time before a version is deleted.
91
+ """
92
+ return pulumi.get(self, "delete_version_after")
93
+
94
+ @_builtins.property
95
+ @pulumi.getter(name="maxVersions")
96
+ def max_versions(self) -> Optional[_builtins.int]:
97
+ """
98
+ The number of versions to keep per key.
99
+ """
100
+ return pulumi.get(self, "max_versions")
101
+
102
+