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,400 @@
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
+ 'GetAccessCredentialsResult',
19
+ 'AwaitableGetAccessCredentialsResult',
20
+ 'get_access_credentials',
21
+ 'get_access_credentials_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetAccessCredentialsResult:
26
+ """
27
+ A collection of values returned by getAccessCredentials.
28
+ """
29
+ def __init__(__self__, backend=None, client_id=None, client_secret=None, environment=None, id=None, lease_duration=None, lease_id=None, lease_renewable=None, lease_start_time=None, max_cred_validation_seconds=None, namespace=None, num_seconds_between_tests=None, num_sequential_successes=None, role=None, subscription_id=None, tenant_id=None, validate_creds=None):
30
+ if backend and not isinstance(backend, str):
31
+ raise TypeError("Expected argument 'backend' to be a str")
32
+ pulumi.set(__self__, "backend", backend)
33
+ if client_id and not isinstance(client_id, str):
34
+ raise TypeError("Expected argument 'client_id' to be a str")
35
+ pulumi.set(__self__, "client_id", client_id)
36
+ if client_secret and not isinstance(client_secret, str):
37
+ raise TypeError("Expected argument 'client_secret' to be a str")
38
+ pulumi.set(__self__, "client_secret", client_secret)
39
+ if environment and not isinstance(environment, str):
40
+ raise TypeError("Expected argument 'environment' to be a str")
41
+ pulumi.set(__self__, "environment", environment)
42
+ if id and not isinstance(id, str):
43
+ raise TypeError("Expected argument 'id' to be a str")
44
+ pulumi.set(__self__, "id", id)
45
+ if lease_duration and not isinstance(lease_duration, int):
46
+ raise TypeError("Expected argument 'lease_duration' to be a int")
47
+ pulumi.set(__self__, "lease_duration", lease_duration)
48
+ if lease_id and not isinstance(lease_id, str):
49
+ raise TypeError("Expected argument 'lease_id' to be a str")
50
+ pulumi.set(__self__, "lease_id", lease_id)
51
+ if lease_renewable and not isinstance(lease_renewable, bool):
52
+ raise TypeError("Expected argument 'lease_renewable' to be a bool")
53
+ pulumi.set(__self__, "lease_renewable", lease_renewable)
54
+ if lease_start_time and not isinstance(lease_start_time, str):
55
+ raise TypeError("Expected argument 'lease_start_time' to be a str")
56
+ pulumi.set(__self__, "lease_start_time", lease_start_time)
57
+ if max_cred_validation_seconds and not isinstance(max_cred_validation_seconds, int):
58
+ raise TypeError("Expected argument 'max_cred_validation_seconds' to be a int")
59
+ pulumi.set(__self__, "max_cred_validation_seconds", max_cred_validation_seconds)
60
+ if namespace and not isinstance(namespace, str):
61
+ raise TypeError("Expected argument 'namespace' to be a str")
62
+ pulumi.set(__self__, "namespace", namespace)
63
+ if num_seconds_between_tests and not isinstance(num_seconds_between_tests, int):
64
+ raise TypeError("Expected argument 'num_seconds_between_tests' to be a int")
65
+ pulumi.set(__self__, "num_seconds_between_tests", num_seconds_between_tests)
66
+ if num_sequential_successes and not isinstance(num_sequential_successes, int):
67
+ raise TypeError("Expected argument 'num_sequential_successes' to be a int")
68
+ pulumi.set(__self__, "num_sequential_successes", num_sequential_successes)
69
+ if role and not isinstance(role, str):
70
+ raise TypeError("Expected argument 'role' to be a str")
71
+ pulumi.set(__self__, "role", role)
72
+ if subscription_id and not isinstance(subscription_id, str):
73
+ raise TypeError("Expected argument 'subscription_id' to be a str")
74
+ pulumi.set(__self__, "subscription_id", subscription_id)
75
+ if tenant_id and not isinstance(tenant_id, str):
76
+ raise TypeError("Expected argument 'tenant_id' to be a str")
77
+ pulumi.set(__self__, "tenant_id", tenant_id)
78
+ if validate_creds and not isinstance(validate_creds, bool):
79
+ raise TypeError("Expected argument 'validate_creds' to be a bool")
80
+ pulumi.set(__self__, "validate_creds", validate_creds)
81
+
82
+ @_builtins.property
83
+ @pulumi.getter
84
+ def backend(self) -> _builtins.str:
85
+ return pulumi.get(self, "backend")
86
+
87
+ @_builtins.property
88
+ @pulumi.getter(name="clientId")
89
+ def client_id(self) -> _builtins.str:
90
+ """
91
+ The client id for credentials to query the Azure APIs.
92
+ """
93
+ return pulumi.get(self, "client_id")
94
+
95
+ @_builtins.property
96
+ @pulumi.getter(name="clientSecret")
97
+ def client_secret(self) -> _builtins.str:
98
+ """
99
+ The client secret for credentials to query the Azure APIs.
100
+ """
101
+ return pulumi.get(self, "client_secret")
102
+
103
+ @_builtins.property
104
+ @pulumi.getter
105
+ def environment(self) -> Optional[_builtins.str]:
106
+ return pulumi.get(self, "environment")
107
+
108
+ @_builtins.property
109
+ @pulumi.getter
110
+ def id(self) -> _builtins.str:
111
+ """
112
+ The provider-assigned unique ID for this managed resource.
113
+ """
114
+ return pulumi.get(self, "id")
115
+
116
+ @_builtins.property
117
+ @pulumi.getter(name="leaseDuration")
118
+ def lease_duration(self) -> _builtins.int:
119
+ """
120
+ The duration of the secret lease, in seconds relative
121
+ to the time the data was requested. Once this time has passed any plan
122
+ generated with this data may fail to apply.
123
+ """
124
+ return pulumi.get(self, "lease_duration")
125
+
126
+ @_builtins.property
127
+ @pulumi.getter(name="leaseId")
128
+ def lease_id(self) -> _builtins.str:
129
+ """
130
+ The lease identifier assigned by Vault.
131
+ """
132
+ return pulumi.get(self, "lease_id")
133
+
134
+ @_builtins.property
135
+ @pulumi.getter(name="leaseRenewable")
136
+ def lease_renewable(self) -> _builtins.bool:
137
+ return pulumi.get(self, "lease_renewable")
138
+
139
+ @_builtins.property
140
+ @pulumi.getter(name="leaseStartTime")
141
+ def lease_start_time(self) -> _builtins.str:
142
+ return pulumi.get(self, "lease_start_time")
143
+
144
+ @_builtins.property
145
+ @pulumi.getter(name="maxCredValidationSeconds")
146
+ def max_cred_validation_seconds(self) -> Optional[_builtins.int]:
147
+ return pulumi.get(self, "max_cred_validation_seconds")
148
+
149
+ @_builtins.property
150
+ @pulumi.getter
151
+ def namespace(self) -> Optional[_builtins.str]:
152
+ return pulumi.get(self, "namespace")
153
+
154
+ @_builtins.property
155
+ @pulumi.getter(name="numSecondsBetweenTests")
156
+ def num_seconds_between_tests(self) -> Optional[_builtins.int]:
157
+ return pulumi.get(self, "num_seconds_between_tests")
158
+
159
+ @_builtins.property
160
+ @pulumi.getter(name="numSequentialSuccesses")
161
+ def num_sequential_successes(self) -> Optional[_builtins.int]:
162
+ return pulumi.get(self, "num_sequential_successes")
163
+
164
+ @_builtins.property
165
+ @pulumi.getter
166
+ def role(self) -> _builtins.str:
167
+ return pulumi.get(self, "role")
168
+
169
+ @_builtins.property
170
+ @pulumi.getter(name="subscriptionId")
171
+ def subscription_id(self) -> Optional[_builtins.str]:
172
+ return pulumi.get(self, "subscription_id")
173
+
174
+ @_builtins.property
175
+ @pulumi.getter(name="tenantId")
176
+ def tenant_id(self) -> Optional[_builtins.str]:
177
+ return pulumi.get(self, "tenant_id")
178
+
179
+ @_builtins.property
180
+ @pulumi.getter(name="validateCreds")
181
+ def validate_creds(self) -> Optional[_builtins.bool]:
182
+ return pulumi.get(self, "validate_creds")
183
+
184
+
185
+ class AwaitableGetAccessCredentialsResult(GetAccessCredentialsResult):
186
+ # pylint: disable=using-constant-test
187
+ def __await__(self):
188
+ if False:
189
+ yield self
190
+ return GetAccessCredentialsResult(
191
+ backend=self.backend,
192
+ client_id=self.client_id,
193
+ client_secret=self.client_secret,
194
+ environment=self.environment,
195
+ id=self.id,
196
+ lease_duration=self.lease_duration,
197
+ lease_id=self.lease_id,
198
+ lease_renewable=self.lease_renewable,
199
+ lease_start_time=self.lease_start_time,
200
+ max_cred_validation_seconds=self.max_cred_validation_seconds,
201
+ namespace=self.namespace,
202
+ num_seconds_between_tests=self.num_seconds_between_tests,
203
+ num_sequential_successes=self.num_sequential_successes,
204
+ role=self.role,
205
+ subscription_id=self.subscription_id,
206
+ tenant_id=self.tenant_id,
207
+ validate_creds=self.validate_creds)
208
+
209
+
210
+ def get_access_credentials(backend: Optional[_builtins.str] = None,
211
+ environment: Optional[_builtins.str] = None,
212
+ max_cred_validation_seconds: Optional[_builtins.int] = None,
213
+ namespace: Optional[_builtins.str] = None,
214
+ num_seconds_between_tests: Optional[_builtins.int] = None,
215
+ num_sequential_successes: Optional[_builtins.int] = None,
216
+ role: Optional[_builtins.str] = None,
217
+ subscription_id: Optional[_builtins.str] = None,
218
+ tenant_id: Optional[_builtins.str] = None,
219
+ validate_creds: Optional[_builtins.bool] = None,
220
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAccessCredentialsResult:
221
+ """
222
+ ## Example Usage
223
+
224
+ ```python
225
+ import pulumi
226
+ import pulumi_vault as vault
227
+
228
+ creds = vault.azure.get_access_credentials(role="my-role",
229
+ validate_creds=True,
230
+ num_sequential_successes=8,
231
+ num_seconds_between_tests=1,
232
+ max_cred_validation_seconds=300)
233
+ ```
234
+
235
+ ## Caveats
236
+
237
+ The `validate_creds` option requires read-access to the `backend` config endpoint.
238
+ If the effective Vault role does not have the required permissions then valid values
239
+ are required to be set for: `subscription_id`, `tenant_id`, `environment`.
240
+
241
+
242
+ :param _builtins.str backend: The path to the Azure secret backend to
243
+ read credentials from, with no leading or trailing `/`s.
244
+ :param _builtins.str environment: The Azure environment to use during credential validation.
245
+ Defaults to the environment configured in the Vault backend.
246
+ Some possible values: `AzurePublicCloud`, `AzureGovernmentCloud`
247
+ *See the caveats section for more information on this field.*
248
+ :param _builtins.int max_cred_validation_seconds: If 'validate_creds' is true,
249
+ the number of seconds after which to give up validating credentials. Defaults
250
+ to 300.
251
+ :param _builtins.str namespace: The namespace of the target resource.
252
+ The value should not contain leading or trailing forward slashes.
253
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
254
+ *Available only for Vault Enterprise*.
255
+ :param _builtins.int num_seconds_between_tests: If 'validate_creds' is true,
256
+ the number of seconds to wait between each test of generated credentials.
257
+ Defaults to 1.
258
+ :param _builtins.int num_sequential_successes: If 'validate_creds' is true,
259
+ the number of sequential successes required to validate generated
260
+ credentials. Defaults to 8.
261
+ :param _builtins.str role: The name of the Azure secret backend role to read
262
+ credentials from, with no leading or trailing `/`s.
263
+ :param _builtins.str subscription_id: The subscription ID to use during credential
264
+ validation. Defaults to the subscription ID configured in the Vault `backend`.
265
+ *See the caveats section for more information on this field.*
266
+ :param _builtins.str tenant_id: The tenant ID to use during credential validation.
267
+ Defaults to the tenant ID configured in the Vault `backend`.
268
+ *See the caveats section for more information on this field.*
269
+ :param _builtins.bool validate_creds: Whether generated credentials should be
270
+ validated before being returned. Defaults to `false`, which returns
271
+ credentials without checking whether they have fully propagated throughout
272
+ Azure Active Directory. Designating `true` activates testing.
273
+ """
274
+ __args__ = dict()
275
+ __args__['backend'] = backend
276
+ __args__['environment'] = environment
277
+ __args__['maxCredValidationSeconds'] = max_cred_validation_seconds
278
+ __args__['namespace'] = namespace
279
+ __args__['numSecondsBetweenTests'] = num_seconds_between_tests
280
+ __args__['numSequentialSuccesses'] = num_sequential_successes
281
+ __args__['role'] = role
282
+ __args__['subscriptionId'] = subscription_id
283
+ __args__['tenantId'] = tenant_id
284
+ __args__['validateCreds'] = validate_creds
285
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
286
+ __ret__ = pulumi.runtime.invoke('vault:azure/getAccessCredentials:getAccessCredentials', __args__, opts=opts, typ=GetAccessCredentialsResult).value
287
+
288
+ return AwaitableGetAccessCredentialsResult(
289
+ backend=pulumi.get(__ret__, 'backend'),
290
+ client_id=pulumi.get(__ret__, 'client_id'),
291
+ client_secret=pulumi.get(__ret__, 'client_secret'),
292
+ environment=pulumi.get(__ret__, 'environment'),
293
+ id=pulumi.get(__ret__, 'id'),
294
+ lease_duration=pulumi.get(__ret__, 'lease_duration'),
295
+ lease_id=pulumi.get(__ret__, 'lease_id'),
296
+ lease_renewable=pulumi.get(__ret__, 'lease_renewable'),
297
+ lease_start_time=pulumi.get(__ret__, 'lease_start_time'),
298
+ max_cred_validation_seconds=pulumi.get(__ret__, 'max_cred_validation_seconds'),
299
+ namespace=pulumi.get(__ret__, 'namespace'),
300
+ num_seconds_between_tests=pulumi.get(__ret__, 'num_seconds_between_tests'),
301
+ num_sequential_successes=pulumi.get(__ret__, 'num_sequential_successes'),
302
+ role=pulumi.get(__ret__, 'role'),
303
+ subscription_id=pulumi.get(__ret__, 'subscription_id'),
304
+ tenant_id=pulumi.get(__ret__, 'tenant_id'),
305
+ validate_creds=pulumi.get(__ret__, 'validate_creds'))
306
+ def get_access_credentials_output(backend: Optional[pulumi.Input[_builtins.str]] = None,
307
+ environment: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
308
+ max_cred_validation_seconds: Optional[pulumi.Input[Optional[_builtins.int]]] = None,
309
+ namespace: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
310
+ num_seconds_between_tests: Optional[pulumi.Input[Optional[_builtins.int]]] = None,
311
+ num_sequential_successes: Optional[pulumi.Input[Optional[_builtins.int]]] = None,
312
+ role: Optional[pulumi.Input[_builtins.str]] = None,
313
+ subscription_id: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
314
+ tenant_id: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
315
+ validate_creds: Optional[pulumi.Input[Optional[_builtins.bool]]] = None,
316
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAccessCredentialsResult]:
317
+ """
318
+ ## Example Usage
319
+
320
+ ```python
321
+ import pulumi
322
+ import pulumi_vault as vault
323
+
324
+ creds = vault.azure.get_access_credentials(role="my-role",
325
+ validate_creds=True,
326
+ num_sequential_successes=8,
327
+ num_seconds_between_tests=1,
328
+ max_cred_validation_seconds=300)
329
+ ```
330
+
331
+ ## Caveats
332
+
333
+ The `validate_creds` option requires read-access to the `backend` config endpoint.
334
+ If the effective Vault role does not have the required permissions then valid values
335
+ are required to be set for: `subscription_id`, `tenant_id`, `environment`.
336
+
337
+
338
+ :param _builtins.str backend: The path to the Azure secret backend to
339
+ read credentials from, with no leading or trailing `/`s.
340
+ :param _builtins.str environment: The Azure environment to use during credential validation.
341
+ Defaults to the environment configured in the Vault backend.
342
+ Some possible values: `AzurePublicCloud`, `AzureGovernmentCloud`
343
+ *See the caveats section for more information on this field.*
344
+ :param _builtins.int max_cred_validation_seconds: If 'validate_creds' is true,
345
+ the number of seconds after which to give up validating credentials. Defaults
346
+ to 300.
347
+ :param _builtins.str namespace: The namespace of the target resource.
348
+ The value should not contain leading or trailing forward slashes.
349
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
350
+ *Available only for Vault Enterprise*.
351
+ :param _builtins.int num_seconds_between_tests: If 'validate_creds' is true,
352
+ the number of seconds to wait between each test of generated credentials.
353
+ Defaults to 1.
354
+ :param _builtins.int num_sequential_successes: If 'validate_creds' is true,
355
+ the number of sequential successes required to validate generated
356
+ credentials. Defaults to 8.
357
+ :param _builtins.str role: The name of the Azure secret backend role to read
358
+ credentials from, with no leading or trailing `/`s.
359
+ :param _builtins.str subscription_id: The subscription ID to use during credential
360
+ validation. Defaults to the subscription ID configured in the Vault `backend`.
361
+ *See the caveats section for more information on this field.*
362
+ :param _builtins.str tenant_id: The tenant ID to use during credential validation.
363
+ Defaults to the tenant ID configured in the Vault `backend`.
364
+ *See the caveats section for more information on this field.*
365
+ :param _builtins.bool validate_creds: Whether generated credentials should be
366
+ validated before being returned. Defaults to `false`, which returns
367
+ credentials without checking whether they have fully propagated throughout
368
+ Azure Active Directory. Designating `true` activates testing.
369
+ """
370
+ __args__ = dict()
371
+ __args__['backend'] = backend
372
+ __args__['environment'] = environment
373
+ __args__['maxCredValidationSeconds'] = max_cred_validation_seconds
374
+ __args__['namespace'] = namespace
375
+ __args__['numSecondsBetweenTests'] = num_seconds_between_tests
376
+ __args__['numSequentialSuccesses'] = num_sequential_successes
377
+ __args__['role'] = role
378
+ __args__['subscriptionId'] = subscription_id
379
+ __args__['tenantId'] = tenant_id
380
+ __args__['validateCreds'] = validate_creds
381
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
382
+ __ret__ = pulumi.runtime.invoke_output('vault:azure/getAccessCredentials:getAccessCredentials', __args__, opts=opts, typ=GetAccessCredentialsResult)
383
+ return __ret__.apply(lambda __response__: GetAccessCredentialsResult(
384
+ backend=pulumi.get(__response__, 'backend'),
385
+ client_id=pulumi.get(__response__, 'client_id'),
386
+ client_secret=pulumi.get(__response__, 'client_secret'),
387
+ environment=pulumi.get(__response__, 'environment'),
388
+ id=pulumi.get(__response__, 'id'),
389
+ lease_duration=pulumi.get(__response__, 'lease_duration'),
390
+ lease_id=pulumi.get(__response__, 'lease_id'),
391
+ lease_renewable=pulumi.get(__response__, 'lease_renewable'),
392
+ lease_start_time=pulumi.get(__response__, 'lease_start_time'),
393
+ max_cred_validation_seconds=pulumi.get(__response__, 'max_cred_validation_seconds'),
394
+ namespace=pulumi.get(__response__, 'namespace'),
395
+ num_seconds_between_tests=pulumi.get(__response__, 'num_seconds_between_tests'),
396
+ num_sequential_successes=pulumi.get(__response__, 'num_sequential_successes'),
397
+ role=pulumi.get(__response__, 'role'),
398
+ subscription_id=pulumi.get(__response__, 'subscription_id'),
399
+ tenant_id=pulumi.get(__response__, 'tenant_id'),
400
+ validate_creds=pulumi.get(__response__, 'validate_creds')))
@@ -0,0 +1,107 @@
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
+ 'BackendRoleAzureGroup',
19
+ 'BackendRoleAzureRole',
20
+ ]
21
+
22
+ @pulumi.output_type
23
+ class BackendRoleAzureGroup(dict):
24
+ @staticmethod
25
+ def __key_warning(key: str):
26
+ suggest = None
27
+ if key == "groupName":
28
+ suggest = "group_name"
29
+ elif key == "objectId":
30
+ suggest = "object_id"
31
+
32
+ if suggest:
33
+ pulumi.log.warn(f"Key '{key}' not found in BackendRoleAzureGroup. Access the value via the '{suggest}' property getter instead.")
34
+
35
+ def __getitem__(self, key: str) -> Any:
36
+ BackendRoleAzureGroup.__key_warning(key)
37
+ return super().__getitem__(key)
38
+
39
+ def get(self, key: str, default = None) -> Any:
40
+ BackendRoleAzureGroup.__key_warning(key)
41
+ return super().get(key, default)
42
+
43
+ def __init__(__self__, *,
44
+ group_name: _builtins.str,
45
+ object_id: Optional[_builtins.str] = None):
46
+ pulumi.set(__self__, "group_name", group_name)
47
+ if object_id is not None:
48
+ pulumi.set(__self__, "object_id", object_id)
49
+
50
+ @_builtins.property
51
+ @pulumi.getter(name="groupName")
52
+ def group_name(self) -> _builtins.str:
53
+ return pulumi.get(self, "group_name")
54
+
55
+ @_builtins.property
56
+ @pulumi.getter(name="objectId")
57
+ def object_id(self) -> Optional[_builtins.str]:
58
+ return pulumi.get(self, "object_id")
59
+
60
+
61
+ @pulumi.output_type
62
+ class BackendRoleAzureRole(dict):
63
+ @staticmethod
64
+ def __key_warning(key: str):
65
+ suggest = None
66
+ if key == "roleId":
67
+ suggest = "role_id"
68
+ elif key == "roleName":
69
+ suggest = "role_name"
70
+
71
+ if suggest:
72
+ pulumi.log.warn(f"Key '{key}' not found in BackendRoleAzureRole. Access the value via the '{suggest}' property getter instead.")
73
+
74
+ def __getitem__(self, key: str) -> Any:
75
+ BackendRoleAzureRole.__key_warning(key)
76
+ return super().__getitem__(key)
77
+
78
+ def get(self, key: str, default = None) -> Any:
79
+ BackendRoleAzureRole.__key_warning(key)
80
+ return super().get(key, default)
81
+
82
+ def __init__(__self__, *,
83
+ scope: _builtins.str,
84
+ role_id: Optional[_builtins.str] = None,
85
+ role_name: Optional[_builtins.str] = None):
86
+ pulumi.set(__self__, "scope", scope)
87
+ if role_id is not None:
88
+ pulumi.set(__self__, "role_id", role_id)
89
+ if role_name is not None:
90
+ pulumi.set(__self__, "role_name", role_name)
91
+
92
+ @_builtins.property
93
+ @pulumi.getter
94
+ def scope(self) -> _builtins.str:
95
+ return pulumi.get(self, "scope")
96
+
97
+ @_builtins.property
98
+ @pulumi.getter(name="roleId")
99
+ def role_id(self) -> Optional[_builtins.str]:
100
+ return pulumi.get(self, "role_id")
101
+
102
+ @_builtins.property
103
+ @pulumi.getter(name="roleName")
104
+ def role_name(self) -> Optional[_builtins.str]:
105
+ return pulumi.get(self, "role_name")
106
+
107
+