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,805 @@
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__ = ['GroupArgs', 'Group']
18
+
19
+ @pulumi.input_type
20
+ class GroupArgs:
21
+ def __init__(__self__, *,
22
+ external_member_entity_ids: Optional[pulumi.Input[_builtins.bool]] = None,
23
+ external_member_group_ids: Optional[pulumi.Input[_builtins.bool]] = None,
24
+ external_policies: Optional[pulumi.Input[_builtins.bool]] = None,
25
+ member_entity_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
26
+ member_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
27
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
28
+ name: Optional[pulumi.Input[_builtins.str]] = None,
29
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
30
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
31
+ type: Optional[pulumi.Input[_builtins.str]] = None):
32
+ """
33
+ The set of arguments for constructing a Group resource.
34
+ :param pulumi.Input[_builtins.bool] external_member_entity_ids: `false` by default. If set to `true`, this resource will ignore any Entity IDs
35
+ returned from Vault or specified in the resource. You can use
36
+ `identity.GroupMemberEntityIds` to manage Entity IDs for this group in a
37
+ decoupled manner.
38
+ :param pulumi.Input[_builtins.bool] external_member_group_ids: `false` by default. If set to `true`, this resource will ignore any Group IDs
39
+ returned from Vault or specified in the resource. You can use
40
+ `identity.GroupMemberGroupIds` to manage Group IDs for this group in a
41
+ decoupled manner.
42
+ :param pulumi.Input[_builtins.bool] external_policies: `false` by default. If set to `true`, this resource will ignore any policies returned from
43
+ Vault or specified in the resource. You can use `identity.GroupPolicies` to manage
44
+ policies for this group in a decoupled manner.
45
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] member_entity_ids: A list of Entity IDs to be assigned as group members. Not allowed on `external` groups.
46
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] member_group_ids: A list of Group IDs to be assigned as group members. Not allowed on `external` groups.
47
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] metadata: A Map of additional metadata to associate with the group.
48
+ :param pulumi.Input[_builtins.str] name: Name of the identity group to create.
49
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
50
+ The value should not contain leading or trailing forward slashes.
51
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
52
+ *Available only for Vault Enterprise*.
53
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policies: A list of policies to apply to the group.
54
+ :param pulumi.Input[_builtins.str] type: Type of the group, internal or external. Defaults to `internal`.
55
+ """
56
+ if external_member_entity_ids is not None:
57
+ pulumi.set(__self__, "external_member_entity_ids", external_member_entity_ids)
58
+ if external_member_group_ids is not None:
59
+ pulumi.set(__self__, "external_member_group_ids", external_member_group_ids)
60
+ if external_policies is not None:
61
+ pulumi.set(__self__, "external_policies", external_policies)
62
+ if member_entity_ids is not None:
63
+ pulumi.set(__self__, "member_entity_ids", member_entity_ids)
64
+ if member_group_ids is not None:
65
+ pulumi.set(__self__, "member_group_ids", member_group_ids)
66
+ if metadata is not None:
67
+ pulumi.set(__self__, "metadata", metadata)
68
+ if name is not None:
69
+ pulumi.set(__self__, "name", name)
70
+ if namespace is not None:
71
+ pulumi.set(__self__, "namespace", namespace)
72
+ if policies is not None:
73
+ pulumi.set(__self__, "policies", policies)
74
+ if type is not None:
75
+ pulumi.set(__self__, "type", type)
76
+
77
+ @_builtins.property
78
+ @pulumi.getter(name="externalMemberEntityIds")
79
+ def external_member_entity_ids(self) -> Optional[pulumi.Input[_builtins.bool]]:
80
+ """
81
+ `false` by default. If set to `true`, this resource will ignore any Entity IDs
82
+ returned from Vault or specified in the resource. You can use
83
+ `identity.GroupMemberEntityIds` to manage Entity IDs for this group in a
84
+ decoupled manner.
85
+ """
86
+ return pulumi.get(self, "external_member_entity_ids")
87
+
88
+ @external_member_entity_ids.setter
89
+ def external_member_entity_ids(self, value: Optional[pulumi.Input[_builtins.bool]]):
90
+ pulumi.set(self, "external_member_entity_ids", value)
91
+
92
+ @_builtins.property
93
+ @pulumi.getter(name="externalMemberGroupIds")
94
+ def external_member_group_ids(self) -> Optional[pulumi.Input[_builtins.bool]]:
95
+ """
96
+ `false` by default. If set to `true`, this resource will ignore any Group IDs
97
+ returned from Vault or specified in the resource. You can use
98
+ `identity.GroupMemberGroupIds` to manage Group IDs for this group in a
99
+ decoupled manner.
100
+ """
101
+ return pulumi.get(self, "external_member_group_ids")
102
+
103
+ @external_member_group_ids.setter
104
+ def external_member_group_ids(self, value: Optional[pulumi.Input[_builtins.bool]]):
105
+ pulumi.set(self, "external_member_group_ids", value)
106
+
107
+ @_builtins.property
108
+ @pulumi.getter(name="externalPolicies")
109
+ def external_policies(self) -> Optional[pulumi.Input[_builtins.bool]]:
110
+ """
111
+ `false` by default. If set to `true`, this resource will ignore any policies returned from
112
+ Vault or specified in the resource. You can use `identity.GroupPolicies` to manage
113
+ policies for this group in a decoupled manner.
114
+ """
115
+ return pulumi.get(self, "external_policies")
116
+
117
+ @external_policies.setter
118
+ def external_policies(self, value: Optional[pulumi.Input[_builtins.bool]]):
119
+ pulumi.set(self, "external_policies", value)
120
+
121
+ @_builtins.property
122
+ @pulumi.getter(name="memberEntityIds")
123
+ def member_entity_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
124
+ """
125
+ A list of Entity IDs to be assigned as group members. Not allowed on `external` groups.
126
+ """
127
+ return pulumi.get(self, "member_entity_ids")
128
+
129
+ @member_entity_ids.setter
130
+ def member_entity_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
131
+ pulumi.set(self, "member_entity_ids", value)
132
+
133
+ @_builtins.property
134
+ @pulumi.getter(name="memberGroupIds")
135
+ def member_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
136
+ """
137
+ A list of Group IDs to be assigned as group members. Not allowed on `external` groups.
138
+ """
139
+ return pulumi.get(self, "member_group_ids")
140
+
141
+ @member_group_ids.setter
142
+ def member_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
143
+ pulumi.set(self, "member_group_ids", value)
144
+
145
+ @_builtins.property
146
+ @pulumi.getter
147
+ def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
148
+ """
149
+ A Map of additional metadata to associate with the group.
150
+ """
151
+ return pulumi.get(self, "metadata")
152
+
153
+ @metadata.setter
154
+ def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
155
+ pulumi.set(self, "metadata", value)
156
+
157
+ @_builtins.property
158
+ @pulumi.getter
159
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
160
+ """
161
+ Name of the identity group to create.
162
+ """
163
+ return pulumi.get(self, "name")
164
+
165
+ @name.setter
166
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
167
+ pulumi.set(self, "name", value)
168
+
169
+ @_builtins.property
170
+ @pulumi.getter
171
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
172
+ """
173
+ The namespace to provision the resource in.
174
+ The value should not contain leading or trailing forward slashes.
175
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
176
+ *Available only for Vault Enterprise*.
177
+ """
178
+ return pulumi.get(self, "namespace")
179
+
180
+ @namespace.setter
181
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
182
+ pulumi.set(self, "namespace", value)
183
+
184
+ @_builtins.property
185
+ @pulumi.getter
186
+ def policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
187
+ """
188
+ A list of policies to apply to the group.
189
+ """
190
+ return pulumi.get(self, "policies")
191
+
192
+ @policies.setter
193
+ def policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
194
+ pulumi.set(self, "policies", value)
195
+
196
+ @_builtins.property
197
+ @pulumi.getter
198
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
199
+ """
200
+ Type of the group, internal or external. Defaults to `internal`.
201
+ """
202
+ return pulumi.get(self, "type")
203
+
204
+ @type.setter
205
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
206
+ pulumi.set(self, "type", value)
207
+
208
+
209
+ @pulumi.input_type
210
+ class _GroupState:
211
+ def __init__(__self__, *,
212
+ external_member_entity_ids: Optional[pulumi.Input[_builtins.bool]] = None,
213
+ external_member_group_ids: Optional[pulumi.Input[_builtins.bool]] = None,
214
+ external_policies: Optional[pulumi.Input[_builtins.bool]] = None,
215
+ member_entity_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
216
+ member_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
217
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
218
+ name: Optional[pulumi.Input[_builtins.str]] = None,
219
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
220
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
221
+ type: Optional[pulumi.Input[_builtins.str]] = None):
222
+ """
223
+ Input properties used for looking up and filtering Group resources.
224
+ :param pulumi.Input[_builtins.bool] external_member_entity_ids: `false` by default. If set to `true`, this resource will ignore any Entity IDs
225
+ returned from Vault or specified in the resource. You can use
226
+ `identity.GroupMemberEntityIds` to manage Entity IDs for this group in a
227
+ decoupled manner.
228
+ :param pulumi.Input[_builtins.bool] external_member_group_ids: `false` by default. If set to `true`, this resource will ignore any Group IDs
229
+ returned from Vault or specified in the resource. You can use
230
+ `identity.GroupMemberGroupIds` to manage Group IDs for this group in a
231
+ decoupled manner.
232
+ :param pulumi.Input[_builtins.bool] external_policies: `false` by default. If set to `true`, this resource will ignore any policies returned from
233
+ Vault or specified in the resource. You can use `identity.GroupPolicies` to manage
234
+ policies for this group in a decoupled manner.
235
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] member_entity_ids: A list of Entity IDs to be assigned as group members. Not allowed on `external` groups.
236
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] member_group_ids: A list of Group IDs to be assigned as group members. Not allowed on `external` groups.
237
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] metadata: A Map of additional metadata to associate with the group.
238
+ :param pulumi.Input[_builtins.str] name: Name of the identity group to create.
239
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
240
+ The value should not contain leading or trailing forward slashes.
241
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
242
+ *Available only for Vault Enterprise*.
243
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policies: A list of policies to apply to the group.
244
+ :param pulumi.Input[_builtins.str] type: Type of the group, internal or external. Defaults to `internal`.
245
+ """
246
+ if external_member_entity_ids is not None:
247
+ pulumi.set(__self__, "external_member_entity_ids", external_member_entity_ids)
248
+ if external_member_group_ids is not None:
249
+ pulumi.set(__self__, "external_member_group_ids", external_member_group_ids)
250
+ if external_policies is not None:
251
+ pulumi.set(__self__, "external_policies", external_policies)
252
+ if member_entity_ids is not None:
253
+ pulumi.set(__self__, "member_entity_ids", member_entity_ids)
254
+ if member_group_ids is not None:
255
+ pulumi.set(__self__, "member_group_ids", member_group_ids)
256
+ if metadata is not None:
257
+ pulumi.set(__self__, "metadata", metadata)
258
+ if name is not None:
259
+ pulumi.set(__self__, "name", name)
260
+ if namespace is not None:
261
+ pulumi.set(__self__, "namespace", namespace)
262
+ if policies is not None:
263
+ pulumi.set(__self__, "policies", policies)
264
+ if type is not None:
265
+ pulumi.set(__self__, "type", type)
266
+
267
+ @_builtins.property
268
+ @pulumi.getter(name="externalMemberEntityIds")
269
+ def external_member_entity_ids(self) -> Optional[pulumi.Input[_builtins.bool]]:
270
+ """
271
+ `false` by default. If set to `true`, this resource will ignore any Entity IDs
272
+ returned from Vault or specified in the resource. You can use
273
+ `identity.GroupMemberEntityIds` to manage Entity IDs for this group in a
274
+ decoupled manner.
275
+ """
276
+ return pulumi.get(self, "external_member_entity_ids")
277
+
278
+ @external_member_entity_ids.setter
279
+ def external_member_entity_ids(self, value: Optional[pulumi.Input[_builtins.bool]]):
280
+ pulumi.set(self, "external_member_entity_ids", value)
281
+
282
+ @_builtins.property
283
+ @pulumi.getter(name="externalMemberGroupIds")
284
+ def external_member_group_ids(self) -> Optional[pulumi.Input[_builtins.bool]]:
285
+ """
286
+ `false` by default. If set to `true`, this resource will ignore any Group IDs
287
+ returned from Vault or specified in the resource. You can use
288
+ `identity.GroupMemberGroupIds` to manage Group IDs for this group in a
289
+ decoupled manner.
290
+ """
291
+ return pulumi.get(self, "external_member_group_ids")
292
+
293
+ @external_member_group_ids.setter
294
+ def external_member_group_ids(self, value: Optional[pulumi.Input[_builtins.bool]]):
295
+ pulumi.set(self, "external_member_group_ids", value)
296
+
297
+ @_builtins.property
298
+ @pulumi.getter(name="externalPolicies")
299
+ def external_policies(self) -> Optional[pulumi.Input[_builtins.bool]]:
300
+ """
301
+ `false` by default. If set to `true`, this resource will ignore any policies returned from
302
+ Vault or specified in the resource. You can use `identity.GroupPolicies` to manage
303
+ policies for this group in a decoupled manner.
304
+ """
305
+ return pulumi.get(self, "external_policies")
306
+
307
+ @external_policies.setter
308
+ def external_policies(self, value: Optional[pulumi.Input[_builtins.bool]]):
309
+ pulumi.set(self, "external_policies", value)
310
+
311
+ @_builtins.property
312
+ @pulumi.getter(name="memberEntityIds")
313
+ def member_entity_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
314
+ """
315
+ A list of Entity IDs to be assigned as group members. Not allowed on `external` groups.
316
+ """
317
+ return pulumi.get(self, "member_entity_ids")
318
+
319
+ @member_entity_ids.setter
320
+ def member_entity_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
321
+ pulumi.set(self, "member_entity_ids", value)
322
+
323
+ @_builtins.property
324
+ @pulumi.getter(name="memberGroupIds")
325
+ def member_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
326
+ """
327
+ A list of Group IDs to be assigned as group members. Not allowed on `external` groups.
328
+ """
329
+ return pulumi.get(self, "member_group_ids")
330
+
331
+ @member_group_ids.setter
332
+ def member_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
333
+ pulumi.set(self, "member_group_ids", value)
334
+
335
+ @_builtins.property
336
+ @pulumi.getter
337
+ def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
338
+ """
339
+ A Map of additional metadata to associate with the group.
340
+ """
341
+ return pulumi.get(self, "metadata")
342
+
343
+ @metadata.setter
344
+ def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
345
+ pulumi.set(self, "metadata", value)
346
+
347
+ @_builtins.property
348
+ @pulumi.getter
349
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
350
+ """
351
+ Name of the identity group to create.
352
+ """
353
+ return pulumi.get(self, "name")
354
+
355
+ @name.setter
356
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
357
+ pulumi.set(self, "name", value)
358
+
359
+ @_builtins.property
360
+ @pulumi.getter
361
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
362
+ """
363
+ The namespace to provision the resource in.
364
+ The value should not contain leading or trailing forward slashes.
365
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
366
+ *Available only for Vault Enterprise*.
367
+ """
368
+ return pulumi.get(self, "namespace")
369
+
370
+ @namespace.setter
371
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
372
+ pulumi.set(self, "namespace", value)
373
+
374
+ @_builtins.property
375
+ @pulumi.getter
376
+ def policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
377
+ """
378
+ A list of policies to apply to the group.
379
+ """
380
+ return pulumi.get(self, "policies")
381
+
382
+ @policies.setter
383
+ def policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
384
+ pulumi.set(self, "policies", value)
385
+
386
+ @_builtins.property
387
+ @pulumi.getter
388
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
389
+ """
390
+ Type of the group, internal or external. Defaults to `internal`.
391
+ """
392
+ return pulumi.get(self, "type")
393
+
394
+ @type.setter
395
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
396
+ pulumi.set(self, "type", value)
397
+
398
+
399
+ @pulumi.type_token("vault:identity/group:Group")
400
+ class Group(pulumi.CustomResource):
401
+ @overload
402
+ def __init__(__self__,
403
+ resource_name: str,
404
+ opts: Optional[pulumi.ResourceOptions] = None,
405
+ external_member_entity_ids: Optional[pulumi.Input[_builtins.bool]] = None,
406
+ external_member_group_ids: Optional[pulumi.Input[_builtins.bool]] = None,
407
+ external_policies: Optional[pulumi.Input[_builtins.bool]] = None,
408
+ member_entity_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
409
+ member_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
410
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
411
+ name: Optional[pulumi.Input[_builtins.str]] = None,
412
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
413
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
414
+ type: Optional[pulumi.Input[_builtins.str]] = None,
415
+ __props__=None):
416
+ """
417
+ Creates 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.
418
+
419
+ A group can contain multiple entities as its members. A group can also have subgroups. Policies set on the group is granted to all members of the group. During request time, when the token's entity ID is being evaluated for the policies that it has access to; along with the policies on the entity itself, policies that are inherited due to group memberships are also granted.
420
+
421
+ ## Example Usage
422
+
423
+ ### Internal Group
424
+
425
+ ```python
426
+ import pulumi
427
+ import pulumi_vault as vault
428
+
429
+ internal = vault.identity.Group("internal",
430
+ name="internal",
431
+ type="internal",
432
+ policies=[
433
+ "dev",
434
+ "test",
435
+ ],
436
+ metadata={
437
+ "version": "2",
438
+ })
439
+ ```
440
+
441
+ ### External Group
442
+
443
+ ```python
444
+ import pulumi
445
+ import pulumi_vault as vault
446
+
447
+ group = vault.identity.Group("group",
448
+ name="external",
449
+ type="external",
450
+ policies=["test"],
451
+ metadata={
452
+ "version": "1",
453
+ })
454
+ ```
455
+
456
+ ## Caveats
457
+
458
+ It's important to note that Vault identity groups names are *case-insensitive*. For example the following resources would be equivalent.
459
+ Applying this configuration would result in the provider failing to create one of the identity groups, since the resources share the same `name`.
460
+
461
+ This sort of pattern should be avoided:
462
+ ```python
463
+ import pulumi
464
+ import pulumi_vault as vault
465
+
466
+ internal = vault.identity.Group("internal",
467
+ name="internal",
468
+ type="internal",
469
+ policies=[
470
+ "dev",
471
+ "test",
472
+ ],
473
+ metadata={
474
+ "version": "2",
475
+ })
476
+ internal_group = vault.identity.Group("Internal",
477
+ name="Internal",
478
+ type="internal",
479
+ policies=[
480
+ "dev",
481
+ "test",
482
+ ],
483
+ metadata={
484
+ "version": "2",
485
+ })
486
+ ```
487
+
488
+ ## Import
489
+
490
+ Identity group can be imported using the `id`, e.g.
491
+
492
+ ```sh
493
+ $ pulumi import vault:identity/group:Group test 'fcbf1efb-2b69-4209-bed8-811e3475dad3'
494
+ ```
495
+
496
+ :param str resource_name: The name of the resource.
497
+ :param pulumi.ResourceOptions opts: Options for the resource.
498
+ :param pulumi.Input[_builtins.bool] external_member_entity_ids: `false` by default. If set to `true`, this resource will ignore any Entity IDs
499
+ returned from Vault or specified in the resource. You can use
500
+ `identity.GroupMemberEntityIds` to manage Entity IDs for this group in a
501
+ decoupled manner.
502
+ :param pulumi.Input[_builtins.bool] external_member_group_ids: `false` by default. If set to `true`, this resource will ignore any Group IDs
503
+ returned from Vault or specified in the resource. You can use
504
+ `identity.GroupMemberGroupIds` to manage Group IDs for this group in a
505
+ decoupled manner.
506
+ :param pulumi.Input[_builtins.bool] external_policies: `false` by default. If set to `true`, this resource will ignore any policies returned from
507
+ Vault or specified in the resource. You can use `identity.GroupPolicies` to manage
508
+ policies for this group in a decoupled manner.
509
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] member_entity_ids: A list of Entity IDs to be assigned as group members. Not allowed on `external` groups.
510
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] member_group_ids: A list of Group IDs to be assigned as group members. Not allowed on `external` groups.
511
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] metadata: A Map of additional metadata to associate with the group.
512
+ :param pulumi.Input[_builtins.str] name: Name of the identity group to create.
513
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
514
+ The value should not contain leading or trailing forward slashes.
515
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
516
+ *Available only for Vault Enterprise*.
517
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policies: A list of policies to apply to the group.
518
+ :param pulumi.Input[_builtins.str] type: Type of the group, internal or external. Defaults to `internal`.
519
+ """
520
+ ...
521
+ @overload
522
+ def __init__(__self__,
523
+ resource_name: str,
524
+ args: Optional[GroupArgs] = None,
525
+ opts: Optional[pulumi.ResourceOptions] = None):
526
+ """
527
+ Creates 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.
528
+
529
+ A group can contain multiple entities as its members. A group can also have subgroups. Policies set on the group is granted to all members of the group. During request time, when the token's entity ID is being evaluated for the policies that it has access to; along with the policies on the entity itself, policies that are inherited due to group memberships are also granted.
530
+
531
+ ## Example Usage
532
+
533
+ ### Internal Group
534
+
535
+ ```python
536
+ import pulumi
537
+ import pulumi_vault as vault
538
+
539
+ internal = vault.identity.Group("internal",
540
+ name="internal",
541
+ type="internal",
542
+ policies=[
543
+ "dev",
544
+ "test",
545
+ ],
546
+ metadata={
547
+ "version": "2",
548
+ })
549
+ ```
550
+
551
+ ### External Group
552
+
553
+ ```python
554
+ import pulumi
555
+ import pulumi_vault as vault
556
+
557
+ group = vault.identity.Group("group",
558
+ name="external",
559
+ type="external",
560
+ policies=["test"],
561
+ metadata={
562
+ "version": "1",
563
+ })
564
+ ```
565
+
566
+ ## Caveats
567
+
568
+ It's important to note that Vault identity groups names are *case-insensitive*. For example the following resources would be equivalent.
569
+ Applying this configuration would result in the provider failing to create one of the identity groups, since the resources share the same `name`.
570
+
571
+ This sort of pattern should be avoided:
572
+ ```python
573
+ import pulumi
574
+ import pulumi_vault as vault
575
+
576
+ internal = vault.identity.Group("internal",
577
+ name="internal",
578
+ type="internal",
579
+ policies=[
580
+ "dev",
581
+ "test",
582
+ ],
583
+ metadata={
584
+ "version": "2",
585
+ })
586
+ internal_group = vault.identity.Group("Internal",
587
+ name="Internal",
588
+ type="internal",
589
+ policies=[
590
+ "dev",
591
+ "test",
592
+ ],
593
+ metadata={
594
+ "version": "2",
595
+ })
596
+ ```
597
+
598
+ ## Import
599
+
600
+ Identity group can be imported using the `id`, e.g.
601
+
602
+ ```sh
603
+ $ pulumi import vault:identity/group:Group test 'fcbf1efb-2b69-4209-bed8-811e3475dad3'
604
+ ```
605
+
606
+ :param str resource_name: The name of the resource.
607
+ :param GroupArgs args: The arguments to use to populate this resource's properties.
608
+ :param pulumi.ResourceOptions opts: Options for the resource.
609
+ """
610
+ ...
611
+ def __init__(__self__, resource_name: str, *args, **kwargs):
612
+ resource_args, opts = _utilities.get_resource_args_opts(GroupArgs, pulumi.ResourceOptions, *args, **kwargs)
613
+ if resource_args is not None:
614
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
615
+ else:
616
+ __self__._internal_init(resource_name, *args, **kwargs)
617
+
618
+ def _internal_init(__self__,
619
+ resource_name: str,
620
+ opts: Optional[pulumi.ResourceOptions] = None,
621
+ external_member_entity_ids: Optional[pulumi.Input[_builtins.bool]] = None,
622
+ external_member_group_ids: Optional[pulumi.Input[_builtins.bool]] = None,
623
+ external_policies: Optional[pulumi.Input[_builtins.bool]] = None,
624
+ member_entity_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
625
+ member_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
626
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
627
+ name: Optional[pulumi.Input[_builtins.str]] = None,
628
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
629
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
630
+ type: Optional[pulumi.Input[_builtins.str]] = None,
631
+ __props__=None):
632
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
633
+ if not isinstance(opts, pulumi.ResourceOptions):
634
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
635
+ if opts.id is None:
636
+ if __props__ is not None:
637
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
638
+ __props__ = GroupArgs.__new__(GroupArgs)
639
+
640
+ __props__.__dict__["external_member_entity_ids"] = external_member_entity_ids
641
+ __props__.__dict__["external_member_group_ids"] = external_member_group_ids
642
+ __props__.__dict__["external_policies"] = external_policies
643
+ __props__.__dict__["member_entity_ids"] = member_entity_ids
644
+ __props__.__dict__["member_group_ids"] = member_group_ids
645
+ __props__.__dict__["metadata"] = metadata
646
+ __props__.__dict__["name"] = name
647
+ __props__.__dict__["namespace"] = namespace
648
+ __props__.__dict__["policies"] = policies
649
+ __props__.__dict__["type"] = type
650
+ super(Group, __self__).__init__(
651
+ 'vault:identity/group:Group',
652
+ resource_name,
653
+ __props__,
654
+ opts)
655
+
656
+ @staticmethod
657
+ def get(resource_name: str,
658
+ id: pulumi.Input[str],
659
+ opts: Optional[pulumi.ResourceOptions] = None,
660
+ external_member_entity_ids: Optional[pulumi.Input[_builtins.bool]] = None,
661
+ external_member_group_ids: Optional[pulumi.Input[_builtins.bool]] = None,
662
+ external_policies: Optional[pulumi.Input[_builtins.bool]] = None,
663
+ member_entity_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
664
+ member_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
665
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
666
+ name: Optional[pulumi.Input[_builtins.str]] = None,
667
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
668
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
669
+ type: Optional[pulumi.Input[_builtins.str]] = None) -> 'Group':
670
+ """
671
+ Get an existing Group resource's state with the given name, id, and optional extra
672
+ properties used to qualify the lookup.
673
+
674
+ :param str resource_name: The unique name of the resulting resource.
675
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
676
+ :param pulumi.ResourceOptions opts: Options for the resource.
677
+ :param pulumi.Input[_builtins.bool] external_member_entity_ids: `false` by default. If set to `true`, this resource will ignore any Entity IDs
678
+ returned from Vault or specified in the resource. You can use
679
+ `identity.GroupMemberEntityIds` to manage Entity IDs for this group in a
680
+ decoupled manner.
681
+ :param pulumi.Input[_builtins.bool] external_member_group_ids: `false` by default. If set to `true`, this resource will ignore any Group IDs
682
+ returned from Vault or specified in the resource. You can use
683
+ `identity.GroupMemberGroupIds` to manage Group IDs for this group in a
684
+ decoupled manner.
685
+ :param pulumi.Input[_builtins.bool] external_policies: `false` by default. If set to `true`, this resource will ignore any policies returned from
686
+ Vault or specified in the resource. You can use `identity.GroupPolicies` to manage
687
+ policies for this group in a decoupled manner.
688
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] member_entity_ids: A list of Entity IDs to be assigned as group members. Not allowed on `external` groups.
689
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] member_group_ids: A list of Group IDs to be assigned as group members. Not allowed on `external` groups.
690
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] metadata: A Map of additional metadata to associate with the group.
691
+ :param pulumi.Input[_builtins.str] name: Name of the identity group to create.
692
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
693
+ The value should not contain leading or trailing forward slashes.
694
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
695
+ *Available only for Vault Enterprise*.
696
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policies: A list of policies to apply to the group.
697
+ :param pulumi.Input[_builtins.str] type: Type of the group, internal or external. Defaults to `internal`.
698
+ """
699
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
700
+
701
+ __props__ = _GroupState.__new__(_GroupState)
702
+
703
+ __props__.__dict__["external_member_entity_ids"] = external_member_entity_ids
704
+ __props__.__dict__["external_member_group_ids"] = external_member_group_ids
705
+ __props__.__dict__["external_policies"] = external_policies
706
+ __props__.__dict__["member_entity_ids"] = member_entity_ids
707
+ __props__.__dict__["member_group_ids"] = member_group_ids
708
+ __props__.__dict__["metadata"] = metadata
709
+ __props__.__dict__["name"] = name
710
+ __props__.__dict__["namespace"] = namespace
711
+ __props__.__dict__["policies"] = policies
712
+ __props__.__dict__["type"] = type
713
+ return Group(resource_name, opts=opts, __props__=__props__)
714
+
715
+ @_builtins.property
716
+ @pulumi.getter(name="externalMemberEntityIds")
717
+ def external_member_entity_ids(self) -> pulumi.Output[Optional[_builtins.bool]]:
718
+ """
719
+ `false` by default. If set to `true`, this resource will ignore any Entity IDs
720
+ returned from Vault or specified in the resource. You can use
721
+ `identity.GroupMemberEntityIds` to manage Entity IDs for this group in a
722
+ decoupled manner.
723
+ """
724
+ return pulumi.get(self, "external_member_entity_ids")
725
+
726
+ @_builtins.property
727
+ @pulumi.getter(name="externalMemberGroupIds")
728
+ def external_member_group_ids(self) -> pulumi.Output[Optional[_builtins.bool]]:
729
+ """
730
+ `false` by default. If set to `true`, this resource will ignore any Group IDs
731
+ returned from Vault or specified in the resource. You can use
732
+ `identity.GroupMemberGroupIds` to manage Group IDs for this group in a
733
+ decoupled manner.
734
+ """
735
+ return pulumi.get(self, "external_member_group_ids")
736
+
737
+ @_builtins.property
738
+ @pulumi.getter(name="externalPolicies")
739
+ def external_policies(self) -> pulumi.Output[Optional[_builtins.bool]]:
740
+ """
741
+ `false` by default. If set to `true`, this resource will ignore any policies returned from
742
+ Vault or specified in the resource. You can use `identity.GroupPolicies` to manage
743
+ policies for this group in a decoupled manner.
744
+ """
745
+ return pulumi.get(self, "external_policies")
746
+
747
+ @_builtins.property
748
+ @pulumi.getter(name="memberEntityIds")
749
+ def member_entity_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
750
+ """
751
+ A list of Entity IDs to be assigned as group members. Not allowed on `external` groups.
752
+ """
753
+ return pulumi.get(self, "member_entity_ids")
754
+
755
+ @_builtins.property
756
+ @pulumi.getter(name="memberGroupIds")
757
+ def member_group_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
758
+ """
759
+ A list of Group IDs to be assigned as group members. Not allowed on `external` groups.
760
+ """
761
+ return pulumi.get(self, "member_group_ids")
762
+
763
+ @_builtins.property
764
+ @pulumi.getter
765
+ def metadata(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
766
+ """
767
+ A Map of additional metadata to associate with the group.
768
+ """
769
+ return pulumi.get(self, "metadata")
770
+
771
+ @_builtins.property
772
+ @pulumi.getter
773
+ def name(self) -> pulumi.Output[_builtins.str]:
774
+ """
775
+ Name of the identity group to create.
776
+ """
777
+ return pulumi.get(self, "name")
778
+
779
+ @_builtins.property
780
+ @pulumi.getter
781
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
782
+ """
783
+ The namespace to provision the resource in.
784
+ The value should not contain leading or trailing forward slashes.
785
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
786
+ *Available only for Vault Enterprise*.
787
+ """
788
+ return pulumi.get(self, "namespace")
789
+
790
+ @_builtins.property
791
+ @pulumi.getter
792
+ def policies(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
793
+ """
794
+ A list of policies to apply to the group.
795
+ """
796
+ return pulumi.get(self, "policies")
797
+
798
+ @_builtins.property
799
+ @pulumi.getter
800
+ def type(self) -> pulumi.Output[Optional[_builtins.str]]:
801
+ """
802
+ Type of the group, internal or external. Defaults to `internal`.
803
+ """
804
+ return pulumi.get(self, "type")
805
+