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,1235 @@
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__ = ['AuthBackendRoleArgs', 'AuthBackendRole']
18
+
19
+ @pulumi.input_type
20
+ class AuthBackendRoleArgs:
21
+ def __init__(__self__, *,
22
+ role: pulumi.Input[_builtins.str],
23
+ type: pulumi.Input[_builtins.str],
24
+ add_group_aliases: Optional[pulumi.Input[_builtins.bool]] = None,
25
+ alias_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
26
+ allow_gce_inference: Optional[pulumi.Input[_builtins.bool]] = None,
27
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
28
+ bound_instance_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
29
+ bound_labels: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
30
+ bound_projects: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
31
+ bound_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
32
+ bound_service_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
33
+ bound_zones: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
34
+ max_jwt_exp: Optional[pulumi.Input[_builtins.str]] = None,
35
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
36
+ role_id: Optional[pulumi.Input[_builtins.str]] = None,
37
+ token_bound_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
38
+ token_explicit_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
39
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
40
+ token_no_default_policy: Optional[pulumi.Input[_builtins.bool]] = None,
41
+ token_num_uses: Optional[pulumi.Input[_builtins.int]] = None,
42
+ token_period: Optional[pulumi.Input[_builtins.int]] = None,
43
+ token_policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
44
+ token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
45
+ token_type: Optional[pulumi.Input[_builtins.str]] = None):
46
+ """
47
+ The set of arguments for constructing a AuthBackendRole resource.
48
+ :param pulumi.Input[_builtins.str] role: Name of the GCP role
49
+ :param pulumi.Input[_builtins.str] type: Type of GCP authentication role (either `gce` or `iam`)
50
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] alias_metadata: The metadata to be tied to generated entity alias.
51
+ This should be a list or map containing the metadata in key value pairs.
52
+ :param pulumi.Input[_builtins.str] backend: Path to the mounted GCP auth backend
53
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_projects: An array of GCP project IDs. Only entities belonging to this project can authenticate under the role.
54
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_service_accounts: GCP Service Accounts allowed to issue tokens under this role. (Note: **Required** if role is `iam`)
55
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
56
+ The value should not contain leading or trailing forward slashes.
57
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
58
+ *Available only for Vault Enterprise*.
59
+ :param pulumi.Input[_builtins.str] role_id: The role_id is the stable, unique identifier for the role generated by vault.
60
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_bound_cidrs: Specifies the blocks of IP addresses which are allowed to use the generated token
61
+ :param pulumi.Input[_builtins.int] token_explicit_max_ttl: Generated Token's Explicit Maximum TTL in seconds
62
+ :param pulumi.Input[_builtins.int] token_max_ttl: The maximum lifetime of the generated token
63
+ :param pulumi.Input[_builtins.bool] token_no_default_policy: If true, the 'default' policy will not automatically be added to generated tokens
64
+ :param pulumi.Input[_builtins.int] token_num_uses: The maximum number of times a token may be used, a value of zero means unlimited
65
+ :param pulumi.Input[_builtins.int] token_period: Generated Token's Period
66
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_policies: Generated Token's Policies
67
+ :param pulumi.Input[_builtins.int] token_ttl: The initial ttl of the token to generate in seconds
68
+ :param pulumi.Input[_builtins.str] token_type: The type of token to generate, service or batch
69
+ """
70
+ pulumi.set(__self__, "role", role)
71
+ pulumi.set(__self__, "type", type)
72
+ if add_group_aliases is not None:
73
+ pulumi.set(__self__, "add_group_aliases", add_group_aliases)
74
+ if alias_metadata is not None:
75
+ pulumi.set(__self__, "alias_metadata", alias_metadata)
76
+ if allow_gce_inference is not None:
77
+ pulumi.set(__self__, "allow_gce_inference", allow_gce_inference)
78
+ if backend is not None:
79
+ pulumi.set(__self__, "backend", backend)
80
+ if bound_instance_groups is not None:
81
+ pulumi.set(__self__, "bound_instance_groups", bound_instance_groups)
82
+ if bound_labels is not None:
83
+ pulumi.set(__self__, "bound_labels", bound_labels)
84
+ if bound_projects is not None:
85
+ pulumi.set(__self__, "bound_projects", bound_projects)
86
+ if bound_regions is not None:
87
+ pulumi.set(__self__, "bound_regions", bound_regions)
88
+ if bound_service_accounts is not None:
89
+ pulumi.set(__self__, "bound_service_accounts", bound_service_accounts)
90
+ if bound_zones is not None:
91
+ pulumi.set(__self__, "bound_zones", bound_zones)
92
+ if max_jwt_exp is not None:
93
+ pulumi.set(__self__, "max_jwt_exp", max_jwt_exp)
94
+ if namespace is not None:
95
+ pulumi.set(__self__, "namespace", namespace)
96
+ if role_id is not None:
97
+ pulumi.set(__self__, "role_id", role_id)
98
+ if token_bound_cidrs is not None:
99
+ pulumi.set(__self__, "token_bound_cidrs", token_bound_cidrs)
100
+ if token_explicit_max_ttl is not None:
101
+ pulumi.set(__self__, "token_explicit_max_ttl", token_explicit_max_ttl)
102
+ if token_max_ttl is not None:
103
+ pulumi.set(__self__, "token_max_ttl", token_max_ttl)
104
+ if token_no_default_policy is not None:
105
+ pulumi.set(__self__, "token_no_default_policy", token_no_default_policy)
106
+ if token_num_uses is not None:
107
+ pulumi.set(__self__, "token_num_uses", token_num_uses)
108
+ if token_period is not None:
109
+ pulumi.set(__self__, "token_period", token_period)
110
+ if token_policies is not None:
111
+ pulumi.set(__self__, "token_policies", token_policies)
112
+ if token_ttl is not None:
113
+ pulumi.set(__self__, "token_ttl", token_ttl)
114
+ if token_type is not None:
115
+ pulumi.set(__self__, "token_type", token_type)
116
+
117
+ @_builtins.property
118
+ @pulumi.getter
119
+ def role(self) -> pulumi.Input[_builtins.str]:
120
+ """
121
+ Name of the GCP role
122
+ """
123
+ return pulumi.get(self, "role")
124
+
125
+ @role.setter
126
+ def role(self, value: pulumi.Input[_builtins.str]):
127
+ pulumi.set(self, "role", value)
128
+
129
+ @_builtins.property
130
+ @pulumi.getter
131
+ def type(self) -> pulumi.Input[_builtins.str]:
132
+ """
133
+ Type of GCP authentication role (either `gce` or `iam`)
134
+ """
135
+ return pulumi.get(self, "type")
136
+
137
+ @type.setter
138
+ def type(self, value: pulumi.Input[_builtins.str]):
139
+ pulumi.set(self, "type", value)
140
+
141
+ @_builtins.property
142
+ @pulumi.getter(name="addGroupAliases")
143
+ def add_group_aliases(self) -> Optional[pulumi.Input[_builtins.bool]]:
144
+ return pulumi.get(self, "add_group_aliases")
145
+
146
+ @add_group_aliases.setter
147
+ def add_group_aliases(self, value: Optional[pulumi.Input[_builtins.bool]]):
148
+ pulumi.set(self, "add_group_aliases", value)
149
+
150
+ @_builtins.property
151
+ @pulumi.getter(name="aliasMetadata")
152
+ def alias_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
153
+ """
154
+ The metadata to be tied to generated entity alias.
155
+ This should be a list or map containing the metadata in key value pairs.
156
+ """
157
+ return pulumi.get(self, "alias_metadata")
158
+
159
+ @alias_metadata.setter
160
+ def alias_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
161
+ pulumi.set(self, "alias_metadata", value)
162
+
163
+ @_builtins.property
164
+ @pulumi.getter(name="allowGceInference")
165
+ def allow_gce_inference(self) -> Optional[pulumi.Input[_builtins.bool]]:
166
+ return pulumi.get(self, "allow_gce_inference")
167
+
168
+ @allow_gce_inference.setter
169
+ def allow_gce_inference(self, value: Optional[pulumi.Input[_builtins.bool]]):
170
+ pulumi.set(self, "allow_gce_inference", value)
171
+
172
+ @_builtins.property
173
+ @pulumi.getter
174
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
175
+ """
176
+ Path to the mounted GCP auth backend
177
+ """
178
+ return pulumi.get(self, "backend")
179
+
180
+ @backend.setter
181
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
182
+ pulumi.set(self, "backend", value)
183
+
184
+ @_builtins.property
185
+ @pulumi.getter(name="boundInstanceGroups")
186
+ def bound_instance_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
187
+ return pulumi.get(self, "bound_instance_groups")
188
+
189
+ @bound_instance_groups.setter
190
+ def bound_instance_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
191
+ pulumi.set(self, "bound_instance_groups", value)
192
+
193
+ @_builtins.property
194
+ @pulumi.getter(name="boundLabels")
195
+ def bound_labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
196
+ return pulumi.get(self, "bound_labels")
197
+
198
+ @bound_labels.setter
199
+ def bound_labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
200
+ pulumi.set(self, "bound_labels", value)
201
+
202
+ @_builtins.property
203
+ @pulumi.getter(name="boundProjects")
204
+ def bound_projects(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
205
+ """
206
+ An array of GCP project IDs. Only entities belonging to this project can authenticate under the role.
207
+ """
208
+ return pulumi.get(self, "bound_projects")
209
+
210
+ @bound_projects.setter
211
+ def bound_projects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
212
+ pulumi.set(self, "bound_projects", value)
213
+
214
+ @_builtins.property
215
+ @pulumi.getter(name="boundRegions")
216
+ def bound_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
217
+ return pulumi.get(self, "bound_regions")
218
+
219
+ @bound_regions.setter
220
+ def bound_regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
221
+ pulumi.set(self, "bound_regions", value)
222
+
223
+ @_builtins.property
224
+ @pulumi.getter(name="boundServiceAccounts")
225
+ def bound_service_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
226
+ """
227
+ GCP Service Accounts allowed to issue tokens under this role. (Note: **Required** if role is `iam`)
228
+ """
229
+ return pulumi.get(self, "bound_service_accounts")
230
+
231
+ @bound_service_accounts.setter
232
+ def bound_service_accounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
233
+ pulumi.set(self, "bound_service_accounts", value)
234
+
235
+ @_builtins.property
236
+ @pulumi.getter(name="boundZones")
237
+ def bound_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
238
+ return pulumi.get(self, "bound_zones")
239
+
240
+ @bound_zones.setter
241
+ def bound_zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
242
+ pulumi.set(self, "bound_zones", value)
243
+
244
+ @_builtins.property
245
+ @pulumi.getter(name="maxJwtExp")
246
+ def max_jwt_exp(self) -> Optional[pulumi.Input[_builtins.str]]:
247
+ return pulumi.get(self, "max_jwt_exp")
248
+
249
+ @max_jwt_exp.setter
250
+ def max_jwt_exp(self, value: Optional[pulumi.Input[_builtins.str]]):
251
+ pulumi.set(self, "max_jwt_exp", value)
252
+
253
+ @_builtins.property
254
+ @pulumi.getter
255
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
256
+ """
257
+ The namespace to provision the resource in.
258
+ The value should not contain leading or trailing forward slashes.
259
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
260
+ *Available only for Vault Enterprise*.
261
+ """
262
+ return pulumi.get(self, "namespace")
263
+
264
+ @namespace.setter
265
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
266
+ pulumi.set(self, "namespace", value)
267
+
268
+ @_builtins.property
269
+ @pulumi.getter(name="roleId")
270
+ def role_id(self) -> Optional[pulumi.Input[_builtins.str]]:
271
+ """
272
+ The role_id is the stable, unique identifier for the role generated by vault.
273
+ """
274
+ return pulumi.get(self, "role_id")
275
+
276
+ @role_id.setter
277
+ def role_id(self, value: Optional[pulumi.Input[_builtins.str]]):
278
+ pulumi.set(self, "role_id", value)
279
+
280
+ @_builtins.property
281
+ @pulumi.getter(name="tokenBoundCidrs")
282
+ def token_bound_cidrs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
283
+ """
284
+ Specifies the blocks of IP addresses which are allowed to use the generated token
285
+ """
286
+ return pulumi.get(self, "token_bound_cidrs")
287
+
288
+ @token_bound_cidrs.setter
289
+ def token_bound_cidrs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
290
+ pulumi.set(self, "token_bound_cidrs", value)
291
+
292
+ @_builtins.property
293
+ @pulumi.getter(name="tokenExplicitMaxTtl")
294
+ def token_explicit_max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
295
+ """
296
+ Generated Token's Explicit Maximum TTL in seconds
297
+ """
298
+ return pulumi.get(self, "token_explicit_max_ttl")
299
+
300
+ @token_explicit_max_ttl.setter
301
+ def token_explicit_max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
302
+ pulumi.set(self, "token_explicit_max_ttl", value)
303
+
304
+ @_builtins.property
305
+ @pulumi.getter(name="tokenMaxTtl")
306
+ def token_max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
307
+ """
308
+ The maximum lifetime of the generated token
309
+ """
310
+ return pulumi.get(self, "token_max_ttl")
311
+
312
+ @token_max_ttl.setter
313
+ def token_max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
314
+ pulumi.set(self, "token_max_ttl", value)
315
+
316
+ @_builtins.property
317
+ @pulumi.getter(name="tokenNoDefaultPolicy")
318
+ def token_no_default_policy(self) -> Optional[pulumi.Input[_builtins.bool]]:
319
+ """
320
+ If true, the 'default' policy will not automatically be added to generated tokens
321
+ """
322
+ return pulumi.get(self, "token_no_default_policy")
323
+
324
+ @token_no_default_policy.setter
325
+ def token_no_default_policy(self, value: Optional[pulumi.Input[_builtins.bool]]):
326
+ pulumi.set(self, "token_no_default_policy", value)
327
+
328
+ @_builtins.property
329
+ @pulumi.getter(name="tokenNumUses")
330
+ def token_num_uses(self) -> Optional[pulumi.Input[_builtins.int]]:
331
+ """
332
+ The maximum number of times a token may be used, a value of zero means unlimited
333
+ """
334
+ return pulumi.get(self, "token_num_uses")
335
+
336
+ @token_num_uses.setter
337
+ def token_num_uses(self, value: Optional[pulumi.Input[_builtins.int]]):
338
+ pulumi.set(self, "token_num_uses", value)
339
+
340
+ @_builtins.property
341
+ @pulumi.getter(name="tokenPeriod")
342
+ def token_period(self) -> Optional[pulumi.Input[_builtins.int]]:
343
+ """
344
+ Generated Token's Period
345
+ """
346
+ return pulumi.get(self, "token_period")
347
+
348
+ @token_period.setter
349
+ def token_period(self, value: Optional[pulumi.Input[_builtins.int]]):
350
+ pulumi.set(self, "token_period", value)
351
+
352
+ @_builtins.property
353
+ @pulumi.getter(name="tokenPolicies")
354
+ def token_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
355
+ """
356
+ Generated Token's Policies
357
+ """
358
+ return pulumi.get(self, "token_policies")
359
+
360
+ @token_policies.setter
361
+ def token_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
362
+ pulumi.set(self, "token_policies", value)
363
+
364
+ @_builtins.property
365
+ @pulumi.getter(name="tokenTtl")
366
+ def token_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
367
+ """
368
+ The initial ttl of the token to generate in seconds
369
+ """
370
+ return pulumi.get(self, "token_ttl")
371
+
372
+ @token_ttl.setter
373
+ def token_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
374
+ pulumi.set(self, "token_ttl", value)
375
+
376
+ @_builtins.property
377
+ @pulumi.getter(name="tokenType")
378
+ def token_type(self) -> Optional[pulumi.Input[_builtins.str]]:
379
+ """
380
+ The type of token to generate, service or batch
381
+ """
382
+ return pulumi.get(self, "token_type")
383
+
384
+ @token_type.setter
385
+ def token_type(self, value: Optional[pulumi.Input[_builtins.str]]):
386
+ pulumi.set(self, "token_type", value)
387
+
388
+
389
+ @pulumi.input_type
390
+ class _AuthBackendRoleState:
391
+ def __init__(__self__, *,
392
+ add_group_aliases: Optional[pulumi.Input[_builtins.bool]] = None,
393
+ alias_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
394
+ allow_gce_inference: Optional[pulumi.Input[_builtins.bool]] = None,
395
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
396
+ bound_instance_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
397
+ bound_labels: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
398
+ bound_projects: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
399
+ bound_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
400
+ bound_service_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
401
+ bound_zones: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
402
+ max_jwt_exp: Optional[pulumi.Input[_builtins.str]] = None,
403
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
404
+ role: Optional[pulumi.Input[_builtins.str]] = None,
405
+ role_id: Optional[pulumi.Input[_builtins.str]] = None,
406
+ token_bound_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
407
+ token_explicit_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
408
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
409
+ token_no_default_policy: Optional[pulumi.Input[_builtins.bool]] = None,
410
+ token_num_uses: Optional[pulumi.Input[_builtins.int]] = None,
411
+ token_period: Optional[pulumi.Input[_builtins.int]] = None,
412
+ token_policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
413
+ token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
414
+ token_type: Optional[pulumi.Input[_builtins.str]] = None,
415
+ type: Optional[pulumi.Input[_builtins.str]] = None):
416
+ """
417
+ Input properties used for looking up and filtering AuthBackendRole resources.
418
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] alias_metadata: The metadata to be tied to generated entity alias.
419
+ This should be a list or map containing the metadata in key value pairs.
420
+ :param pulumi.Input[_builtins.str] backend: Path to the mounted GCP auth backend
421
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_projects: An array of GCP project IDs. Only entities belonging to this project can authenticate under the role.
422
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_service_accounts: GCP Service Accounts allowed to issue tokens under this role. (Note: **Required** if role is `iam`)
423
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
424
+ The value should not contain leading or trailing forward slashes.
425
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
426
+ *Available only for Vault Enterprise*.
427
+ :param pulumi.Input[_builtins.str] role: Name of the GCP role
428
+ :param pulumi.Input[_builtins.str] role_id: The role_id is the stable, unique identifier for the role generated by vault.
429
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_bound_cidrs: Specifies the blocks of IP addresses which are allowed to use the generated token
430
+ :param pulumi.Input[_builtins.int] token_explicit_max_ttl: Generated Token's Explicit Maximum TTL in seconds
431
+ :param pulumi.Input[_builtins.int] token_max_ttl: The maximum lifetime of the generated token
432
+ :param pulumi.Input[_builtins.bool] token_no_default_policy: If true, the 'default' policy will not automatically be added to generated tokens
433
+ :param pulumi.Input[_builtins.int] token_num_uses: The maximum number of times a token may be used, a value of zero means unlimited
434
+ :param pulumi.Input[_builtins.int] token_period: Generated Token's Period
435
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_policies: Generated Token's Policies
436
+ :param pulumi.Input[_builtins.int] token_ttl: The initial ttl of the token to generate in seconds
437
+ :param pulumi.Input[_builtins.str] token_type: The type of token to generate, service or batch
438
+ :param pulumi.Input[_builtins.str] type: Type of GCP authentication role (either `gce` or `iam`)
439
+ """
440
+ if add_group_aliases is not None:
441
+ pulumi.set(__self__, "add_group_aliases", add_group_aliases)
442
+ if alias_metadata is not None:
443
+ pulumi.set(__self__, "alias_metadata", alias_metadata)
444
+ if allow_gce_inference is not None:
445
+ pulumi.set(__self__, "allow_gce_inference", allow_gce_inference)
446
+ if backend is not None:
447
+ pulumi.set(__self__, "backend", backend)
448
+ if bound_instance_groups is not None:
449
+ pulumi.set(__self__, "bound_instance_groups", bound_instance_groups)
450
+ if bound_labels is not None:
451
+ pulumi.set(__self__, "bound_labels", bound_labels)
452
+ if bound_projects is not None:
453
+ pulumi.set(__self__, "bound_projects", bound_projects)
454
+ if bound_regions is not None:
455
+ pulumi.set(__self__, "bound_regions", bound_regions)
456
+ if bound_service_accounts is not None:
457
+ pulumi.set(__self__, "bound_service_accounts", bound_service_accounts)
458
+ if bound_zones is not None:
459
+ pulumi.set(__self__, "bound_zones", bound_zones)
460
+ if max_jwt_exp is not None:
461
+ pulumi.set(__self__, "max_jwt_exp", max_jwt_exp)
462
+ if namespace is not None:
463
+ pulumi.set(__self__, "namespace", namespace)
464
+ if role is not None:
465
+ pulumi.set(__self__, "role", role)
466
+ if role_id is not None:
467
+ pulumi.set(__self__, "role_id", role_id)
468
+ if token_bound_cidrs is not None:
469
+ pulumi.set(__self__, "token_bound_cidrs", token_bound_cidrs)
470
+ if token_explicit_max_ttl is not None:
471
+ pulumi.set(__self__, "token_explicit_max_ttl", token_explicit_max_ttl)
472
+ if token_max_ttl is not None:
473
+ pulumi.set(__self__, "token_max_ttl", token_max_ttl)
474
+ if token_no_default_policy is not None:
475
+ pulumi.set(__self__, "token_no_default_policy", token_no_default_policy)
476
+ if token_num_uses is not None:
477
+ pulumi.set(__self__, "token_num_uses", token_num_uses)
478
+ if token_period is not None:
479
+ pulumi.set(__self__, "token_period", token_period)
480
+ if token_policies is not None:
481
+ pulumi.set(__self__, "token_policies", token_policies)
482
+ if token_ttl is not None:
483
+ pulumi.set(__self__, "token_ttl", token_ttl)
484
+ if token_type is not None:
485
+ pulumi.set(__self__, "token_type", token_type)
486
+ if type is not None:
487
+ pulumi.set(__self__, "type", type)
488
+
489
+ @_builtins.property
490
+ @pulumi.getter(name="addGroupAliases")
491
+ def add_group_aliases(self) -> Optional[pulumi.Input[_builtins.bool]]:
492
+ return pulumi.get(self, "add_group_aliases")
493
+
494
+ @add_group_aliases.setter
495
+ def add_group_aliases(self, value: Optional[pulumi.Input[_builtins.bool]]):
496
+ pulumi.set(self, "add_group_aliases", value)
497
+
498
+ @_builtins.property
499
+ @pulumi.getter(name="aliasMetadata")
500
+ def alias_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
501
+ """
502
+ The metadata to be tied to generated entity alias.
503
+ This should be a list or map containing the metadata in key value pairs.
504
+ """
505
+ return pulumi.get(self, "alias_metadata")
506
+
507
+ @alias_metadata.setter
508
+ def alias_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
509
+ pulumi.set(self, "alias_metadata", value)
510
+
511
+ @_builtins.property
512
+ @pulumi.getter(name="allowGceInference")
513
+ def allow_gce_inference(self) -> Optional[pulumi.Input[_builtins.bool]]:
514
+ return pulumi.get(self, "allow_gce_inference")
515
+
516
+ @allow_gce_inference.setter
517
+ def allow_gce_inference(self, value: Optional[pulumi.Input[_builtins.bool]]):
518
+ pulumi.set(self, "allow_gce_inference", value)
519
+
520
+ @_builtins.property
521
+ @pulumi.getter
522
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
523
+ """
524
+ Path to the mounted GCP auth backend
525
+ """
526
+ return pulumi.get(self, "backend")
527
+
528
+ @backend.setter
529
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
530
+ pulumi.set(self, "backend", value)
531
+
532
+ @_builtins.property
533
+ @pulumi.getter(name="boundInstanceGroups")
534
+ def bound_instance_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
535
+ return pulumi.get(self, "bound_instance_groups")
536
+
537
+ @bound_instance_groups.setter
538
+ def bound_instance_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
539
+ pulumi.set(self, "bound_instance_groups", value)
540
+
541
+ @_builtins.property
542
+ @pulumi.getter(name="boundLabels")
543
+ def bound_labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
544
+ return pulumi.get(self, "bound_labels")
545
+
546
+ @bound_labels.setter
547
+ def bound_labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
548
+ pulumi.set(self, "bound_labels", value)
549
+
550
+ @_builtins.property
551
+ @pulumi.getter(name="boundProjects")
552
+ def bound_projects(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
553
+ """
554
+ An array of GCP project IDs. Only entities belonging to this project can authenticate under the role.
555
+ """
556
+ return pulumi.get(self, "bound_projects")
557
+
558
+ @bound_projects.setter
559
+ def bound_projects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
560
+ pulumi.set(self, "bound_projects", value)
561
+
562
+ @_builtins.property
563
+ @pulumi.getter(name="boundRegions")
564
+ def bound_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
565
+ return pulumi.get(self, "bound_regions")
566
+
567
+ @bound_regions.setter
568
+ def bound_regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
569
+ pulumi.set(self, "bound_regions", value)
570
+
571
+ @_builtins.property
572
+ @pulumi.getter(name="boundServiceAccounts")
573
+ def bound_service_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
574
+ """
575
+ GCP Service Accounts allowed to issue tokens under this role. (Note: **Required** if role is `iam`)
576
+ """
577
+ return pulumi.get(self, "bound_service_accounts")
578
+
579
+ @bound_service_accounts.setter
580
+ def bound_service_accounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
581
+ pulumi.set(self, "bound_service_accounts", value)
582
+
583
+ @_builtins.property
584
+ @pulumi.getter(name="boundZones")
585
+ def bound_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
586
+ return pulumi.get(self, "bound_zones")
587
+
588
+ @bound_zones.setter
589
+ def bound_zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
590
+ pulumi.set(self, "bound_zones", value)
591
+
592
+ @_builtins.property
593
+ @pulumi.getter(name="maxJwtExp")
594
+ def max_jwt_exp(self) -> Optional[pulumi.Input[_builtins.str]]:
595
+ return pulumi.get(self, "max_jwt_exp")
596
+
597
+ @max_jwt_exp.setter
598
+ def max_jwt_exp(self, value: Optional[pulumi.Input[_builtins.str]]):
599
+ pulumi.set(self, "max_jwt_exp", value)
600
+
601
+ @_builtins.property
602
+ @pulumi.getter
603
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
604
+ """
605
+ The namespace to provision the resource in.
606
+ The value should not contain leading or trailing forward slashes.
607
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
608
+ *Available only for Vault Enterprise*.
609
+ """
610
+ return pulumi.get(self, "namespace")
611
+
612
+ @namespace.setter
613
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
614
+ pulumi.set(self, "namespace", value)
615
+
616
+ @_builtins.property
617
+ @pulumi.getter
618
+ def role(self) -> Optional[pulumi.Input[_builtins.str]]:
619
+ """
620
+ Name of the GCP role
621
+ """
622
+ return pulumi.get(self, "role")
623
+
624
+ @role.setter
625
+ def role(self, value: Optional[pulumi.Input[_builtins.str]]):
626
+ pulumi.set(self, "role", value)
627
+
628
+ @_builtins.property
629
+ @pulumi.getter(name="roleId")
630
+ def role_id(self) -> Optional[pulumi.Input[_builtins.str]]:
631
+ """
632
+ The role_id is the stable, unique identifier for the role generated by vault.
633
+ """
634
+ return pulumi.get(self, "role_id")
635
+
636
+ @role_id.setter
637
+ def role_id(self, value: Optional[pulumi.Input[_builtins.str]]):
638
+ pulumi.set(self, "role_id", value)
639
+
640
+ @_builtins.property
641
+ @pulumi.getter(name="tokenBoundCidrs")
642
+ def token_bound_cidrs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
643
+ """
644
+ Specifies the blocks of IP addresses which are allowed to use the generated token
645
+ """
646
+ return pulumi.get(self, "token_bound_cidrs")
647
+
648
+ @token_bound_cidrs.setter
649
+ def token_bound_cidrs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
650
+ pulumi.set(self, "token_bound_cidrs", value)
651
+
652
+ @_builtins.property
653
+ @pulumi.getter(name="tokenExplicitMaxTtl")
654
+ def token_explicit_max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
655
+ """
656
+ Generated Token's Explicit Maximum TTL in seconds
657
+ """
658
+ return pulumi.get(self, "token_explicit_max_ttl")
659
+
660
+ @token_explicit_max_ttl.setter
661
+ def token_explicit_max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
662
+ pulumi.set(self, "token_explicit_max_ttl", value)
663
+
664
+ @_builtins.property
665
+ @pulumi.getter(name="tokenMaxTtl")
666
+ def token_max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
667
+ """
668
+ The maximum lifetime of the generated token
669
+ """
670
+ return pulumi.get(self, "token_max_ttl")
671
+
672
+ @token_max_ttl.setter
673
+ def token_max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
674
+ pulumi.set(self, "token_max_ttl", value)
675
+
676
+ @_builtins.property
677
+ @pulumi.getter(name="tokenNoDefaultPolicy")
678
+ def token_no_default_policy(self) -> Optional[pulumi.Input[_builtins.bool]]:
679
+ """
680
+ If true, the 'default' policy will not automatically be added to generated tokens
681
+ """
682
+ return pulumi.get(self, "token_no_default_policy")
683
+
684
+ @token_no_default_policy.setter
685
+ def token_no_default_policy(self, value: Optional[pulumi.Input[_builtins.bool]]):
686
+ pulumi.set(self, "token_no_default_policy", value)
687
+
688
+ @_builtins.property
689
+ @pulumi.getter(name="tokenNumUses")
690
+ def token_num_uses(self) -> Optional[pulumi.Input[_builtins.int]]:
691
+ """
692
+ The maximum number of times a token may be used, a value of zero means unlimited
693
+ """
694
+ return pulumi.get(self, "token_num_uses")
695
+
696
+ @token_num_uses.setter
697
+ def token_num_uses(self, value: Optional[pulumi.Input[_builtins.int]]):
698
+ pulumi.set(self, "token_num_uses", value)
699
+
700
+ @_builtins.property
701
+ @pulumi.getter(name="tokenPeriod")
702
+ def token_period(self) -> Optional[pulumi.Input[_builtins.int]]:
703
+ """
704
+ Generated Token's Period
705
+ """
706
+ return pulumi.get(self, "token_period")
707
+
708
+ @token_period.setter
709
+ def token_period(self, value: Optional[pulumi.Input[_builtins.int]]):
710
+ pulumi.set(self, "token_period", value)
711
+
712
+ @_builtins.property
713
+ @pulumi.getter(name="tokenPolicies")
714
+ def token_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
715
+ """
716
+ Generated Token's Policies
717
+ """
718
+ return pulumi.get(self, "token_policies")
719
+
720
+ @token_policies.setter
721
+ def token_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
722
+ pulumi.set(self, "token_policies", value)
723
+
724
+ @_builtins.property
725
+ @pulumi.getter(name="tokenTtl")
726
+ def token_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
727
+ """
728
+ The initial ttl of the token to generate in seconds
729
+ """
730
+ return pulumi.get(self, "token_ttl")
731
+
732
+ @token_ttl.setter
733
+ def token_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
734
+ pulumi.set(self, "token_ttl", value)
735
+
736
+ @_builtins.property
737
+ @pulumi.getter(name="tokenType")
738
+ def token_type(self) -> Optional[pulumi.Input[_builtins.str]]:
739
+ """
740
+ The type of token to generate, service or batch
741
+ """
742
+ return pulumi.get(self, "token_type")
743
+
744
+ @token_type.setter
745
+ def token_type(self, value: Optional[pulumi.Input[_builtins.str]]):
746
+ pulumi.set(self, "token_type", value)
747
+
748
+ @_builtins.property
749
+ @pulumi.getter
750
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
751
+ """
752
+ Type of GCP authentication role (either `gce` or `iam`)
753
+ """
754
+ return pulumi.get(self, "type")
755
+
756
+ @type.setter
757
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
758
+ pulumi.set(self, "type", value)
759
+
760
+
761
+ @pulumi.type_token("vault:gcp/authBackendRole:AuthBackendRole")
762
+ class AuthBackendRole(pulumi.CustomResource):
763
+ @overload
764
+ def __init__(__self__,
765
+ resource_name: str,
766
+ opts: Optional[pulumi.ResourceOptions] = None,
767
+ add_group_aliases: Optional[pulumi.Input[_builtins.bool]] = None,
768
+ alias_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
769
+ allow_gce_inference: Optional[pulumi.Input[_builtins.bool]] = None,
770
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
771
+ bound_instance_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
772
+ bound_labels: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
773
+ bound_projects: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
774
+ bound_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
775
+ bound_service_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
776
+ bound_zones: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
777
+ max_jwt_exp: Optional[pulumi.Input[_builtins.str]] = None,
778
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
779
+ role: Optional[pulumi.Input[_builtins.str]] = None,
780
+ role_id: Optional[pulumi.Input[_builtins.str]] = None,
781
+ token_bound_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
782
+ token_explicit_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
783
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
784
+ token_no_default_policy: Optional[pulumi.Input[_builtins.bool]] = None,
785
+ token_num_uses: Optional[pulumi.Input[_builtins.int]] = None,
786
+ token_period: Optional[pulumi.Input[_builtins.int]] = None,
787
+ token_policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
788
+ token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
789
+ token_type: Optional[pulumi.Input[_builtins.str]] = None,
790
+ type: Optional[pulumi.Input[_builtins.str]] = None,
791
+ __props__=None):
792
+ """
793
+ Provides a resource to create a role in an [GCP auth backend within Vault](https://www.vaultproject.io/docs/auth/gcp.html).
794
+
795
+ ## Example Usage
796
+
797
+ ```python
798
+ import pulumi
799
+ import pulumi_vault as vault
800
+
801
+ gcp = vault.AuthBackend("gcp",
802
+ path="gcp",
803
+ type="gcp")
804
+ test = vault.gcp.AuthBackendRole("test",
805
+ backend=gcp.path,
806
+ role="test",
807
+ type="iam",
808
+ bound_service_accounts=["test"],
809
+ bound_projects=["test"],
810
+ token_ttl=300,
811
+ token_max_ttl=600,
812
+ token_policies=[
813
+ "policy_a",
814
+ "policy_b",
815
+ ],
816
+ add_group_aliases=True)
817
+ ```
818
+
819
+ ## Import
820
+
821
+ GCP authentication roles can be imported using the `path`, e.g.
822
+
823
+ ```sh
824
+ $ pulumi import vault:gcp/authBackendRole:AuthBackendRole my_role auth/gcp/role/my_role
825
+ ```
826
+
827
+ :param str resource_name: The name of the resource.
828
+ :param pulumi.ResourceOptions opts: Options for the resource.
829
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] alias_metadata: The metadata to be tied to generated entity alias.
830
+ This should be a list or map containing the metadata in key value pairs.
831
+ :param pulumi.Input[_builtins.str] backend: Path to the mounted GCP auth backend
832
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_projects: An array of GCP project IDs. Only entities belonging to this project can authenticate under the role.
833
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_service_accounts: GCP Service Accounts allowed to issue tokens under this role. (Note: **Required** if role is `iam`)
834
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
835
+ The value should not contain leading or trailing forward slashes.
836
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
837
+ *Available only for Vault Enterprise*.
838
+ :param pulumi.Input[_builtins.str] role: Name of the GCP role
839
+ :param pulumi.Input[_builtins.str] role_id: The role_id is the stable, unique identifier for the role generated by vault.
840
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_bound_cidrs: Specifies the blocks of IP addresses which are allowed to use the generated token
841
+ :param pulumi.Input[_builtins.int] token_explicit_max_ttl: Generated Token's Explicit Maximum TTL in seconds
842
+ :param pulumi.Input[_builtins.int] token_max_ttl: The maximum lifetime of the generated token
843
+ :param pulumi.Input[_builtins.bool] token_no_default_policy: If true, the 'default' policy will not automatically be added to generated tokens
844
+ :param pulumi.Input[_builtins.int] token_num_uses: The maximum number of times a token may be used, a value of zero means unlimited
845
+ :param pulumi.Input[_builtins.int] token_period: Generated Token's Period
846
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_policies: Generated Token's Policies
847
+ :param pulumi.Input[_builtins.int] token_ttl: The initial ttl of the token to generate in seconds
848
+ :param pulumi.Input[_builtins.str] token_type: The type of token to generate, service or batch
849
+ :param pulumi.Input[_builtins.str] type: Type of GCP authentication role (either `gce` or `iam`)
850
+ """
851
+ ...
852
+ @overload
853
+ def __init__(__self__,
854
+ resource_name: str,
855
+ args: AuthBackendRoleArgs,
856
+ opts: Optional[pulumi.ResourceOptions] = None):
857
+ """
858
+ Provides a resource to create a role in an [GCP auth backend within Vault](https://www.vaultproject.io/docs/auth/gcp.html).
859
+
860
+ ## Example Usage
861
+
862
+ ```python
863
+ import pulumi
864
+ import pulumi_vault as vault
865
+
866
+ gcp = vault.AuthBackend("gcp",
867
+ path="gcp",
868
+ type="gcp")
869
+ test = vault.gcp.AuthBackendRole("test",
870
+ backend=gcp.path,
871
+ role="test",
872
+ type="iam",
873
+ bound_service_accounts=["test"],
874
+ bound_projects=["test"],
875
+ token_ttl=300,
876
+ token_max_ttl=600,
877
+ token_policies=[
878
+ "policy_a",
879
+ "policy_b",
880
+ ],
881
+ add_group_aliases=True)
882
+ ```
883
+
884
+ ## Import
885
+
886
+ GCP authentication roles can be imported using the `path`, e.g.
887
+
888
+ ```sh
889
+ $ pulumi import vault:gcp/authBackendRole:AuthBackendRole my_role auth/gcp/role/my_role
890
+ ```
891
+
892
+ :param str resource_name: The name of the resource.
893
+ :param AuthBackendRoleArgs args: The arguments to use to populate this resource's properties.
894
+ :param pulumi.ResourceOptions opts: Options for the resource.
895
+ """
896
+ ...
897
+ def __init__(__self__, resource_name: str, *args, **kwargs):
898
+ resource_args, opts = _utilities.get_resource_args_opts(AuthBackendRoleArgs, pulumi.ResourceOptions, *args, **kwargs)
899
+ if resource_args is not None:
900
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
901
+ else:
902
+ __self__._internal_init(resource_name, *args, **kwargs)
903
+
904
+ def _internal_init(__self__,
905
+ resource_name: str,
906
+ opts: Optional[pulumi.ResourceOptions] = None,
907
+ add_group_aliases: Optional[pulumi.Input[_builtins.bool]] = None,
908
+ alias_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
909
+ allow_gce_inference: Optional[pulumi.Input[_builtins.bool]] = None,
910
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
911
+ bound_instance_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
912
+ bound_labels: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
913
+ bound_projects: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
914
+ bound_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
915
+ bound_service_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
916
+ bound_zones: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
917
+ max_jwt_exp: Optional[pulumi.Input[_builtins.str]] = None,
918
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
919
+ role: Optional[pulumi.Input[_builtins.str]] = None,
920
+ role_id: Optional[pulumi.Input[_builtins.str]] = None,
921
+ token_bound_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
922
+ token_explicit_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
923
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
924
+ token_no_default_policy: Optional[pulumi.Input[_builtins.bool]] = None,
925
+ token_num_uses: Optional[pulumi.Input[_builtins.int]] = None,
926
+ token_period: Optional[pulumi.Input[_builtins.int]] = None,
927
+ token_policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
928
+ token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
929
+ token_type: Optional[pulumi.Input[_builtins.str]] = None,
930
+ type: Optional[pulumi.Input[_builtins.str]] = None,
931
+ __props__=None):
932
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
933
+ if not isinstance(opts, pulumi.ResourceOptions):
934
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
935
+ if opts.id is None:
936
+ if __props__ is not None:
937
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
938
+ __props__ = AuthBackendRoleArgs.__new__(AuthBackendRoleArgs)
939
+
940
+ __props__.__dict__["add_group_aliases"] = add_group_aliases
941
+ __props__.__dict__["alias_metadata"] = alias_metadata
942
+ __props__.__dict__["allow_gce_inference"] = allow_gce_inference
943
+ __props__.__dict__["backend"] = backend
944
+ __props__.__dict__["bound_instance_groups"] = bound_instance_groups
945
+ __props__.__dict__["bound_labels"] = bound_labels
946
+ __props__.__dict__["bound_projects"] = bound_projects
947
+ __props__.__dict__["bound_regions"] = bound_regions
948
+ __props__.__dict__["bound_service_accounts"] = bound_service_accounts
949
+ __props__.__dict__["bound_zones"] = bound_zones
950
+ __props__.__dict__["max_jwt_exp"] = max_jwt_exp
951
+ __props__.__dict__["namespace"] = namespace
952
+ if role is None and not opts.urn:
953
+ raise TypeError("Missing required property 'role'")
954
+ __props__.__dict__["role"] = role
955
+ __props__.__dict__["role_id"] = role_id
956
+ __props__.__dict__["token_bound_cidrs"] = token_bound_cidrs
957
+ __props__.__dict__["token_explicit_max_ttl"] = token_explicit_max_ttl
958
+ __props__.__dict__["token_max_ttl"] = token_max_ttl
959
+ __props__.__dict__["token_no_default_policy"] = token_no_default_policy
960
+ __props__.__dict__["token_num_uses"] = token_num_uses
961
+ __props__.__dict__["token_period"] = token_period
962
+ __props__.__dict__["token_policies"] = token_policies
963
+ __props__.__dict__["token_ttl"] = token_ttl
964
+ __props__.__dict__["token_type"] = token_type
965
+ if type is None and not opts.urn:
966
+ raise TypeError("Missing required property 'type'")
967
+ __props__.__dict__["type"] = type
968
+ super(AuthBackendRole, __self__).__init__(
969
+ 'vault:gcp/authBackendRole:AuthBackendRole',
970
+ resource_name,
971
+ __props__,
972
+ opts)
973
+
974
+ @staticmethod
975
+ def get(resource_name: str,
976
+ id: pulumi.Input[str],
977
+ opts: Optional[pulumi.ResourceOptions] = None,
978
+ add_group_aliases: Optional[pulumi.Input[_builtins.bool]] = None,
979
+ alias_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
980
+ allow_gce_inference: Optional[pulumi.Input[_builtins.bool]] = None,
981
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
982
+ bound_instance_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
983
+ bound_labels: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
984
+ bound_projects: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
985
+ bound_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
986
+ bound_service_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
987
+ bound_zones: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
988
+ max_jwt_exp: Optional[pulumi.Input[_builtins.str]] = None,
989
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
990
+ role: Optional[pulumi.Input[_builtins.str]] = None,
991
+ role_id: Optional[pulumi.Input[_builtins.str]] = None,
992
+ token_bound_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
993
+ token_explicit_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
994
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
995
+ token_no_default_policy: Optional[pulumi.Input[_builtins.bool]] = None,
996
+ token_num_uses: Optional[pulumi.Input[_builtins.int]] = None,
997
+ token_period: Optional[pulumi.Input[_builtins.int]] = None,
998
+ token_policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
999
+ token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1000
+ token_type: Optional[pulumi.Input[_builtins.str]] = None,
1001
+ type: Optional[pulumi.Input[_builtins.str]] = None) -> 'AuthBackendRole':
1002
+ """
1003
+ Get an existing AuthBackendRole resource's state with the given name, id, and optional extra
1004
+ properties used to qualify the lookup.
1005
+
1006
+ :param str resource_name: The unique name of the resulting resource.
1007
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1008
+ :param pulumi.ResourceOptions opts: Options for the resource.
1009
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] alias_metadata: The metadata to be tied to generated entity alias.
1010
+ This should be a list or map containing the metadata in key value pairs.
1011
+ :param pulumi.Input[_builtins.str] backend: Path to the mounted GCP auth backend
1012
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_projects: An array of GCP project IDs. Only entities belonging to this project can authenticate under the role.
1013
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_service_accounts: GCP Service Accounts allowed to issue tokens under this role. (Note: **Required** if role is `iam`)
1014
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
1015
+ The value should not contain leading or trailing forward slashes.
1016
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1017
+ *Available only for Vault Enterprise*.
1018
+ :param pulumi.Input[_builtins.str] role: Name of the GCP role
1019
+ :param pulumi.Input[_builtins.str] role_id: The role_id is the stable, unique identifier for the role generated by vault.
1020
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_bound_cidrs: Specifies the blocks of IP addresses which are allowed to use the generated token
1021
+ :param pulumi.Input[_builtins.int] token_explicit_max_ttl: Generated Token's Explicit Maximum TTL in seconds
1022
+ :param pulumi.Input[_builtins.int] token_max_ttl: The maximum lifetime of the generated token
1023
+ :param pulumi.Input[_builtins.bool] token_no_default_policy: If true, the 'default' policy will not automatically be added to generated tokens
1024
+ :param pulumi.Input[_builtins.int] token_num_uses: The maximum number of times a token may be used, a value of zero means unlimited
1025
+ :param pulumi.Input[_builtins.int] token_period: Generated Token's Period
1026
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_policies: Generated Token's Policies
1027
+ :param pulumi.Input[_builtins.int] token_ttl: The initial ttl of the token to generate in seconds
1028
+ :param pulumi.Input[_builtins.str] token_type: The type of token to generate, service or batch
1029
+ :param pulumi.Input[_builtins.str] type: Type of GCP authentication role (either `gce` or `iam`)
1030
+ """
1031
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1032
+
1033
+ __props__ = _AuthBackendRoleState.__new__(_AuthBackendRoleState)
1034
+
1035
+ __props__.__dict__["add_group_aliases"] = add_group_aliases
1036
+ __props__.__dict__["alias_metadata"] = alias_metadata
1037
+ __props__.__dict__["allow_gce_inference"] = allow_gce_inference
1038
+ __props__.__dict__["backend"] = backend
1039
+ __props__.__dict__["bound_instance_groups"] = bound_instance_groups
1040
+ __props__.__dict__["bound_labels"] = bound_labels
1041
+ __props__.__dict__["bound_projects"] = bound_projects
1042
+ __props__.__dict__["bound_regions"] = bound_regions
1043
+ __props__.__dict__["bound_service_accounts"] = bound_service_accounts
1044
+ __props__.__dict__["bound_zones"] = bound_zones
1045
+ __props__.__dict__["max_jwt_exp"] = max_jwt_exp
1046
+ __props__.__dict__["namespace"] = namespace
1047
+ __props__.__dict__["role"] = role
1048
+ __props__.__dict__["role_id"] = role_id
1049
+ __props__.__dict__["token_bound_cidrs"] = token_bound_cidrs
1050
+ __props__.__dict__["token_explicit_max_ttl"] = token_explicit_max_ttl
1051
+ __props__.__dict__["token_max_ttl"] = token_max_ttl
1052
+ __props__.__dict__["token_no_default_policy"] = token_no_default_policy
1053
+ __props__.__dict__["token_num_uses"] = token_num_uses
1054
+ __props__.__dict__["token_period"] = token_period
1055
+ __props__.__dict__["token_policies"] = token_policies
1056
+ __props__.__dict__["token_ttl"] = token_ttl
1057
+ __props__.__dict__["token_type"] = token_type
1058
+ __props__.__dict__["type"] = type
1059
+ return AuthBackendRole(resource_name, opts=opts, __props__=__props__)
1060
+
1061
+ @_builtins.property
1062
+ @pulumi.getter(name="addGroupAliases")
1063
+ def add_group_aliases(self) -> pulumi.Output[_builtins.bool]:
1064
+ return pulumi.get(self, "add_group_aliases")
1065
+
1066
+ @_builtins.property
1067
+ @pulumi.getter(name="aliasMetadata")
1068
+ def alias_metadata(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
1069
+ """
1070
+ The metadata to be tied to generated entity alias.
1071
+ This should be a list or map containing the metadata in key value pairs.
1072
+ """
1073
+ return pulumi.get(self, "alias_metadata")
1074
+
1075
+ @_builtins.property
1076
+ @pulumi.getter(name="allowGceInference")
1077
+ def allow_gce_inference(self) -> pulumi.Output[_builtins.bool]:
1078
+ return pulumi.get(self, "allow_gce_inference")
1079
+
1080
+ @_builtins.property
1081
+ @pulumi.getter
1082
+ def backend(self) -> pulumi.Output[Optional[_builtins.str]]:
1083
+ """
1084
+ Path to the mounted GCP auth backend
1085
+ """
1086
+ return pulumi.get(self, "backend")
1087
+
1088
+ @_builtins.property
1089
+ @pulumi.getter(name="boundInstanceGroups")
1090
+ def bound_instance_groups(self) -> pulumi.Output[Sequence[_builtins.str]]:
1091
+ return pulumi.get(self, "bound_instance_groups")
1092
+
1093
+ @_builtins.property
1094
+ @pulumi.getter(name="boundLabels")
1095
+ def bound_labels(self) -> pulumi.Output[Sequence[_builtins.str]]:
1096
+ return pulumi.get(self, "bound_labels")
1097
+
1098
+ @_builtins.property
1099
+ @pulumi.getter(name="boundProjects")
1100
+ def bound_projects(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1101
+ """
1102
+ An array of GCP project IDs. Only entities belonging to this project can authenticate under the role.
1103
+ """
1104
+ return pulumi.get(self, "bound_projects")
1105
+
1106
+ @_builtins.property
1107
+ @pulumi.getter(name="boundRegions")
1108
+ def bound_regions(self) -> pulumi.Output[Sequence[_builtins.str]]:
1109
+ return pulumi.get(self, "bound_regions")
1110
+
1111
+ @_builtins.property
1112
+ @pulumi.getter(name="boundServiceAccounts")
1113
+ def bound_service_accounts(self) -> pulumi.Output[Sequence[_builtins.str]]:
1114
+ """
1115
+ GCP Service Accounts allowed to issue tokens under this role. (Note: **Required** if role is `iam`)
1116
+ """
1117
+ return pulumi.get(self, "bound_service_accounts")
1118
+
1119
+ @_builtins.property
1120
+ @pulumi.getter(name="boundZones")
1121
+ def bound_zones(self) -> pulumi.Output[Sequence[_builtins.str]]:
1122
+ return pulumi.get(self, "bound_zones")
1123
+
1124
+ @_builtins.property
1125
+ @pulumi.getter(name="maxJwtExp")
1126
+ def max_jwt_exp(self) -> pulumi.Output[_builtins.str]:
1127
+ return pulumi.get(self, "max_jwt_exp")
1128
+
1129
+ @_builtins.property
1130
+ @pulumi.getter
1131
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
1132
+ """
1133
+ The namespace to provision the resource in.
1134
+ The value should not contain leading or trailing forward slashes.
1135
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1136
+ *Available only for Vault Enterprise*.
1137
+ """
1138
+ return pulumi.get(self, "namespace")
1139
+
1140
+ @_builtins.property
1141
+ @pulumi.getter
1142
+ def role(self) -> pulumi.Output[_builtins.str]:
1143
+ """
1144
+ Name of the GCP role
1145
+ """
1146
+ return pulumi.get(self, "role")
1147
+
1148
+ @_builtins.property
1149
+ @pulumi.getter(name="roleId")
1150
+ def role_id(self) -> pulumi.Output[_builtins.str]:
1151
+ """
1152
+ The role_id is the stable, unique identifier for the role generated by vault.
1153
+ """
1154
+ return pulumi.get(self, "role_id")
1155
+
1156
+ @_builtins.property
1157
+ @pulumi.getter(name="tokenBoundCidrs")
1158
+ def token_bound_cidrs(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1159
+ """
1160
+ Specifies the blocks of IP addresses which are allowed to use the generated token
1161
+ """
1162
+ return pulumi.get(self, "token_bound_cidrs")
1163
+
1164
+ @_builtins.property
1165
+ @pulumi.getter(name="tokenExplicitMaxTtl")
1166
+ def token_explicit_max_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
1167
+ """
1168
+ Generated Token's Explicit Maximum TTL in seconds
1169
+ """
1170
+ return pulumi.get(self, "token_explicit_max_ttl")
1171
+
1172
+ @_builtins.property
1173
+ @pulumi.getter(name="tokenMaxTtl")
1174
+ def token_max_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
1175
+ """
1176
+ The maximum lifetime of the generated token
1177
+ """
1178
+ return pulumi.get(self, "token_max_ttl")
1179
+
1180
+ @_builtins.property
1181
+ @pulumi.getter(name="tokenNoDefaultPolicy")
1182
+ def token_no_default_policy(self) -> pulumi.Output[Optional[_builtins.bool]]:
1183
+ """
1184
+ If true, the 'default' policy will not automatically be added to generated tokens
1185
+ """
1186
+ return pulumi.get(self, "token_no_default_policy")
1187
+
1188
+ @_builtins.property
1189
+ @pulumi.getter(name="tokenNumUses")
1190
+ def token_num_uses(self) -> pulumi.Output[Optional[_builtins.int]]:
1191
+ """
1192
+ The maximum number of times a token may be used, a value of zero means unlimited
1193
+ """
1194
+ return pulumi.get(self, "token_num_uses")
1195
+
1196
+ @_builtins.property
1197
+ @pulumi.getter(name="tokenPeriod")
1198
+ def token_period(self) -> pulumi.Output[Optional[_builtins.int]]:
1199
+ """
1200
+ Generated Token's Period
1201
+ """
1202
+ return pulumi.get(self, "token_period")
1203
+
1204
+ @_builtins.property
1205
+ @pulumi.getter(name="tokenPolicies")
1206
+ def token_policies(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1207
+ """
1208
+ Generated Token's Policies
1209
+ """
1210
+ return pulumi.get(self, "token_policies")
1211
+
1212
+ @_builtins.property
1213
+ @pulumi.getter(name="tokenTtl")
1214
+ def token_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
1215
+ """
1216
+ The initial ttl of the token to generate in seconds
1217
+ """
1218
+ return pulumi.get(self, "token_ttl")
1219
+
1220
+ @_builtins.property
1221
+ @pulumi.getter(name="tokenType")
1222
+ def token_type(self) -> pulumi.Output[Optional[_builtins.str]]:
1223
+ """
1224
+ The type of token to generate, service or batch
1225
+ """
1226
+ return pulumi.get(self, "token_type")
1227
+
1228
+ @_builtins.property
1229
+ @pulumi.getter
1230
+ def type(self) -> pulumi.Output[_builtins.str]:
1231
+ """
1232
+ Type of GCP authentication role (either `gce` or `iam`)
1233
+ """
1234
+ return pulumi.get(self, "type")
1235
+