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,349 @@
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__ = ['RgpPolicyArgs', 'RgpPolicy']
18
+
19
+ @pulumi.input_type
20
+ class RgpPolicyArgs:
21
+ def __init__(__self__, *,
22
+ enforcement_level: pulumi.Input[_builtins.str],
23
+ policy: pulumi.Input[_builtins.str],
24
+ name: Optional[pulumi.Input[_builtins.str]] = None,
25
+ namespace: Optional[pulumi.Input[_builtins.str]] = None):
26
+ """
27
+ The set of arguments for constructing a RgpPolicy resource.
28
+ :param pulumi.Input[_builtins.str] enforcement_level: Enforcement level of Sentinel policy. Can be either `advisory` or `soft-mandatory` or `hard-mandatory`
29
+ :param pulumi.Input[_builtins.str] policy: String containing a Sentinel policy
30
+ :param pulumi.Input[_builtins.str] name: The name of the policy
31
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
32
+ The value should not contain leading or trailing forward slashes.
33
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
34
+ *Available only for Vault Enterprise*.
35
+ """
36
+ pulumi.set(__self__, "enforcement_level", enforcement_level)
37
+ pulumi.set(__self__, "policy", policy)
38
+ if name is not None:
39
+ pulumi.set(__self__, "name", name)
40
+ if namespace is not None:
41
+ pulumi.set(__self__, "namespace", namespace)
42
+
43
+ @_builtins.property
44
+ @pulumi.getter(name="enforcementLevel")
45
+ def enforcement_level(self) -> pulumi.Input[_builtins.str]:
46
+ """
47
+ Enforcement level of Sentinel policy. Can be either `advisory` or `soft-mandatory` or `hard-mandatory`
48
+ """
49
+ return pulumi.get(self, "enforcement_level")
50
+
51
+ @enforcement_level.setter
52
+ def enforcement_level(self, value: pulumi.Input[_builtins.str]):
53
+ pulumi.set(self, "enforcement_level", value)
54
+
55
+ @_builtins.property
56
+ @pulumi.getter
57
+ def policy(self) -> pulumi.Input[_builtins.str]:
58
+ """
59
+ String containing a Sentinel policy
60
+ """
61
+ return pulumi.get(self, "policy")
62
+
63
+ @policy.setter
64
+ def policy(self, value: pulumi.Input[_builtins.str]):
65
+ pulumi.set(self, "policy", value)
66
+
67
+ @_builtins.property
68
+ @pulumi.getter
69
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
70
+ """
71
+ The name of the policy
72
+ """
73
+ return pulumi.get(self, "name")
74
+
75
+ @name.setter
76
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
77
+ pulumi.set(self, "name", value)
78
+
79
+ @_builtins.property
80
+ @pulumi.getter
81
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
82
+ """
83
+ The namespace to provision the resource in.
84
+ The value should not contain leading or trailing forward slashes.
85
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
86
+ *Available only for Vault Enterprise*.
87
+ """
88
+ return pulumi.get(self, "namespace")
89
+
90
+ @namespace.setter
91
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
92
+ pulumi.set(self, "namespace", value)
93
+
94
+
95
+ @pulumi.input_type
96
+ class _RgpPolicyState:
97
+ def __init__(__self__, *,
98
+ enforcement_level: Optional[pulumi.Input[_builtins.str]] = None,
99
+ name: Optional[pulumi.Input[_builtins.str]] = None,
100
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
101
+ policy: Optional[pulumi.Input[_builtins.str]] = None):
102
+ """
103
+ Input properties used for looking up and filtering RgpPolicy resources.
104
+ :param pulumi.Input[_builtins.str] enforcement_level: Enforcement level of Sentinel policy. Can be either `advisory` or `soft-mandatory` or `hard-mandatory`
105
+ :param pulumi.Input[_builtins.str] name: The name of the policy
106
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
107
+ The value should not contain leading or trailing forward slashes.
108
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
109
+ *Available only for Vault Enterprise*.
110
+ :param pulumi.Input[_builtins.str] policy: String containing a Sentinel policy
111
+ """
112
+ if enforcement_level is not None:
113
+ pulumi.set(__self__, "enforcement_level", enforcement_level)
114
+ if name is not None:
115
+ pulumi.set(__self__, "name", name)
116
+ if namespace is not None:
117
+ pulumi.set(__self__, "namespace", namespace)
118
+ if policy is not None:
119
+ pulumi.set(__self__, "policy", policy)
120
+
121
+ @_builtins.property
122
+ @pulumi.getter(name="enforcementLevel")
123
+ def enforcement_level(self) -> Optional[pulumi.Input[_builtins.str]]:
124
+ """
125
+ Enforcement level of Sentinel policy. Can be either `advisory` or `soft-mandatory` or `hard-mandatory`
126
+ """
127
+ return pulumi.get(self, "enforcement_level")
128
+
129
+ @enforcement_level.setter
130
+ def enforcement_level(self, value: Optional[pulumi.Input[_builtins.str]]):
131
+ pulumi.set(self, "enforcement_level", value)
132
+
133
+ @_builtins.property
134
+ @pulumi.getter
135
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
136
+ """
137
+ The name of the policy
138
+ """
139
+ return pulumi.get(self, "name")
140
+
141
+ @name.setter
142
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
143
+ pulumi.set(self, "name", value)
144
+
145
+ @_builtins.property
146
+ @pulumi.getter
147
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
148
+ """
149
+ The namespace to provision the resource in.
150
+ The value should not contain leading or trailing forward slashes.
151
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
152
+ *Available only for Vault Enterprise*.
153
+ """
154
+ return pulumi.get(self, "namespace")
155
+
156
+ @namespace.setter
157
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
158
+ pulumi.set(self, "namespace", value)
159
+
160
+ @_builtins.property
161
+ @pulumi.getter
162
+ def policy(self) -> Optional[pulumi.Input[_builtins.str]]:
163
+ """
164
+ String containing a Sentinel policy
165
+ """
166
+ return pulumi.get(self, "policy")
167
+
168
+ @policy.setter
169
+ def policy(self, value: Optional[pulumi.Input[_builtins.str]]):
170
+ pulumi.set(self, "policy", value)
171
+
172
+
173
+ @pulumi.type_token("vault:index/rgpPolicy:RgpPolicy")
174
+ class RgpPolicy(pulumi.CustomResource):
175
+ @overload
176
+ def __init__(__self__,
177
+ resource_name: str,
178
+ opts: Optional[pulumi.ResourceOptions] = None,
179
+ enforcement_level: Optional[pulumi.Input[_builtins.str]] = None,
180
+ name: Optional[pulumi.Input[_builtins.str]] = None,
181
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
182
+ policy: Optional[pulumi.Input[_builtins.str]] = None,
183
+ __props__=None):
184
+ """
185
+ Provides a resource to manage Role Governing Policy (RGP) via [Sentinel](https://www.vaultproject.io/docs/enterprise/sentinel/index.html).
186
+
187
+ **Note** this feature is available only with Vault Enterprise.
188
+
189
+ ## Example Usage
190
+
191
+ ```python
192
+ import pulumi
193
+ import pulumi_vault as vault
194
+
195
+ allow_all = vault.RgpPolicy("allow-all",
196
+ name="allow-all",
197
+ enforcement_level="soft-mandatory",
198
+ policy=\"\"\"main = rule {
199
+ true
200
+ }
201
+ \"\"\")
202
+ ```
203
+
204
+ :param str resource_name: The name of the resource.
205
+ :param pulumi.ResourceOptions opts: Options for the resource.
206
+ :param pulumi.Input[_builtins.str] enforcement_level: Enforcement level of Sentinel policy. Can be either `advisory` or `soft-mandatory` or `hard-mandatory`
207
+ :param pulumi.Input[_builtins.str] name: The name of the policy
208
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
209
+ The value should not contain leading or trailing forward slashes.
210
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
211
+ *Available only for Vault Enterprise*.
212
+ :param pulumi.Input[_builtins.str] policy: String containing a Sentinel policy
213
+ """
214
+ ...
215
+ @overload
216
+ def __init__(__self__,
217
+ resource_name: str,
218
+ args: RgpPolicyArgs,
219
+ opts: Optional[pulumi.ResourceOptions] = None):
220
+ """
221
+ Provides a resource to manage Role Governing Policy (RGP) via [Sentinel](https://www.vaultproject.io/docs/enterprise/sentinel/index.html).
222
+
223
+ **Note** this feature is available only with Vault Enterprise.
224
+
225
+ ## Example Usage
226
+
227
+ ```python
228
+ import pulumi
229
+ import pulumi_vault as vault
230
+
231
+ allow_all = vault.RgpPolicy("allow-all",
232
+ name="allow-all",
233
+ enforcement_level="soft-mandatory",
234
+ policy=\"\"\"main = rule {
235
+ true
236
+ }
237
+ \"\"\")
238
+ ```
239
+
240
+ :param str resource_name: The name of the resource.
241
+ :param RgpPolicyArgs args: The arguments to use to populate this resource's properties.
242
+ :param pulumi.ResourceOptions opts: Options for the resource.
243
+ """
244
+ ...
245
+ def __init__(__self__, resource_name: str, *args, **kwargs):
246
+ resource_args, opts = _utilities.get_resource_args_opts(RgpPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
247
+ if resource_args is not None:
248
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
249
+ else:
250
+ __self__._internal_init(resource_name, *args, **kwargs)
251
+
252
+ def _internal_init(__self__,
253
+ resource_name: str,
254
+ opts: Optional[pulumi.ResourceOptions] = None,
255
+ enforcement_level: Optional[pulumi.Input[_builtins.str]] = None,
256
+ name: Optional[pulumi.Input[_builtins.str]] = None,
257
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
258
+ policy: Optional[pulumi.Input[_builtins.str]] = None,
259
+ __props__=None):
260
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
261
+ if not isinstance(opts, pulumi.ResourceOptions):
262
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
263
+ if opts.id is None:
264
+ if __props__ is not None:
265
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
266
+ __props__ = RgpPolicyArgs.__new__(RgpPolicyArgs)
267
+
268
+ if enforcement_level is None and not opts.urn:
269
+ raise TypeError("Missing required property 'enforcement_level'")
270
+ __props__.__dict__["enforcement_level"] = enforcement_level
271
+ __props__.__dict__["name"] = name
272
+ __props__.__dict__["namespace"] = namespace
273
+ if policy is None and not opts.urn:
274
+ raise TypeError("Missing required property 'policy'")
275
+ __props__.__dict__["policy"] = policy
276
+ super(RgpPolicy, __self__).__init__(
277
+ 'vault:index/rgpPolicy:RgpPolicy',
278
+ resource_name,
279
+ __props__,
280
+ opts)
281
+
282
+ @staticmethod
283
+ def get(resource_name: str,
284
+ id: pulumi.Input[str],
285
+ opts: Optional[pulumi.ResourceOptions] = None,
286
+ enforcement_level: Optional[pulumi.Input[_builtins.str]] = None,
287
+ name: Optional[pulumi.Input[_builtins.str]] = None,
288
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
289
+ policy: Optional[pulumi.Input[_builtins.str]] = None) -> 'RgpPolicy':
290
+ """
291
+ Get an existing RgpPolicy resource's state with the given name, id, and optional extra
292
+ properties used to qualify the lookup.
293
+
294
+ :param str resource_name: The unique name of the resulting resource.
295
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
296
+ :param pulumi.ResourceOptions opts: Options for the resource.
297
+ :param pulumi.Input[_builtins.str] enforcement_level: Enforcement level of Sentinel policy. Can be either `advisory` or `soft-mandatory` or `hard-mandatory`
298
+ :param pulumi.Input[_builtins.str] name: The name of the policy
299
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
300
+ The value should not contain leading or trailing forward slashes.
301
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
302
+ *Available only for Vault Enterprise*.
303
+ :param pulumi.Input[_builtins.str] policy: String containing a Sentinel policy
304
+ """
305
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
306
+
307
+ __props__ = _RgpPolicyState.__new__(_RgpPolicyState)
308
+
309
+ __props__.__dict__["enforcement_level"] = enforcement_level
310
+ __props__.__dict__["name"] = name
311
+ __props__.__dict__["namespace"] = namespace
312
+ __props__.__dict__["policy"] = policy
313
+ return RgpPolicy(resource_name, opts=opts, __props__=__props__)
314
+
315
+ @_builtins.property
316
+ @pulumi.getter(name="enforcementLevel")
317
+ def enforcement_level(self) -> pulumi.Output[_builtins.str]:
318
+ """
319
+ Enforcement level of Sentinel policy. Can be either `advisory` or `soft-mandatory` or `hard-mandatory`
320
+ """
321
+ return pulumi.get(self, "enforcement_level")
322
+
323
+ @_builtins.property
324
+ @pulumi.getter
325
+ def name(self) -> pulumi.Output[_builtins.str]:
326
+ """
327
+ The name of the policy
328
+ """
329
+ return pulumi.get(self, "name")
330
+
331
+ @_builtins.property
332
+ @pulumi.getter
333
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
334
+ """
335
+ The namespace to provision the resource in.
336
+ The value should not contain leading or trailing forward slashes.
337
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
338
+ *Available only for Vault Enterprise*.
339
+ """
340
+ return pulumi.get(self, "namespace")
341
+
342
+ @_builtins.property
343
+ @pulumi.getter
344
+ def policy(self) -> pulumi.Output[_builtins.str]:
345
+ """
346
+ String containing a Sentinel policy
347
+ """
348
+ return pulumi.get(self, "policy")
349
+
@@ -0,0 +1,12 @@
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
+ from .. import _utilities
7
+ import typing
8
+ # Export this package's modules as members:
9
+ from .auth_backend import *
10
+ from .auth_backend_role import *
11
+ from ._inputs import *
12
+ from . import outputs
@@ -0,0 +1,225 @@
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
+ 'AuthBackendTuneArgs',
19
+ 'AuthBackendTuneArgsDict',
20
+ ]
21
+
22
+ MYPY = False
23
+
24
+ if not MYPY:
25
+ class AuthBackendTuneArgsDict(TypedDict):
26
+ allowed_response_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
27
+ """
28
+ List of headers to whitelist and allowing
29
+ a plugin to include them in the response.
30
+ """
31
+ audit_non_hmac_request_keys: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
32
+ """
33
+ Specifies the list of keys that will
34
+ not be HMAC'd by audit devices in the request data object.
35
+ """
36
+ audit_non_hmac_response_keys: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
37
+ """
38
+ Specifies the list of keys that will
39
+ not be HMAC'd by audit devices in the response data object.
40
+ """
41
+ default_lease_ttl: NotRequired[pulumi.Input[_builtins.str]]
42
+ """
43
+ Specifies the default time-to-live.
44
+ If set, this overrides the global default.
45
+ Must be a valid [duration string](https://golang.org/pkg/time/#ParseDuration)
46
+ """
47
+ listing_visibility: NotRequired[pulumi.Input[_builtins.str]]
48
+ """
49
+ Specifies whether to show this mount in
50
+ the UI-specific listing endpoint. Valid values are "unauth" or "hidden".
51
+ """
52
+ max_lease_ttl: NotRequired[pulumi.Input[_builtins.str]]
53
+ """
54
+ Specifies the maximum time-to-live.
55
+ If set, this overrides the global default.
56
+ Must be a valid [duration string](https://golang.org/pkg/time/#ParseDuration)
57
+ """
58
+ passthrough_request_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
59
+ """
60
+ List of headers to whitelist and
61
+ pass from the request to the backend.
62
+ """
63
+ token_type: NotRequired[pulumi.Input[_builtins.str]]
64
+ """
65
+ Specifies the type of tokens that should be returned by
66
+ the mount. Valid values are "default-service", "default-batch", "service", "batch".
67
+ """
68
+ elif False:
69
+ AuthBackendTuneArgsDict: TypeAlias = Mapping[str, Any]
70
+
71
+ @pulumi.input_type
72
+ class AuthBackendTuneArgs:
73
+ def __init__(__self__, *,
74
+ allowed_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
75
+ audit_non_hmac_request_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
76
+ audit_non_hmac_response_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
77
+ default_lease_ttl: Optional[pulumi.Input[_builtins.str]] = None,
78
+ listing_visibility: Optional[pulumi.Input[_builtins.str]] = None,
79
+ max_lease_ttl: Optional[pulumi.Input[_builtins.str]] = None,
80
+ passthrough_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
81
+ token_type: Optional[pulumi.Input[_builtins.str]] = None):
82
+ """
83
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_response_headers: List of headers to whitelist and allowing
84
+ a plugin to include them in the response.
85
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] audit_non_hmac_request_keys: Specifies the list of keys that will
86
+ not be HMAC'd by audit devices in the request data object.
87
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] audit_non_hmac_response_keys: Specifies the list of keys that will
88
+ not be HMAC'd by audit devices in the response data object.
89
+ :param pulumi.Input[_builtins.str] default_lease_ttl: Specifies the default time-to-live.
90
+ If set, this overrides the global default.
91
+ Must be a valid [duration string](https://golang.org/pkg/time/#ParseDuration)
92
+ :param pulumi.Input[_builtins.str] listing_visibility: Specifies whether to show this mount in
93
+ the UI-specific listing endpoint. Valid values are "unauth" or "hidden".
94
+ :param pulumi.Input[_builtins.str] max_lease_ttl: Specifies the maximum time-to-live.
95
+ If set, this overrides the global default.
96
+ Must be a valid [duration string](https://golang.org/pkg/time/#ParseDuration)
97
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] passthrough_request_headers: List of headers to whitelist and
98
+ pass from the request to the backend.
99
+ :param pulumi.Input[_builtins.str] token_type: Specifies the type of tokens that should be returned by
100
+ the mount. Valid values are "default-service", "default-batch", "service", "batch".
101
+ """
102
+ if allowed_response_headers is not None:
103
+ pulumi.set(__self__, "allowed_response_headers", allowed_response_headers)
104
+ if audit_non_hmac_request_keys is not None:
105
+ pulumi.set(__self__, "audit_non_hmac_request_keys", audit_non_hmac_request_keys)
106
+ if audit_non_hmac_response_keys is not None:
107
+ pulumi.set(__self__, "audit_non_hmac_response_keys", audit_non_hmac_response_keys)
108
+ if default_lease_ttl is not None:
109
+ pulumi.set(__self__, "default_lease_ttl", default_lease_ttl)
110
+ if listing_visibility is not None:
111
+ pulumi.set(__self__, "listing_visibility", listing_visibility)
112
+ if max_lease_ttl is not None:
113
+ pulumi.set(__self__, "max_lease_ttl", max_lease_ttl)
114
+ if passthrough_request_headers is not None:
115
+ pulumi.set(__self__, "passthrough_request_headers", passthrough_request_headers)
116
+ if token_type is not None:
117
+ pulumi.set(__self__, "token_type", token_type)
118
+
119
+ @_builtins.property
120
+ @pulumi.getter(name="allowedResponseHeaders")
121
+ def allowed_response_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
122
+ """
123
+ List of headers to whitelist and allowing
124
+ a plugin to include them in the response.
125
+ """
126
+ return pulumi.get(self, "allowed_response_headers")
127
+
128
+ @allowed_response_headers.setter
129
+ def allowed_response_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
130
+ pulumi.set(self, "allowed_response_headers", value)
131
+
132
+ @_builtins.property
133
+ @pulumi.getter(name="auditNonHmacRequestKeys")
134
+ def audit_non_hmac_request_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
135
+ """
136
+ Specifies the list of keys that will
137
+ not be HMAC'd by audit devices in the request data object.
138
+ """
139
+ return pulumi.get(self, "audit_non_hmac_request_keys")
140
+
141
+ @audit_non_hmac_request_keys.setter
142
+ def audit_non_hmac_request_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
143
+ pulumi.set(self, "audit_non_hmac_request_keys", value)
144
+
145
+ @_builtins.property
146
+ @pulumi.getter(name="auditNonHmacResponseKeys")
147
+ def audit_non_hmac_response_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
148
+ """
149
+ Specifies the list of keys that will
150
+ not be HMAC'd by audit devices in the response data object.
151
+ """
152
+ return pulumi.get(self, "audit_non_hmac_response_keys")
153
+
154
+ @audit_non_hmac_response_keys.setter
155
+ def audit_non_hmac_response_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
156
+ pulumi.set(self, "audit_non_hmac_response_keys", value)
157
+
158
+ @_builtins.property
159
+ @pulumi.getter(name="defaultLeaseTtl")
160
+ def default_lease_ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
161
+ """
162
+ Specifies the default time-to-live.
163
+ If set, this overrides the global default.
164
+ Must be a valid [duration string](https://golang.org/pkg/time/#ParseDuration)
165
+ """
166
+ return pulumi.get(self, "default_lease_ttl")
167
+
168
+ @default_lease_ttl.setter
169
+ def default_lease_ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
170
+ pulumi.set(self, "default_lease_ttl", value)
171
+
172
+ @_builtins.property
173
+ @pulumi.getter(name="listingVisibility")
174
+ def listing_visibility(self) -> Optional[pulumi.Input[_builtins.str]]:
175
+ """
176
+ Specifies whether to show this mount in
177
+ the UI-specific listing endpoint. Valid values are "unauth" or "hidden".
178
+ """
179
+ return pulumi.get(self, "listing_visibility")
180
+
181
+ @listing_visibility.setter
182
+ def listing_visibility(self, value: Optional[pulumi.Input[_builtins.str]]):
183
+ pulumi.set(self, "listing_visibility", value)
184
+
185
+ @_builtins.property
186
+ @pulumi.getter(name="maxLeaseTtl")
187
+ def max_lease_ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
188
+ """
189
+ Specifies the maximum time-to-live.
190
+ If set, this overrides the global default.
191
+ Must be a valid [duration string](https://golang.org/pkg/time/#ParseDuration)
192
+ """
193
+ return pulumi.get(self, "max_lease_ttl")
194
+
195
+ @max_lease_ttl.setter
196
+ def max_lease_ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
197
+ pulumi.set(self, "max_lease_ttl", value)
198
+
199
+ @_builtins.property
200
+ @pulumi.getter(name="passthroughRequestHeaders")
201
+ def passthrough_request_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
202
+ """
203
+ List of headers to whitelist and
204
+ pass from the request to the backend.
205
+ """
206
+ return pulumi.get(self, "passthrough_request_headers")
207
+
208
+ @passthrough_request_headers.setter
209
+ def passthrough_request_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
210
+ pulumi.set(self, "passthrough_request_headers", value)
211
+
212
+ @_builtins.property
213
+ @pulumi.getter(name="tokenType")
214
+ def token_type(self) -> Optional[pulumi.Input[_builtins.str]]:
215
+ """
216
+ Specifies the type of tokens that should be returned by
217
+ the mount. Valid values are "default-service", "default-batch", "service", "batch".
218
+ """
219
+ return pulumi.get(self, "token_type")
220
+
221
+ @token_type.setter
222
+ def token_type(self, value: Optional[pulumi.Input[_builtins.str]]):
223
+ pulumi.set(self, "token_type", value)
224
+
225
+