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,5 @@
1
+ {
2
+ "resource": true,
3
+ "name": "vault",
4
+ "version": "7.6.0-alpha.1764657486"
5
+ }
pulumi_vault/py.typed ADDED
File without changes
@@ -0,0 +1,504 @@
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__ = ['QuotaLeaseCountArgs', 'QuotaLeaseCount']
18
+
19
+ @pulumi.input_type
20
+ class QuotaLeaseCountArgs:
21
+ def __init__(__self__, *,
22
+ max_leases: pulumi.Input[_builtins.int],
23
+ inheritable: Optional[pulumi.Input[_builtins.bool]] = None,
24
+ name: Optional[pulumi.Input[_builtins.str]] = None,
25
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
26
+ path: Optional[pulumi.Input[_builtins.str]] = None,
27
+ role: Optional[pulumi.Input[_builtins.str]] = None):
28
+ """
29
+ The set of arguments for constructing a QuotaLeaseCount resource.
30
+ :param pulumi.Input[_builtins.int] max_leases: The maximum number of leases to be allowed by the quota
31
+ rule. The `max_leases` must be positive.
32
+ :param pulumi.Input[_builtins.bool] inheritable: If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
33
+ :param pulumi.Input[_builtins.str] name: Name of the rate limit quota
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.
37
+ *Available only for Vault Enterprise*.
38
+ :param pulumi.Input[_builtins.str] path: Path of the mount or namespace to apply the quota. A blank path configures a
39
+ global rate limit quota. For example `namespace1/` adds a quota to a full namespace,
40
+ `namespace1/auth/userpass` adds a `quota` to `userpass` in `namespace1`.
41
+ Updating this field on an existing quota can have "moving" effects. For example, updating
42
+ `auth/userpass` to `namespace1/auth/userpass` moves this quota from being a global mount quota to
43
+ a namespace specific mount quota. **Note, namespaces are supported in Enterprise only.**
44
+ :param pulumi.Input[_builtins.str] role: If set on a quota where `path` is set to an auth mount with a concept of roles (such as /auth/approle/), this will make the quota restrict login requests to that mount that are made with the specified role.
45
+ """
46
+ pulumi.set(__self__, "max_leases", max_leases)
47
+ if inheritable is not None:
48
+ pulumi.set(__self__, "inheritable", inheritable)
49
+ if name is not None:
50
+ pulumi.set(__self__, "name", name)
51
+ if namespace is not None:
52
+ pulumi.set(__self__, "namespace", namespace)
53
+ if path is not None:
54
+ pulumi.set(__self__, "path", path)
55
+ if role is not None:
56
+ pulumi.set(__self__, "role", role)
57
+
58
+ @_builtins.property
59
+ @pulumi.getter(name="maxLeases")
60
+ def max_leases(self) -> pulumi.Input[_builtins.int]:
61
+ """
62
+ The maximum number of leases to be allowed by the quota
63
+ rule. The `max_leases` must be positive.
64
+ """
65
+ return pulumi.get(self, "max_leases")
66
+
67
+ @max_leases.setter
68
+ def max_leases(self, value: pulumi.Input[_builtins.int]):
69
+ pulumi.set(self, "max_leases", value)
70
+
71
+ @_builtins.property
72
+ @pulumi.getter
73
+ def inheritable(self) -> Optional[pulumi.Input[_builtins.bool]]:
74
+ """
75
+ If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
76
+ """
77
+ return pulumi.get(self, "inheritable")
78
+
79
+ @inheritable.setter
80
+ def inheritable(self, value: Optional[pulumi.Input[_builtins.bool]]):
81
+ pulumi.set(self, "inheritable", value)
82
+
83
+ @_builtins.property
84
+ @pulumi.getter
85
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
86
+ """
87
+ Name of the rate limit quota
88
+ """
89
+ return pulumi.get(self, "name")
90
+
91
+ @name.setter
92
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
93
+ pulumi.set(self, "name", value)
94
+
95
+ @_builtins.property
96
+ @pulumi.getter
97
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
98
+ """
99
+ The namespace to provision the resource in.
100
+ The value should not contain leading or trailing forward slashes.
101
+ The `namespace` is always relative to the provider's configured namespace.
102
+ *Available only for Vault Enterprise*.
103
+ """
104
+ return pulumi.get(self, "namespace")
105
+
106
+ @namespace.setter
107
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
108
+ pulumi.set(self, "namespace", value)
109
+
110
+ @_builtins.property
111
+ @pulumi.getter
112
+ def path(self) -> Optional[pulumi.Input[_builtins.str]]:
113
+ """
114
+ Path of the mount or namespace to apply the quota. A blank path configures a
115
+ global rate limit quota. For example `namespace1/` adds a quota to a full namespace,
116
+ `namespace1/auth/userpass` adds a `quota` to `userpass` in `namespace1`.
117
+ Updating this field on an existing quota can have "moving" effects. For example, updating
118
+ `auth/userpass` to `namespace1/auth/userpass` moves this quota from being a global mount quota to
119
+ a namespace specific mount quota. **Note, namespaces are supported in Enterprise only.**
120
+ """
121
+ return pulumi.get(self, "path")
122
+
123
+ @path.setter
124
+ def path(self, value: Optional[pulumi.Input[_builtins.str]]):
125
+ pulumi.set(self, "path", value)
126
+
127
+ @_builtins.property
128
+ @pulumi.getter
129
+ def role(self) -> Optional[pulumi.Input[_builtins.str]]:
130
+ """
131
+ If set on a quota where `path` is set to an auth mount with a concept of roles (such as /auth/approle/), this will make the quota restrict login requests to that mount that are made with the specified role.
132
+ """
133
+ return pulumi.get(self, "role")
134
+
135
+ @role.setter
136
+ def role(self, value: Optional[pulumi.Input[_builtins.str]]):
137
+ pulumi.set(self, "role", value)
138
+
139
+
140
+ @pulumi.input_type
141
+ class _QuotaLeaseCountState:
142
+ def __init__(__self__, *,
143
+ inheritable: Optional[pulumi.Input[_builtins.bool]] = None,
144
+ max_leases: Optional[pulumi.Input[_builtins.int]] = None,
145
+ name: Optional[pulumi.Input[_builtins.str]] = None,
146
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
147
+ path: Optional[pulumi.Input[_builtins.str]] = None,
148
+ role: Optional[pulumi.Input[_builtins.str]] = None):
149
+ """
150
+ Input properties used for looking up and filtering QuotaLeaseCount resources.
151
+ :param pulumi.Input[_builtins.bool] inheritable: If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
152
+ :param pulumi.Input[_builtins.int] max_leases: The maximum number of leases to be allowed by the quota
153
+ rule. The `max_leases` must be positive.
154
+ :param pulumi.Input[_builtins.str] name: Name of the rate limit quota
155
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
156
+ The value should not contain leading or trailing forward slashes.
157
+ The `namespace` is always relative to the provider's configured namespace.
158
+ *Available only for Vault Enterprise*.
159
+ :param pulumi.Input[_builtins.str] path: Path of the mount or namespace to apply the quota. A blank path configures a
160
+ global rate limit quota. For example `namespace1/` adds a quota to a full namespace,
161
+ `namespace1/auth/userpass` adds a `quota` to `userpass` in `namespace1`.
162
+ Updating this field on an existing quota can have "moving" effects. For example, updating
163
+ `auth/userpass` to `namespace1/auth/userpass` moves this quota from being a global mount quota to
164
+ a namespace specific mount quota. **Note, namespaces are supported in Enterprise only.**
165
+ :param pulumi.Input[_builtins.str] role: If set on a quota where `path` is set to an auth mount with a concept of roles (such as /auth/approle/), this will make the quota restrict login requests to that mount that are made with the specified role.
166
+ """
167
+ if inheritable is not None:
168
+ pulumi.set(__self__, "inheritable", inheritable)
169
+ if max_leases is not None:
170
+ pulumi.set(__self__, "max_leases", max_leases)
171
+ if name is not None:
172
+ pulumi.set(__self__, "name", name)
173
+ if namespace is not None:
174
+ pulumi.set(__self__, "namespace", namespace)
175
+ if path is not None:
176
+ pulumi.set(__self__, "path", path)
177
+ if role is not None:
178
+ pulumi.set(__self__, "role", role)
179
+
180
+ @_builtins.property
181
+ @pulumi.getter
182
+ def inheritable(self) -> Optional[pulumi.Input[_builtins.bool]]:
183
+ """
184
+ If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
185
+ """
186
+ return pulumi.get(self, "inheritable")
187
+
188
+ @inheritable.setter
189
+ def inheritable(self, value: Optional[pulumi.Input[_builtins.bool]]):
190
+ pulumi.set(self, "inheritable", value)
191
+
192
+ @_builtins.property
193
+ @pulumi.getter(name="maxLeases")
194
+ def max_leases(self) -> Optional[pulumi.Input[_builtins.int]]:
195
+ """
196
+ The maximum number of leases to be allowed by the quota
197
+ rule. The `max_leases` must be positive.
198
+ """
199
+ return pulumi.get(self, "max_leases")
200
+
201
+ @max_leases.setter
202
+ def max_leases(self, value: Optional[pulumi.Input[_builtins.int]]):
203
+ pulumi.set(self, "max_leases", value)
204
+
205
+ @_builtins.property
206
+ @pulumi.getter
207
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
208
+ """
209
+ Name of the rate limit quota
210
+ """
211
+ return pulumi.get(self, "name")
212
+
213
+ @name.setter
214
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
215
+ pulumi.set(self, "name", value)
216
+
217
+ @_builtins.property
218
+ @pulumi.getter
219
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
220
+ """
221
+ The namespace to provision the resource in.
222
+ The value should not contain leading or trailing forward slashes.
223
+ The `namespace` is always relative to the provider's configured namespace.
224
+ *Available only for Vault Enterprise*.
225
+ """
226
+ return pulumi.get(self, "namespace")
227
+
228
+ @namespace.setter
229
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
230
+ pulumi.set(self, "namespace", value)
231
+
232
+ @_builtins.property
233
+ @pulumi.getter
234
+ def path(self) -> Optional[pulumi.Input[_builtins.str]]:
235
+ """
236
+ Path of the mount or namespace to apply the quota. A blank path configures a
237
+ global rate limit quota. For example `namespace1/` adds a quota to a full namespace,
238
+ `namespace1/auth/userpass` adds a `quota` to `userpass` in `namespace1`.
239
+ Updating this field on an existing quota can have "moving" effects. For example, updating
240
+ `auth/userpass` to `namespace1/auth/userpass` moves this quota from being a global mount quota to
241
+ a namespace specific mount quota. **Note, namespaces are supported in Enterprise only.**
242
+ """
243
+ return pulumi.get(self, "path")
244
+
245
+ @path.setter
246
+ def path(self, value: Optional[pulumi.Input[_builtins.str]]):
247
+ pulumi.set(self, "path", value)
248
+
249
+ @_builtins.property
250
+ @pulumi.getter
251
+ def role(self) -> Optional[pulumi.Input[_builtins.str]]:
252
+ """
253
+ If set on a quota where `path` is set to an auth mount with a concept of roles (such as /auth/approle/), this will make the quota restrict login requests to that mount that are made with the specified role.
254
+ """
255
+ return pulumi.get(self, "role")
256
+
257
+ @role.setter
258
+ def role(self, value: Optional[pulumi.Input[_builtins.str]]):
259
+ pulumi.set(self, "role", value)
260
+
261
+
262
+ @pulumi.type_token("vault:index/quotaLeaseCount:QuotaLeaseCount")
263
+ class QuotaLeaseCount(pulumi.CustomResource):
264
+ @overload
265
+ def __init__(__self__,
266
+ resource_name: str,
267
+ opts: Optional[pulumi.ResourceOptions] = None,
268
+ inheritable: Optional[pulumi.Input[_builtins.bool]] = None,
269
+ max_leases: Optional[pulumi.Input[_builtins.int]] = None,
270
+ name: Optional[pulumi.Input[_builtins.str]] = None,
271
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
272
+ path: Optional[pulumi.Input[_builtins.str]] = None,
273
+ role: Optional[pulumi.Input[_builtins.str]] = None,
274
+ __props__=None):
275
+ """
276
+ Manage lease count quotas which enforce the number of leases that can be created.
277
+ A lease count quota can be created at the root level or defined on a namespace or mount by
278
+ specifying a path when creating the quota.
279
+
280
+ See [Vault's Documentation](https://www.vaultproject.io/docs/enterprise/lease-count-quotas) for more
281
+ information.
282
+
283
+ **Note** this feature is available only with Vault Enterprise.
284
+
285
+ ## Example Usage
286
+
287
+ ```python
288
+ import pulumi
289
+ import pulumi_vault as vault
290
+
291
+ global_ = vault.QuotaLeaseCount("global",
292
+ name="global",
293
+ path="",
294
+ max_leases=100)
295
+ ```
296
+
297
+ ## Import
298
+
299
+ Lease count quotas can be imported using their names
300
+
301
+ ```sh
302
+ $ pulumi import vault:index/quotaLeaseCount:QuotaLeaseCount global global
303
+ ```
304
+
305
+ :param str resource_name: The name of the resource.
306
+ :param pulumi.ResourceOptions opts: Options for the resource.
307
+ :param pulumi.Input[_builtins.bool] inheritable: If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
308
+ :param pulumi.Input[_builtins.int] max_leases: The maximum number of leases to be allowed by the quota
309
+ rule. The `max_leases` must be positive.
310
+ :param pulumi.Input[_builtins.str] name: Name of the rate limit quota
311
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
312
+ The value should not contain leading or trailing forward slashes.
313
+ The `namespace` is always relative to the provider's configured namespace.
314
+ *Available only for Vault Enterprise*.
315
+ :param pulumi.Input[_builtins.str] path: Path of the mount or namespace to apply the quota. A blank path configures a
316
+ global rate limit quota. For example `namespace1/` adds a quota to a full namespace,
317
+ `namespace1/auth/userpass` adds a `quota` to `userpass` in `namespace1`.
318
+ Updating this field on an existing quota can have "moving" effects. For example, updating
319
+ `auth/userpass` to `namespace1/auth/userpass` moves this quota from being a global mount quota to
320
+ a namespace specific mount quota. **Note, namespaces are supported in Enterprise only.**
321
+ :param pulumi.Input[_builtins.str] role: If set on a quota where `path` is set to an auth mount with a concept of roles (such as /auth/approle/), this will make the quota restrict login requests to that mount that are made with the specified role.
322
+ """
323
+ ...
324
+ @overload
325
+ def __init__(__self__,
326
+ resource_name: str,
327
+ args: QuotaLeaseCountArgs,
328
+ opts: Optional[pulumi.ResourceOptions] = None):
329
+ """
330
+ Manage lease count quotas which enforce the number of leases that can be created.
331
+ A lease count quota can be created at the root level or defined on a namespace or mount by
332
+ specifying a path when creating the quota.
333
+
334
+ See [Vault's Documentation](https://www.vaultproject.io/docs/enterprise/lease-count-quotas) for more
335
+ information.
336
+
337
+ **Note** this feature is available only with Vault Enterprise.
338
+
339
+ ## Example Usage
340
+
341
+ ```python
342
+ import pulumi
343
+ import pulumi_vault as vault
344
+
345
+ global_ = vault.QuotaLeaseCount("global",
346
+ name="global",
347
+ path="",
348
+ max_leases=100)
349
+ ```
350
+
351
+ ## Import
352
+
353
+ Lease count quotas can be imported using their names
354
+
355
+ ```sh
356
+ $ pulumi import vault:index/quotaLeaseCount:QuotaLeaseCount global global
357
+ ```
358
+
359
+ :param str resource_name: The name of the resource.
360
+ :param QuotaLeaseCountArgs args: The arguments to use to populate this resource's properties.
361
+ :param pulumi.ResourceOptions opts: Options for the resource.
362
+ """
363
+ ...
364
+ def __init__(__self__, resource_name: str, *args, **kwargs):
365
+ resource_args, opts = _utilities.get_resource_args_opts(QuotaLeaseCountArgs, pulumi.ResourceOptions, *args, **kwargs)
366
+ if resource_args is not None:
367
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
368
+ else:
369
+ __self__._internal_init(resource_name, *args, **kwargs)
370
+
371
+ def _internal_init(__self__,
372
+ resource_name: str,
373
+ opts: Optional[pulumi.ResourceOptions] = None,
374
+ inheritable: Optional[pulumi.Input[_builtins.bool]] = None,
375
+ max_leases: Optional[pulumi.Input[_builtins.int]] = None,
376
+ name: Optional[pulumi.Input[_builtins.str]] = None,
377
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
378
+ path: Optional[pulumi.Input[_builtins.str]] = None,
379
+ role: Optional[pulumi.Input[_builtins.str]] = None,
380
+ __props__=None):
381
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
382
+ if not isinstance(opts, pulumi.ResourceOptions):
383
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
384
+ if opts.id is None:
385
+ if __props__ is not None:
386
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
387
+ __props__ = QuotaLeaseCountArgs.__new__(QuotaLeaseCountArgs)
388
+
389
+ __props__.__dict__["inheritable"] = inheritable
390
+ if max_leases is None and not opts.urn:
391
+ raise TypeError("Missing required property 'max_leases'")
392
+ __props__.__dict__["max_leases"] = max_leases
393
+ __props__.__dict__["name"] = name
394
+ __props__.__dict__["namespace"] = namespace
395
+ __props__.__dict__["path"] = path
396
+ __props__.__dict__["role"] = role
397
+ super(QuotaLeaseCount, __self__).__init__(
398
+ 'vault:index/quotaLeaseCount:QuotaLeaseCount',
399
+ resource_name,
400
+ __props__,
401
+ opts)
402
+
403
+ @staticmethod
404
+ def get(resource_name: str,
405
+ id: pulumi.Input[str],
406
+ opts: Optional[pulumi.ResourceOptions] = None,
407
+ inheritable: Optional[pulumi.Input[_builtins.bool]] = None,
408
+ max_leases: Optional[pulumi.Input[_builtins.int]] = None,
409
+ name: Optional[pulumi.Input[_builtins.str]] = None,
410
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
411
+ path: Optional[pulumi.Input[_builtins.str]] = None,
412
+ role: Optional[pulumi.Input[_builtins.str]] = None) -> 'QuotaLeaseCount':
413
+ """
414
+ Get an existing QuotaLeaseCount resource's state with the given name, id, and optional extra
415
+ properties used to qualify the lookup.
416
+
417
+ :param str resource_name: The unique name of the resulting resource.
418
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
419
+ :param pulumi.ResourceOptions opts: Options for the resource.
420
+ :param pulumi.Input[_builtins.bool] inheritable: If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
421
+ :param pulumi.Input[_builtins.int] max_leases: The maximum number of leases to be allowed by the quota
422
+ rule. The `max_leases` must be positive.
423
+ :param pulumi.Input[_builtins.str] name: Name of the rate limit quota
424
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
425
+ The value should not contain leading or trailing forward slashes.
426
+ The `namespace` is always relative to the provider's configured namespace.
427
+ *Available only for Vault Enterprise*.
428
+ :param pulumi.Input[_builtins.str] path: Path of the mount or namespace to apply the quota. A blank path configures a
429
+ global rate limit quota. For example `namespace1/` adds a quota to a full namespace,
430
+ `namespace1/auth/userpass` adds a `quota` to `userpass` in `namespace1`.
431
+ Updating this field on an existing quota can have "moving" effects. For example, updating
432
+ `auth/userpass` to `namespace1/auth/userpass` moves this quota from being a global mount quota to
433
+ a namespace specific mount quota. **Note, namespaces are supported in Enterprise only.**
434
+ :param pulumi.Input[_builtins.str] role: If set on a quota where `path` is set to an auth mount with a concept of roles (such as /auth/approle/), this will make the quota restrict login requests to that mount that are made with the specified role.
435
+ """
436
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
437
+
438
+ __props__ = _QuotaLeaseCountState.__new__(_QuotaLeaseCountState)
439
+
440
+ __props__.__dict__["inheritable"] = inheritable
441
+ __props__.__dict__["max_leases"] = max_leases
442
+ __props__.__dict__["name"] = name
443
+ __props__.__dict__["namespace"] = namespace
444
+ __props__.__dict__["path"] = path
445
+ __props__.__dict__["role"] = role
446
+ return QuotaLeaseCount(resource_name, opts=opts, __props__=__props__)
447
+
448
+ @_builtins.property
449
+ @pulumi.getter
450
+ def inheritable(self) -> pulumi.Output[Optional[_builtins.bool]]:
451
+ """
452
+ If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
453
+ """
454
+ return pulumi.get(self, "inheritable")
455
+
456
+ @_builtins.property
457
+ @pulumi.getter(name="maxLeases")
458
+ def max_leases(self) -> pulumi.Output[_builtins.int]:
459
+ """
460
+ The maximum number of leases to be allowed by the quota
461
+ rule. The `max_leases` must be positive.
462
+ """
463
+ return pulumi.get(self, "max_leases")
464
+
465
+ @_builtins.property
466
+ @pulumi.getter
467
+ def name(self) -> pulumi.Output[_builtins.str]:
468
+ """
469
+ Name of the rate limit quota
470
+ """
471
+ return pulumi.get(self, "name")
472
+
473
+ @_builtins.property
474
+ @pulumi.getter
475
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
476
+ """
477
+ The namespace to provision the resource in.
478
+ The value should not contain leading or trailing forward slashes.
479
+ The `namespace` is always relative to the provider's configured namespace.
480
+ *Available only for Vault Enterprise*.
481
+ """
482
+ return pulumi.get(self, "namespace")
483
+
484
+ @_builtins.property
485
+ @pulumi.getter
486
+ def path(self) -> pulumi.Output[Optional[_builtins.str]]:
487
+ """
488
+ Path of the mount or namespace to apply the quota. A blank path configures a
489
+ global rate limit quota. For example `namespace1/` adds a quota to a full namespace,
490
+ `namespace1/auth/userpass` adds a `quota` to `userpass` in `namespace1`.
491
+ Updating this field on an existing quota can have "moving" effects. For example, updating
492
+ `auth/userpass` to `namespace1/auth/userpass` moves this quota from being a global mount quota to
493
+ a namespace specific mount quota. **Note, namespaces are supported in Enterprise only.**
494
+ """
495
+ return pulumi.get(self, "path")
496
+
497
+ @_builtins.property
498
+ @pulumi.getter
499
+ def role(self) -> pulumi.Output[Optional[_builtins.str]]:
500
+ """
501
+ If set on a quota where `path` is set to an auth mount with a concept of roles (such as /auth/approle/), this will make the quota restrict login requests to that mount that are made with the specified role.
502
+ """
503
+ return pulumi.get(self, "role")
504
+