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,471 @@
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__ = ['GroupPoliciesArgs', 'GroupPolicies']
18
+
19
+ @pulumi.input_type
20
+ class GroupPoliciesArgs:
21
+ def __init__(__self__, *,
22
+ group_id: pulumi.Input[_builtins.str],
23
+ policies: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
24
+ exclusive: Optional[pulumi.Input[_builtins.bool]] = None,
25
+ namespace: Optional[pulumi.Input[_builtins.str]] = None):
26
+ """
27
+ The set of arguments for constructing a GroupPolicies resource.
28
+ :param pulumi.Input[_builtins.str] group_id: Group ID to assign policies to.
29
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policies: List of policies to assign to the group
30
+ :param pulumi.Input[_builtins.bool] exclusive: Defaults to `true`.
31
+
32
+ If `true`, this resource will take exclusive control of the policies assigned to the group and will set it equal to what is specified in the resource.
33
+
34
+ If set to `false`, this resource will simply ensure that the policies specified in the resource are present in the group. When destroying the resource, the resource will ensure that the policies specified in the resource are removed.
35
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
36
+ The value should not contain leading or trailing forward slashes.
37
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
38
+ *Available only for Vault Enterprise*.
39
+ """
40
+ pulumi.set(__self__, "group_id", group_id)
41
+ pulumi.set(__self__, "policies", policies)
42
+ if exclusive is not None:
43
+ pulumi.set(__self__, "exclusive", exclusive)
44
+ if namespace is not None:
45
+ pulumi.set(__self__, "namespace", namespace)
46
+
47
+ @_builtins.property
48
+ @pulumi.getter(name="groupId")
49
+ def group_id(self) -> pulumi.Input[_builtins.str]:
50
+ """
51
+ Group ID to assign policies to.
52
+ """
53
+ return pulumi.get(self, "group_id")
54
+
55
+ @group_id.setter
56
+ def group_id(self, value: pulumi.Input[_builtins.str]):
57
+ pulumi.set(self, "group_id", value)
58
+
59
+ @_builtins.property
60
+ @pulumi.getter
61
+ def policies(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
62
+ """
63
+ List of policies to assign to the group
64
+ """
65
+ return pulumi.get(self, "policies")
66
+
67
+ @policies.setter
68
+ def policies(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
69
+ pulumi.set(self, "policies", value)
70
+
71
+ @_builtins.property
72
+ @pulumi.getter
73
+ def exclusive(self) -> Optional[pulumi.Input[_builtins.bool]]:
74
+ """
75
+ Defaults to `true`.
76
+
77
+ If `true`, this resource will take exclusive control of the policies assigned to the group and will set it equal to what is specified in the resource.
78
+
79
+ If set to `false`, this resource will simply ensure that the policies specified in the resource are present in the group. When destroying the resource, the resource will ensure that the policies specified in the resource are removed.
80
+ """
81
+ return pulumi.get(self, "exclusive")
82
+
83
+ @exclusive.setter
84
+ def exclusive(self, value: Optional[pulumi.Input[_builtins.bool]]):
85
+ pulumi.set(self, "exclusive", value)
86
+
87
+ @_builtins.property
88
+ @pulumi.getter
89
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
90
+ """
91
+ The namespace to provision the resource in.
92
+ The value should not contain leading or trailing forward slashes.
93
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
94
+ *Available only for Vault Enterprise*.
95
+ """
96
+ return pulumi.get(self, "namespace")
97
+
98
+ @namespace.setter
99
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
100
+ pulumi.set(self, "namespace", value)
101
+
102
+
103
+ @pulumi.input_type
104
+ class _GroupPoliciesState:
105
+ def __init__(__self__, *,
106
+ exclusive: Optional[pulumi.Input[_builtins.bool]] = None,
107
+ group_id: Optional[pulumi.Input[_builtins.str]] = None,
108
+ group_name: Optional[pulumi.Input[_builtins.str]] = None,
109
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
110
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
111
+ """
112
+ Input properties used for looking up and filtering GroupPolicies resources.
113
+ :param pulumi.Input[_builtins.bool] exclusive: Defaults to `true`.
114
+
115
+ If `true`, this resource will take exclusive control of the policies assigned to the group and will set it equal to what is specified in the resource.
116
+
117
+ If set to `false`, this resource will simply ensure that the policies specified in the resource are present in the group. When destroying the resource, the resource will ensure that the policies specified in the resource are removed.
118
+ :param pulumi.Input[_builtins.str] group_id: Group ID to assign policies to.
119
+ :param pulumi.Input[_builtins.str] group_name: The name of the group that are assigned the policies.
120
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
121
+ The value should not contain leading or trailing forward slashes.
122
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
123
+ *Available only for Vault Enterprise*.
124
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policies: List of policies to assign to the group
125
+ """
126
+ if exclusive is not None:
127
+ pulumi.set(__self__, "exclusive", exclusive)
128
+ if group_id is not None:
129
+ pulumi.set(__self__, "group_id", group_id)
130
+ if group_name is not None:
131
+ pulumi.set(__self__, "group_name", group_name)
132
+ if namespace is not None:
133
+ pulumi.set(__self__, "namespace", namespace)
134
+ if policies is not None:
135
+ pulumi.set(__self__, "policies", policies)
136
+
137
+ @_builtins.property
138
+ @pulumi.getter
139
+ def exclusive(self) -> Optional[pulumi.Input[_builtins.bool]]:
140
+ """
141
+ Defaults to `true`.
142
+
143
+ If `true`, this resource will take exclusive control of the policies assigned to the group and will set it equal to what is specified in the resource.
144
+
145
+ If set to `false`, this resource will simply ensure that the policies specified in the resource are present in the group. When destroying the resource, the resource will ensure that the policies specified in the resource are removed.
146
+ """
147
+ return pulumi.get(self, "exclusive")
148
+
149
+ @exclusive.setter
150
+ def exclusive(self, value: Optional[pulumi.Input[_builtins.bool]]):
151
+ pulumi.set(self, "exclusive", value)
152
+
153
+ @_builtins.property
154
+ @pulumi.getter(name="groupId")
155
+ def group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
156
+ """
157
+ Group ID to assign policies to.
158
+ """
159
+ return pulumi.get(self, "group_id")
160
+
161
+ @group_id.setter
162
+ def group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
163
+ pulumi.set(self, "group_id", value)
164
+
165
+ @_builtins.property
166
+ @pulumi.getter(name="groupName")
167
+ def group_name(self) -> Optional[pulumi.Input[_builtins.str]]:
168
+ """
169
+ The name of the group that are assigned the policies.
170
+ """
171
+ return pulumi.get(self, "group_name")
172
+
173
+ @group_name.setter
174
+ def group_name(self, value: Optional[pulumi.Input[_builtins.str]]):
175
+ pulumi.set(self, "group_name", value)
176
+
177
+ @_builtins.property
178
+ @pulumi.getter
179
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
180
+ """
181
+ The namespace to provision the resource in.
182
+ The value should not contain leading or trailing forward slashes.
183
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
184
+ *Available only for Vault Enterprise*.
185
+ """
186
+ return pulumi.get(self, "namespace")
187
+
188
+ @namespace.setter
189
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
190
+ pulumi.set(self, "namespace", value)
191
+
192
+ @_builtins.property
193
+ @pulumi.getter
194
+ def policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
195
+ """
196
+ List of policies to assign to the group
197
+ """
198
+ return pulumi.get(self, "policies")
199
+
200
+ @policies.setter
201
+ def policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
202
+ pulumi.set(self, "policies", value)
203
+
204
+
205
+ @pulumi.type_token("vault:identity/groupPolicies:GroupPolicies")
206
+ class GroupPolicies(pulumi.CustomResource):
207
+ @overload
208
+ def __init__(__self__,
209
+ resource_name: str,
210
+ opts: Optional[pulumi.ResourceOptions] = None,
211
+ exclusive: Optional[pulumi.Input[_builtins.bool]] = None,
212
+ group_id: Optional[pulumi.Input[_builtins.str]] = None,
213
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
214
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
215
+ __props__=None):
216
+ """
217
+ Manages policies for an Identity Group for Vault. The [Identity secrets engine](https://www.vaultproject.io/docs/secrets/identity/index.html) is the identity management solution for Vault.
218
+
219
+ ## Example Usage
220
+
221
+ ### Exclusive Policies
222
+
223
+ ```python
224
+ import pulumi
225
+ import pulumi_vault as vault
226
+
227
+ internal = vault.identity.Group("internal",
228
+ name="internal",
229
+ type="internal",
230
+ external_policies=True,
231
+ metadata={
232
+ "version": "2",
233
+ })
234
+ policies = vault.identity.GroupPolicies("policies",
235
+ policies=[
236
+ "default",
237
+ "test",
238
+ ],
239
+ exclusive=True,
240
+ group_id=internal.id)
241
+ ```
242
+
243
+ ### Non-exclusive Policies
244
+
245
+ ```python
246
+ import pulumi
247
+ import pulumi_vault as vault
248
+
249
+ internal = vault.identity.Group("internal",
250
+ name="internal",
251
+ type="internal",
252
+ external_policies=True,
253
+ metadata={
254
+ "version": "2",
255
+ })
256
+ default = vault.identity.GroupPolicies("default",
257
+ policies=[
258
+ "default",
259
+ "test",
260
+ ],
261
+ exclusive=False,
262
+ group_id=internal.id)
263
+ others = vault.identity.GroupPolicies("others",
264
+ policies=["others"],
265
+ exclusive=False,
266
+ group_id=internal.id)
267
+ ```
268
+
269
+ :param str resource_name: The name of the resource.
270
+ :param pulumi.ResourceOptions opts: Options for the resource.
271
+ :param pulumi.Input[_builtins.bool] exclusive: Defaults to `true`.
272
+
273
+ If `true`, this resource will take exclusive control of the policies assigned to the group and will set it equal to what is specified in the resource.
274
+
275
+ If set to `false`, this resource will simply ensure that the policies specified in the resource are present in the group. When destroying the resource, the resource will ensure that the policies specified in the resource are removed.
276
+ :param pulumi.Input[_builtins.str] group_id: Group ID to assign policies to.
277
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
278
+ The value should not contain leading or trailing forward slashes.
279
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
280
+ *Available only for Vault Enterprise*.
281
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policies: List of policies to assign to the group
282
+ """
283
+ ...
284
+ @overload
285
+ def __init__(__self__,
286
+ resource_name: str,
287
+ args: GroupPoliciesArgs,
288
+ opts: Optional[pulumi.ResourceOptions] = None):
289
+ """
290
+ Manages policies for an Identity Group for Vault. The [Identity secrets engine](https://www.vaultproject.io/docs/secrets/identity/index.html) is the identity management solution for Vault.
291
+
292
+ ## Example Usage
293
+
294
+ ### Exclusive Policies
295
+
296
+ ```python
297
+ import pulumi
298
+ import pulumi_vault as vault
299
+
300
+ internal = vault.identity.Group("internal",
301
+ name="internal",
302
+ type="internal",
303
+ external_policies=True,
304
+ metadata={
305
+ "version": "2",
306
+ })
307
+ policies = vault.identity.GroupPolicies("policies",
308
+ policies=[
309
+ "default",
310
+ "test",
311
+ ],
312
+ exclusive=True,
313
+ group_id=internal.id)
314
+ ```
315
+
316
+ ### Non-exclusive Policies
317
+
318
+ ```python
319
+ import pulumi
320
+ import pulumi_vault as vault
321
+
322
+ internal = vault.identity.Group("internal",
323
+ name="internal",
324
+ type="internal",
325
+ external_policies=True,
326
+ metadata={
327
+ "version": "2",
328
+ })
329
+ default = vault.identity.GroupPolicies("default",
330
+ policies=[
331
+ "default",
332
+ "test",
333
+ ],
334
+ exclusive=False,
335
+ group_id=internal.id)
336
+ others = vault.identity.GroupPolicies("others",
337
+ policies=["others"],
338
+ exclusive=False,
339
+ group_id=internal.id)
340
+ ```
341
+
342
+ :param str resource_name: The name of the resource.
343
+ :param GroupPoliciesArgs args: The arguments to use to populate this resource's properties.
344
+ :param pulumi.ResourceOptions opts: Options for the resource.
345
+ """
346
+ ...
347
+ def __init__(__self__, resource_name: str, *args, **kwargs):
348
+ resource_args, opts = _utilities.get_resource_args_opts(GroupPoliciesArgs, pulumi.ResourceOptions, *args, **kwargs)
349
+ if resource_args is not None:
350
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
351
+ else:
352
+ __self__._internal_init(resource_name, *args, **kwargs)
353
+
354
+ def _internal_init(__self__,
355
+ resource_name: str,
356
+ opts: Optional[pulumi.ResourceOptions] = None,
357
+ exclusive: Optional[pulumi.Input[_builtins.bool]] = None,
358
+ group_id: Optional[pulumi.Input[_builtins.str]] = None,
359
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
360
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
361
+ __props__=None):
362
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
363
+ if not isinstance(opts, pulumi.ResourceOptions):
364
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
365
+ if opts.id is None:
366
+ if __props__ is not None:
367
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
368
+ __props__ = GroupPoliciesArgs.__new__(GroupPoliciesArgs)
369
+
370
+ __props__.__dict__["exclusive"] = exclusive
371
+ if group_id is None and not opts.urn:
372
+ raise TypeError("Missing required property 'group_id'")
373
+ __props__.__dict__["group_id"] = group_id
374
+ __props__.__dict__["namespace"] = namespace
375
+ if policies is None and not opts.urn:
376
+ raise TypeError("Missing required property 'policies'")
377
+ __props__.__dict__["policies"] = policies
378
+ __props__.__dict__["group_name"] = None
379
+ super(GroupPolicies, __self__).__init__(
380
+ 'vault:identity/groupPolicies:GroupPolicies',
381
+ resource_name,
382
+ __props__,
383
+ opts)
384
+
385
+ @staticmethod
386
+ def get(resource_name: str,
387
+ id: pulumi.Input[str],
388
+ opts: Optional[pulumi.ResourceOptions] = None,
389
+ exclusive: Optional[pulumi.Input[_builtins.bool]] = None,
390
+ group_id: Optional[pulumi.Input[_builtins.str]] = None,
391
+ group_name: Optional[pulumi.Input[_builtins.str]] = None,
392
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
393
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'GroupPolicies':
394
+ """
395
+ Get an existing GroupPolicies resource's state with the given name, id, and optional extra
396
+ properties used to qualify the lookup.
397
+
398
+ :param str resource_name: The unique name of the resulting resource.
399
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
400
+ :param pulumi.ResourceOptions opts: Options for the resource.
401
+ :param pulumi.Input[_builtins.bool] exclusive: Defaults to `true`.
402
+
403
+ If `true`, this resource will take exclusive control of the policies assigned to the group and will set it equal to what is specified in the resource.
404
+
405
+ If set to `false`, this resource will simply ensure that the policies specified in the resource are present in the group. When destroying the resource, the resource will ensure that the policies specified in the resource are removed.
406
+ :param pulumi.Input[_builtins.str] group_id: Group ID to assign policies to.
407
+ :param pulumi.Input[_builtins.str] group_name: The name of the group that are assigned the policies.
408
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
409
+ The value should not contain leading or trailing forward slashes.
410
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
411
+ *Available only for Vault Enterprise*.
412
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policies: List of policies to assign to the group
413
+ """
414
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
415
+
416
+ __props__ = _GroupPoliciesState.__new__(_GroupPoliciesState)
417
+
418
+ __props__.__dict__["exclusive"] = exclusive
419
+ __props__.__dict__["group_id"] = group_id
420
+ __props__.__dict__["group_name"] = group_name
421
+ __props__.__dict__["namespace"] = namespace
422
+ __props__.__dict__["policies"] = policies
423
+ return GroupPolicies(resource_name, opts=opts, __props__=__props__)
424
+
425
+ @_builtins.property
426
+ @pulumi.getter
427
+ def exclusive(self) -> pulumi.Output[Optional[_builtins.bool]]:
428
+ """
429
+ Defaults to `true`.
430
+
431
+ If `true`, this resource will take exclusive control of the policies assigned to the group and will set it equal to what is specified in the resource.
432
+
433
+ If set to `false`, this resource will simply ensure that the policies specified in the resource are present in the group. When destroying the resource, the resource will ensure that the policies specified in the resource are removed.
434
+ """
435
+ return pulumi.get(self, "exclusive")
436
+
437
+ @_builtins.property
438
+ @pulumi.getter(name="groupId")
439
+ def group_id(self) -> pulumi.Output[_builtins.str]:
440
+ """
441
+ Group ID to assign policies to.
442
+ """
443
+ return pulumi.get(self, "group_id")
444
+
445
+ @_builtins.property
446
+ @pulumi.getter(name="groupName")
447
+ def group_name(self) -> pulumi.Output[_builtins.str]:
448
+ """
449
+ The name of the group that are assigned the policies.
450
+ """
451
+ return pulumi.get(self, "group_name")
452
+
453
+ @_builtins.property
454
+ @pulumi.getter
455
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
456
+ """
457
+ The namespace to provision the resource in.
458
+ The value should not contain leading or trailing forward slashes.
459
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
460
+ *Available only for Vault Enterprise*.
461
+ """
462
+ return pulumi.get(self, "namespace")
463
+
464
+ @_builtins.property
465
+ @pulumi.getter
466
+ def policies(self) -> pulumi.Output[Sequence[_builtins.str]]:
467
+ """
468
+ List of policies to assign to the group
469
+ """
470
+ return pulumi.get(self, "policies")
471
+