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,1486 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['AuthBackendArgs', 'AuthBackend']
20
+
21
+ @pulumi.input_type
22
+ class AuthBackendArgs:
23
+ def __init__(__self__, *,
24
+ client_email: Optional[pulumi.Input[_builtins.str]] = None,
25
+ client_id: Optional[pulumi.Input[_builtins.str]] = None,
26
+ credentials: Optional[pulumi.Input[_builtins.str]] = None,
27
+ custom_endpoint: Optional[pulumi.Input['AuthBackendCustomEndpointArgs']] = None,
28
+ description: Optional[pulumi.Input[_builtins.str]] = None,
29
+ disable_automated_rotation: Optional[pulumi.Input[_builtins.bool]] = None,
30
+ disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
31
+ gce_alias: Optional[pulumi.Input[_builtins.str]] = None,
32
+ gce_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
33
+ iam_alias: Optional[pulumi.Input[_builtins.str]] = None,
34
+ iam_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
35
+ identity_token_audience: Optional[pulumi.Input[_builtins.str]] = None,
36
+ identity_token_key: Optional[pulumi.Input[_builtins.str]] = None,
37
+ identity_token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
38
+ local: Optional[pulumi.Input[_builtins.bool]] = None,
39
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
40
+ path: Optional[pulumi.Input[_builtins.str]] = None,
41
+ private_key_id: Optional[pulumi.Input[_builtins.str]] = None,
42
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
43
+ rotation_period: Optional[pulumi.Input[_builtins.int]] = None,
44
+ rotation_schedule: Optional[pulumi.Input[_builtins.str]] = None,
45
+ rotation_window: Optional[pulumi.Input[_builtins.int]] = None,
46
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
47
+ tune: Optional[pulumi.Input['AuthBackendTuneArgs']] = None):
48
+ """
49
+ The set of arguments for constructing a AuthBackend resource.
50
+ :param pulumi.Input[_builtins.str] client_email: The clients email associated with the credentials
51
+ :param pulumi.Input[_builtins.str] client_id: The Client ID of the credentials
52
+ :param pulumi.Input[_builtins.str] credentials: A JSON string containing the contents of a GCP credentials file. If this value is empty, Vault will try to use Application Default Credentials from the machine on which the Vault server is running.
53
+ :param pulumi.Input['AuthBackendCustomEndpointArgs'] custom_endpoint: Specifies overrides to
54
+ [service endpoints](https://cloud.google.com/apis/design/glossary#api_service_endpoint)
55
+ used when making API requests. This allows specific requests made during authentication
56
+ to target alternative service endpoints for use in [Private Google Access](https://cloud.google.com/vpc/docs/configure-private-google-access)
57
+ environments. Requires Vault 1.11+.
58
+
59
+ Overrides are set at the subdomain level using the following keys:
60
+ :param pulumi.Input[_builtins.str] description: A description of the auth method.
61
+ :param pulumi.Input[_builtins.bool] disable_automated_rotation: Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.
62
+ :param pulumi.Input[_builtins.bool] disable_remount: If set, opts out of mount migration on path updates.
63
+ See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
64
+ :param pulumi.Input[_builtins.str] gce_alias: Defines what alias needs to be used during login and refelects the same in token metadata and audit logs.
65
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] gce_metadatas: Controls which instance metadata fields from the GCE login are captured into Vault's token metadata or audit logs.
66
+ :param pulumi.Input[_builtins.str] iam_alias: Defines what alias needs to be used during login and refelects the same in token metadata and audit logs.
67
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] iam_metadatas: Controls the metadata to include on the token returned by the login endpoint.
68
+ :param pulumi.Input[_builtins.str] identity_token_audience: The audience claim value for plugin identity
69
+ tokens. Must match an allowed audience configured for the target [Workload Identity Pool](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-providers#prepare).
70
+ Mutually exclusive with `credentials`. Requires Vault 1.17+. *Available only for Vault Enterprise*.
71
+ :param pulumi.Input[_builtins.str] identity_token_key: The key to use for signing plugin identity
72
+ tokens. Requires Vault 1.17+. *Available only for Vault Enterprise*.
73
+ :param pulumi.Input[_builtins.int] identity_token_ttl: The TTL of generated tokens.
74
+ :param pulumi.Input[_builtins.bool] local: Specifies if the auth method is local only.
75
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
76
+ The value should not contain leading or trailing forward slashes.
77
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
78
+ *Available only for Vault Enterprise*.
79
+ :param pulumi.Input[_builtins.str] path: The path to mount the auth method — this defaults to 'gcp'.
80
+ :param pulumi.Input[_builtins.str] private_key_id: The ID of the private key from the credentials
81
+ :param pulumi.Input[_builtins.str] project_id: The GCP Project ID
82
+ :param pulumi.Input[_builtins.int] rotation_period: The amount of time in seconds Vault should wait before rotating the root credential.
83
+ A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.
84
+ :param pulumi.Input[_builtins.str] rotation_schedule: The schedule, in [cron-style time format](https://en.wikipedia.org/wiki/Cron),
85
+ defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.
86
+ :param pulumi.Input[_builtins.int] rotation_window: The maximum amount of time in seconds allowed to complete
87
+ a rotation when a scheduled token rotation occurs. The default rotation window is
88
+ unbound and the minimum allowable window is `3600`. Requires Vault Enterprise 1.19+.
89
+ :param pulumi.Input[_builtins.str] service_account_email: Service Account to impersonate for plugin workload identity federation.
90
+ Required with `identity_token_audience`. Requires Vault 1.17+. *Available only for Vault Enterprise*.
91
+ :param pulumi.Input['AuthBackendTuneArgs'] tune: Extra configuration block. Structure is documented below.
92
+
93
+ The `tune` block is used to tune the auth backend:
94
+ """
95
+ if client_email is not None:
96
+ pulumi.set(__self__, "client_email", client_email)
97
+ if client_id is not None:
98
+ pulumi.set(__self__, "client_id", client_id)
99
+ if credentials is not None:
100
+ pulumi.set(__self__, "credentials", credentials)
101
+ if custom_endpoint is not None:
102
+ pulumi.set(__self__, "custom_endpoint", custom_endpoint)
103
+ if description is not None:
104
+ pulumi.set(__self__, "description", description)
105
+ if disable_automated_rotation is not None:
106
+ pulumi.set(__self__, "disable_automated_rotation", disable_automated_rotation)
107
+ if disable_remount is not None:
108
+ pulumi.set(__self__, "disable_remount", disable_remount)
109
+ if gce_alias is not None:
110
+ pulumi.set(__self__, "gce_alias", gce_alias)
111
+ if gce_metadatas is not None:
112
+ pulumi.set(__self__, "gce_metadatas", gce_metadatas)
113
+ if iam_alias is not None:
114
+ pulumi.set(__self__, "iam_alias", iam_alias)
115
+ if iam_metadatas is not None:
116
+ pulumi.set(__self__, "iam_metadatas", iam_metadatas)
117
+ if identity_token_audience is not None:
118
+ pulumi.set(__self__, "identity_token_audience", identity_token_audience)
119
+ if identity_token_key is not None:
120
+ pulumi.set(__self__, "identity_token_key", identity_token_key)
121
+ if identity_token_ttl is not None:
122
+ pulumi.set(__self__, "identity_token_ttl", identity_token_ttl)
123
+ if local is not None:
124
+ pulumi.set(__self__, "local", local)
125
+ if namespace is not None:
126
+ pulumi.set(__self__, "namespace", namespace)
127
+ if path is not None:
128
+ pulumi.set(__self__, "path", path)
129
+ if private_key_id is not None:
130
+ pulumi.set(__self__, "private_key_id", private_key_id)
131
+ if project_id is not None:
132
+ pulumi.set(__self__, "project_id", project_id)
133
+ if rotation_period is not None:
134
+ pulumi.set(__self__, "rotation_period", rotation_period)
135
+ if rotation_schedule is not None:
136
+ pulumi.set(__self__, "rotation_schedule", rotation_schedule)
137
+ if rotation_window is not None:
138
+ pulumi.set(__self__, "rotation_window", rotation_window)
139
+ if service_account_email is not None:
140
+ pulumi.set(__self__, "service_account_email", service_account_email)
141
+ if tune is not None:
142
+ pulumi.set(__self__, "tune", tune)
143
+
144
+ @_builtins.property
145
+ @pulumi.getter(name="clientEmail")
146
+ def client_email(self) -> Optional[pulumi.Input[_builtins.str]]:
147
+ """
148
+ The clients email associated with the credentials
149
+ """
150
+ return pulumi.get(self, "client_email")
151
+
152
+ @client_email.setter
153
+ def client_email(self, value: Optional[pulumi.Input[_builtins.str]]):
154
+ pulumi.set(self, "client_email", value)
155
+
156
+ @_builtins.property
157
+ @pulumi.getter(name="clientId")
158
+ def client_id(self) -> Optional[pulumi.Input[_builtins.str]]:
159
+ """
160
+ The Client ID of the credentials
161
+ """
162
+ return pulumi.get(self, "client_id")
163
+
164
+ @client_id.setter
165
+ def client_id(self, value: Optional[pulumi.Input[_builtins.str]]):
166
+ pulumi.set(self, "client_id", value)
167
+
168
+ @_builtins.property
169
+ @pulumi.getter
170
+ def credentials(self) -> Optional[pulumi.Input[_builtins.str]]:
171
+ """
172
+ A JSON string containing the contents of a GCP credentials file. If this value is empty, Vault will try to use Application Default Credentials from the machine on which the Vault server is running.
173
+ """
174
+ return pulumi.get(self, "credentials")
175
+
176
+ @credentials.setter
177
+ def credentials(self, value: Optional[pulumi.Input[_builtins.str]]):
178
+ pulumi.set(self, "credentials", value)
179
+
180
+ @_builtins.property
181
+ @pulumi.getter(name="customEndpoint")
182
+ def custom_endpoint(self) -> Optional[pulumi.Input['AuthBackendCustomEndpointArgs']]:
183
+ """
184
+ Specifies overrides to
185
+ [service endpoints](https://cloud.google.com/apis/design/glossary#api_service_endpoint)
186
+ used when making API requests. This allows specific requests made during authentication
187
+ to target alternative service endpoints for use in [Private Google Access](https://cloud.google.com/vpc/docs/configure-private-google-access)
188
+ environments. Requires Vault 1.11+.
189
+
190
+ Overrides are set at the subdomain level using the following keys:
191
+ """
192
+ return pulumi.get(self, "custom_endpoint")
193
+
194
+ @custom_endpoint.setter
195
+ def custom_endpoint(self, value: Optional[pulumi.Input['AuthBackendCustomEndpointArgs']]):
196
+ pulumi.set(self, "custom_endpoint", value)
197
+
198
+ @_builtins.property
199
+ @pulumi.getter
200
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
201
+ """
202
+ A description of the auth method.
203
+ """
204
+ return pulumi.get(self, "description")
205
+
206
+ @description.setter
207
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
208
+ pulumi.set(self, "description", value)
209
+
210
+ @_builtins.property
211
+ @pulumi.getter(name="disableAutomatedRotation")
212
+ def disable_automated_rotation(self) -> Optional[pulumi.Input[_builtins.bool]]:
213
+ """
214
+ Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.
215
+ """
216
+ return pulumi.get(self, "disable_automated_rotation")
217
+
218
+ @disable_automated_rotation.setter
219
+ def disable_automated_rotation(self, value: Optional[pulumi.Input[_builtins.bool]]):
220
+ pulumi.set(self, "disable_automated_rotation", value)
221
+
222
+ @_builtins.property
223
+ @pulumi.getter(name="disableRemount")
224
+ def disable_remount(self) -> Optional[pulumi.Input[_builtins.bool]]:
225
+ """
226
+ If set, opts out of mount migration on path updates.
227
+ See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
228
+ """
229
+ return pulumi.get(self, "disable_remount")
230
+
231
+ @disable_remount.setter
232
+ def disable_remount(self, value: Optional[pulumi.Input[_builtins.bool]]):
233
+ pulumi.set(self, "disable_remount", value)
234
+
235
+ @_builtins.property
236
+ @pulumi.getter(name="gceAlias")
237
+ def gce_alias(self) -> Optional[pulumi.Input[_builtins.str]]:
238
+ """
239
+ Defines what alias needs to be used during login and refelects the same in token metadata and audit logs.
240
+ """
241
+ return pulumi.get(self, "gce_alias")
242
+
243
+ @gce_alias.setter
244
+ def gce_alias(self, value: Optional[pulumi.Input[_builtins.str]]):
245
+ pulumi.set(self, "gce_alias", value)
246
+
247
+ @_builtins.property
248
+ @pulumi.getter(name="gceMetadatas")
249
+ def gce_metadatas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
250
+ """
251
+ Controls which instance metadata fields from the GCE login are captured into Vault's token metadata or audit logs.
252
+ """
253
+ return pulumi.get(self, "gce_metadatas")
254
+
255
+ @gce_metadatas.setter
256
+ def gce_metadatas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
257
+ pulumi.set(self, "gce_metadatas", value)
258
+
259
+ @_builtins.property
260
+ @pulumi.getter(name="iamAlias")
261
+ def iam_alias(self) -> Optional[pulumi.Input[_builtins.str]]:
262
+ """
263
+ Defines what alias needs to be used during login and refelects the same in token metadata and audit logs.
264
+ """
265
+ return pulumi.get(self, "iam_alias")
266
+
267
+ @iam_alias.setter
268
+ def iam_alias(self, value: Optional[pulumi.Input[_builtins.str]]):
269
+ pulumi.set(self, "iam_alias", value)
270
+
271
+ @_builtins.property
272
+ @pulumi.getter(name="iamMetadatas")
273
+ def iam_metadatas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
274
+ """
275
+ Controls the metadata to include on the token returned by the login endpoint.
276
+ """
277
+ return pulumi.get(self, "iam_metadatas")
278
+
279
+ @iam_metadatas.setter
280
+ def iam_metadatas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
281
+ pulumi.set(self, "iam_metadatas", value)
282
+
283
+ @_builtins.property
284
+ @pulumi.getter(name="identityTokenAudience")
285
+ def identity_token_audience(self) -> Optional[pulumi.Input[_builtins.str]]:
286
+ """
287
+ The audience claim value for plugin identity
288
+ tokens. Must match an allowed audience configured for the target [Workload Identity Pool](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-providers#prepare).
289
+ Mutually exclusive with `credentials`. Requires Vault 1.17+. *Available only for Vault Enterprise*.
290
+ """
291
+ return pulumi.get(self, "identity_token_audience")
292
+
293
+ @identity_token_audience.setter
294
+ def identity_token_audience(self, value: Optional[pulumi.Input[_builtins.str]]):
295
+ pulumi.set(self, "identity_token_audience", value)
296
+
297
+ @_builtins.property
298
+ @pulumi.getter(name="identityTokenKey")
299
+ def identity_token_key(self) -> Optional[pulumi.Input[_builtins.str]]:
300
+ """
301
+ The key to use for signing plugin identity
302
+ tokens. Requires Vault 1.17+. *Available only for Vault Enterprise*.
303
+ """
304
+ return pulumi.get(self, "identity_token_key")
305
+
306
+ @identity_token_key.setter
307
+ def identity_token_key(self, value: Optional[pulumi.Input[_builtins.str]]):
308
+ pulumi.set(self, "identity_token_key", value)
309
+
310
+ @_builtins.property
311
+ @pulumi.getter(name="identityTokenTtl")
312
+ def identity_token_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
313
+ """
314
+ The TTL of generated tokens.
315
+ """
316
+ return pulumi.get(self, "identity_token_ttl")
317
+
318
+ @identity_token_ttl.setter
319
+ def identity_token_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
320
+ pulumi.set(self, "identity_token_ttl", value)
321
+
322
+ @_builtins.property
323
+ @pulumi.getter
324
+ def local(self) -> Optional[pulumi.Input[_builtins.bool]]:
325
+ """
326
+ Specifies if the auth method is local only.
327
+ """
328
+ return pulumi.get(self, "local")
329
+
330
+ @local.setter
331
+ def local(self, value: Optional[pulumi.Input[_builtins.bool]]):
332
+ pulumi.set(self, "local", value)
333
+
334
+ @_builtins.property
335
+ @pulumi.getter
336
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
337
+ """
338
+ The namespace to provision the resource in.
339
+ The value should not contain leading or trailing forward slashes.
340
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
341
+ *Available only for Vault Enterprise*.
342
+ """
343
+ return pulumi.get(self, "namespace")
344
+
345
+ @namespace.setter
346
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
347
+ pulumi.set(self, "namespace", value)
348
+
349
+ @_builtins.property
350
+ @pulumi.getter
351
+ def path(self) -> Optional[pulumi.Input[_builtins.str]]:
352
+ """
353
+ The path to mount the auth method — this defaults to 'gcp'.
354
+ """
355
+ return pulumi.get(self, "path")
356
+
357
+ @path.setter
358
+ def path(self, value: Optional[pulumi.Input[_builtins.str]]):
359
+ pulumi.set(self, "path", value)
360
+
361
+ @_builtins.property
362
+ @pulumi.getter(name="privateKeyId")
363
+ def private_key_id(self) -> Optional[pulumi.Input[_builtins.str]]:
364
+ """
365
+ The ID of the private key from the credentials
366
+ """
367
+ return pulumi.get(self, "private_key_id")
368
+
369
+ @private_key_id.setter
370
+ def private_key_id(self, value: Optional[pulumi.Input[_builtins.str]]):
371
+ pulumi.set(self, "private_key_id", value)
372
+
373
+ @_builtins.property
374
+ @pulumi.getter(name="projectId")
375
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
376
+ """
377
+ The GCP Project ID
378
+ """
379
+ return pulumi.get(self, "project_id")
380
+
381
+ @project_id.setter
382
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
383
+ pulumi.set(self, "project_id", value)
384
+
385
+ @_builtins.property
386
+ @pulumi.getter(name="rotationPeriod")
387
+ def rotation_period(self) -> Optional[pulumi.Input[_builtins.int]]:
388
+ """
389
+ The amount of time in seconds Vault should wait before rotating the root credential.
390
+ A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.
391
+ """
392
+ return pulumi.get(self, "rotation_period")
393
+
394
+ @rotation_period.setter
395
+ def rotation_period(self, value: Optional[pulumi.Input[_builtins.int]]):
396
+ pulumi.set(self, "rotation_period", value)
397
+
398
+ @_builtins.property
399
+ @pulumi.getter(name="rotationSchedule")
400
+ def rotation_schedule(self) -> Optional[pulumi.Input[_builtins.str]]:
401
+ """
402
+ The schedule, in [cron-style time format](https://en.wikipedia.org/wiki/Cron),
403
+ defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.
404
+ """
405
+ return pulumi.get(self, "rotation_schedule")
406
+
407
+ @rotation_schedule.setter
408
+ def rotation_schedule(self, value: Optional[pulumi.Input[_builtins.str]]):
409
+ pulumi.set(self, "rotation_schedule", value)
410
+
411
+ @_builtins.property
412
+ @pulumi.getter(name="rotationWindow")
413
+ def rotation_window(self) -> Optional[pulumi.Input[_builtins.int]]:
414
+ """
415
+ The maximum amount of time in seconds allowed to complete
416
+ a rotation when a scheduled token rotation occurs. The default rotation window is
417
+ unbound and the minimum allowable window is `3600`. Requires Vault Enterprise 1.19+.
418
+ """
419
+ return pulumi.get(self, "rotation_window")
420
+
421
+ @rotation_window.setter
422
+ def rotation_window(self, value: Optional[pulumi.Input[_builtins.int]]):
423
+ pulumi.set(self, "rotation_window", value)
424
+
425
+ @_builtins.property
426
+ @pulumi.getter(name="serviceAccountEmail")
427
+ def service_account_email(self) -> Optional[pulumi.Input[_builtins.str]]:
428
+ """
429
+ Service Account to impersonate for plugin workload identity federation.
430
+ Required with `identity_token_audience`. Requires Vault 1.17+. *Available only for Vault Enterprise*.
431
+ """
432
+ return pulumi.get(self, "service_account_email")
433
+
434
+ @service_account_email.setter
435
+ def service_account_email(self, value: Optional[pulumi.Input[_builtins.str]]):
436
+ pulumi.set(self, "service_account_email", value)
437
+
438
+ @_builtins.property
439
+ @pulumi.getter
440
+ def tune(self) -> Optional[pulumi.Input['AuthBackendTuneArgs']]:
441
+ """
442
+ Extra configuration block. Structure is documented below.
443
+
444
+ The `tune` block is used to tune the auth backend:
445
+ """
446
+ return pulumi.get(self, "tune")
447
+
448
+ @tune.setter
449
+ def tune(self, value: Optional[pulumi.Input['AuthBackendTuneArgs']]):
450
+ pulumi.set(self, "tune", value)
451
+
452
+
453
+ @pulumi.input_type
454
+ class _AuthBackendState:
455
+ def __init__(__self__, *,
456
+ accessor: Optional[pulumi.Input[_builtins.str]] = None,
457
+ client_email: Optional[pulumi.Input[_builtins.str]] = None,
458
+ client_id: Optional[pulumi.Input[_builtins.str]] = None,
459
+ credentials: Optional[pulumi.Input[_builtins.str]] = None,
460
+ custom_endpoint: Optional[pulumi.Input['AuthBackendCustomEndpointArgs']] = None,
461
+ description: Optional[pulumi.Input[_builtins.str]] = None,
462
+ disable_automated_rotation: Optional[pulumi.Input[_builtins.bool]] = None,
463
+ disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
464
+ gce_alias: Optional[pulumi.Input[_builtins.str]] = None,
465
+ gce_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
466
+ iam_alias: Optional[pulumi.Input[_builtins.str]] = None,
467
+ iam_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
468
+ identity_token_audience: Optional[pulumi.Input[_builtins.str]] = None,
469
+ identity_token_key: Optional[pulumi.Input[_builtins.str]] = None,
470
+ identity_token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
471
+ local: Optional[pulumi.Input[_builtins.bool]] = None,
472
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
473
+ path: Optional[pulumi.Input[_builtins.str]] = None,
474
+ private_key_id: Optional[pulumi.Input[_builtins.str]] = None,
475
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
476
+ rotation_period: Optional[pulumi.Input[_builtins.int]] = None,
477
+ rotation_schedule: Optional[pulumi.Input[_builtins.str]] = None,
478
+ rotation_window: Optional[pulumi.Input[_builtins.int]] = None,
479
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
480
+ tune: Optional[pulumi.Input['AuthBackendTuneArgs']] = None):
481
+ """
482
+ Input properties used for looking up and filtering AuthBackend resources.
483
+ :param pulumi.Input[_builtins.str] accessor: The mount accessor related to the auth mount. It is useful for integration with [Identity Secrets Engine](https://www.vaultproject.io/docs/secrets/identity/index.html).
484
+ :param pulumi.Input[_builtins.str] client_email: The clients email associated with the credentials
485
+ :param pulumi.Input[_builtins.str] client_id: The Client ID of the credentials
486
+ :param pulumi.Input[_builtins.str] credentials: A JSON string containing the contents of a GCP credentials file. If this value is empty, Vault will try to use Application Default Credentials from the machine on which the Vault server is running.
487
+ :param pulumi.Input['AuthBackendCustomEndpointArgs'] custom_endpoint: Specifies overrides to
488
+ [service endpoints](https://cloud.google.com/apis/design/glossary#api_service_endpoint)
489
+ used when making API requests. This allows specific requests made during authentication
490
+ to target alternative service endpoints for use in [Private Google Access](https://cloud.google.com/vpc/docs/configure-private-google-access)
491
+ environments. Requires Vault 1.11+.
492
+
493
+ Overrides are set at the subdomain level using the following keys:
494
+ :param pulumi.Input[_builtins.str] description: A description of the auth method.
495
+ :param pulumi.Input[_builtins.bool] disable_automated_rotation: Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.
496
+ :param pulumi.Input[_builtins.bool] disable_remount: If set, opts out of mount migration on path updates.
497
+ See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
498
+ :param pulumi.Input[_builtins.str] gce_alias: Defines what alias needs to be used during login and refelects the same in token metadata and audit logs.
499
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] gce_metadatas: Controls which instance metadata fields from the GCE login are captured into Vault's token metadata or audit logs.
500
+ :param pulumi.Input[_builtins.str] iam_alias: Defines what alias needs to be used during login and refelects the same in token metadata and audit logs.
501
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] iam_metadatas: Controls the metadata to include on the token returned by the login endpoint.
502
+ :param pulumi.Input[_builtins.str] identity_token_audience: The audience claim value for plugin identity
503
+ tokens. Must match an allowed audience configured for the target [Workload Identity Pool](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-providers#prepare).
504
+ Mutually exclusive with `credentials`. Requires Vault 1.17+. *Available only for Vault Enterprise*.
505
+ :param pulumi.Input[_builtins.str] identity_token_key: The key to use for signing plugin identity
506
+ tokens. Requires Vault 1.17+. *Available only for Vault Enterprise*.
507
+ :param pulumi.Input[_builtins.int] identity_token_ttl: The TTL of generated tokens.
508
+ :param pulumi.Input[_builtins.bool] local: Specifies if the auth method is local only.
509
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
510
+ The value should not contain leading or trailing forward slashes.
511
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
512
+ *Available only for Vault Enterprise*.
513
+ :param pulumi.Input[_builtins.str] path: The path to mount the auth method — this defaults to 'gcp'.
514
+ :param pulumi.Input[_builtins.str] private_key_id: The ID of the private key from the credentials
515
+ :param pulumi.Input[_builtins.str] project_id: The GCP Project ID
516
+ :param pulumi.Input[_builtins.int] rotation_period: The amount of time in seconds Vault should wait before rotating the root credential.
517
+ A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.
518
+ :param pulumi.Input[_builtins.str] rotation_schedule: The schedule, in [cron-style time format](https://en.wikipedia.org/wiki/Cron),
519
+ defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.
520
+ :param pulumi.Input[_builtins.int] rotation_window: The maximum amount of time in seconds allowed to complete
521
+ a rotation when a scheduled token rotation occurs. The default rotation window is
522
+ unbound and the minimum allowable window is `3600`. Requires Vault Enterprise 1.19+.
523
+ :param pulumi.Input[_builtins.str] service_account_email: Service Account to impersonate for plugin workload identity federation.
524
+ Required with `identity_token_audience`. Requires Vault 1.17+. *Available only for Vault Enterprise*.
525
+ :param pulumi.Input['AuthBackendTuneArgs'] tune: Extra configuration block. Structure is documented below.
526
+
527
+ The `tune` block is used to tune the auth backend:
528
+ """
529
+ if accessor is not None:
530
+ pulumi.set(__self__, "accessor", accessor)
531
+ if client_email is not None:
532
+ pulumi.set(__self__, "client_email", client_email)
533
+ if client_id is not None:
534
+ pulumi.set(__self__, "client_id", client_id)
535
+ if credentials is not None:
536
+ pulumi.set(__self__, "credentials", credentials)
537
+ if custom_endpoint is not None:
538
+ pulumi.set(__self__, "custom_endpoint", custom_endpoint)
539
+ if description is not None:
540
+ pulumi.set(__self__, "description", description)
541
+ if disable_automated_rotation is not None:
542
+ pulumi.set(__self__, "disable_automated_rotation", disable_automated_rotation)
543
+ if disable_remount is not None:
544
+ pulumi.set(__self__, "disable_remount", disable_remount)
545
+ if gce_alias is not None:
546
+ pulumi.set(__self__, "gce_alias", gce_alias)
547
+ if gce_metadatas is not None:
548
+ pulumi.set(__self__, "gce_metadatas", gce_metadatas)
549
+ if iam_alias is not None:
550
+ pulumi.set(__self__, "iam_alias", iam_alias)
551
+ if iam_metadatas is not None:
552
+ pulumi.set(__self__, "iam_metadatas", iam_metadatas)
553
+ if identity_token_audience is not None:
554
+ pulumi.set(__self__, "identity_token_audience", identity_token_audience)
555
+ if identity_token_key is not None:
556
+ pulumi.set(__self__, "identity_token_key", identity_token_key)
557
+ if identity_token_ttl is not None:
558
+ pulumi.set(__self__, "identity_token_ttl", identity_token_ttl)
559
+ if local is not None:
560
+ pulumi.set(__self__, "local", local)
561
+ if namespace is not None:
562
+ pulumi.set(__self__, "namespace", namespace)
563
+ if path is not None:
564
+ pulumi.set(__self__, "path", path)
565
+ if private_key_id is not None:
566
+ pulumi.set(__self__, "private_key_id", private_key_id)
567
+ if project_id is not None:
568
+ pulumi.set(__self__, "project_id", project_id)
569
+ if rotation_period is not None:
570
+ pulumi.set(__self__, "rotation_period", rotation_period)
571
+ if rotation_schedule is not None:
572
+ pulumi.set(__self__, "rotation_schedule", rotation_schedule)
573
+ if rotation_window is not None:
574
+ pulumi.set(__self__, "rotation_window", rotation_window)
575
+ if service_account_email is not None:
576
+ pulumi.set(__self__, "service_account_email", service_account_email)
577
+ if tune is not None:
578
+ pulumi.set(__self__, "tune", tune)
579
+
580
+ @_builtins.property
581
+ @pulumi.getter
582
+ def accessor(self) -> Optional[pulumi.Input[_builtins.str]]:
583
+ """
584
+ The mount accessor related to the auth mount. It is useful for integration with [Identity Secrets Engine](https://www.vaultproject.io/docs/secrets/identity/index.html).
585
+ """
586
+ return pulumi.get(self, "accessor")
587
+
588
+ @accessor.setter
589
+ def accessor(self, value: Optional[pulumi.Input[_builtins.str]]):
590
+ pulumi.set(self, "accessor", value)
591
+
592
+ @_builtins.property
593
+ @pulumi.getter(name="clientEmail")
594
+ def client_email(self) -> Optional[pulumi.Input[_builtins.str]]:
595
+ """
596
+ The clients email associated with the credentials
597
+ """
598
+ return pulumi.get(self, "client_email")
599
+
600
+ @client_email.setter
601
+ def client_email(self, value: Optional[pulumi.Input[_builtins.str]]):
602
+ pulumi.set(self, "client_email", value)
603
+
604
+ @_builtins.property
605
+ @pulumi.getter(name="clientId")
606
+ def client_id(self) -> Optional[pulumi.Input[_builtins.str]]:
607
+ """
608
+ The Client ID of the credentials
609
+ """
610
+ return pulumi.get(self, "client_id")
611
+
612
+ @client_id.setter
613
+ def client_id(self, value: Optional[pulumi.Input[_builtins.str]]):
614
+ pulumi.set(self, "client_id", value)
615
+
616
+ @_builtins.property
617
+ @pulumi.getter
618
+ def credentials(self) -> Optional[pulumi.Input[_builtins.str]]:
619
+ """
620
+ A JSON string containing the contents of a GCP credentials file. If this value is empty, Vault will try to use Application Default Credentials from the machine on which the Vault server is running.
621
+ """
622
+ return pulumi.get(self, "credentials")
623
+
624
+ @credentials.setter
625
+ def credentials(self, value: Optional[pulumi.Input[_builtins.str]]):
626
+ pulumi.set(self, "credentials", value)
627
+
628
+ @_builtins.property
629
+ @pulumi.getter(name="customEndpoint")
630
+ def custom_endpoint(self) -> Optional[pulumi.Input['AuthBackendCustomEndpointArgs']]:
631
+ """
632
+ Specifies overrides to
633
+ [service endpoints](https://cloud.google.com/apis/design/glossary#api_service_endpoint)
634
+ used when making API requests. This allows specific requests made during authentication
635
+ to target alternative service endpoints for use in [Private Google Access](https://cloud.google.com/vpc/docs/configure-private-google-access)
636
+ environments. Requires Vault 1.11+.
637
+
638
+ Overrides are set at the subdomain level using the following keys:
639
+ """
640
+ return pulumi.get(self, "custom_endpoint")
641
+
642
+ @custom_endpoint.setter
643
+ def custom_endpoint(self, value: Optional[pulumi.Input['AuthBackendCustomEndpointArgs']]):
644
+ pulumi.set(self, "custom_endpoint", value)
645
+
646
+ @_builtins.property
647
+ @pulumi.getter
648
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
649
+ """
650
+ A description of the auth method.
651
+ """
652
+ return pulumi.get(self, "description")
653
+
654
+ @description.setter
655
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
656
+ pulumi.set(self, "description", value)
657
+
658
+ @_builtins.property
659
+ @pulumi.getter(name="disableAutomatedRotation")
660
+ def disable_automated_rotation(self) -> Optional[pulumi.Input[_builtins.bool]]:
661
+ """
662
+ Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.
663
+ """
664
+ return pulumi.get(self, "disable_automated_rotation")
665
+
666
+ @disable_automated_rotation.setter
667
+ def disable_automated_rotation(self, value: Optional[pulumi.Input[_builtins.bool]]):
668
+ pulumi.set(self, "disable_automated_rotation", value)
669
+
670
+ @_builtins.property
671
+ @pulumi.getter(name="disableRemount")
672
+ def disable_remount(self) -> Optional[pulumi.Input[_builtins.bool]]:
673
+ """
674
+ If set, opts out of mount migration on path updates.
675
+ See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
676
+ """
677
+ return pulumi.get(self, "disable_remount")
678
+
679
+ @disable_remount.setter
680
+ def disable_remount(self, value: Optional[pulumi.Input[_builtins.bool]]):
681
+ pulumi.set(self, "disable_remount", value)
682
+
683
+ @_builtins.property
684
+ @pulumi.getter(name="gceAlias")
685
+ def gce_alias(self) -> Optional[pulumi.Input[_builtins.str]]:
686
+ """
687
+ Defines what alias needs to be used during login and refelects the same in token metadata and audit logs.
688
+ """
689
+ return pulumi.get(self, "gce_alias")
690
+
691
+ @gce_alias.setter
692
+ def gce_alias(self, value: Optional[pulumi.Input[_builtins.str]]):
693
+ pulumi.set(self, "gce_alias", value)
694
+
695
+ @_builtins.property
696
+ @pulumi.getter(name="gceMetadatas")
697
+ def gce_metadatas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
698
+ """
699
+ Controls which instance metadata fields from the GCE login are captured into Vault's token metadata or audit logs.
700
+ """
701
+ return pulumi.get(self, "gce_metadatas")
702
+
703
+ @gce_metadatas.setter
704
+ def gce_metadatas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
705
+ pulumi.set(self, "gce_metadatas", value)
706
+
707
+ @_builtins.property
708
+ @pulumi.getter(name="iamAlias")
709
+ def iam_alias(self) -> Optional[pulumi.Input[_builtins.str]]:
710
+ """
711
+ Defines what alias needs to be used during login and refelects the same in token metadata and audit logs.
712
+ """
713
+ return pulumi.get(self, "iam_alias")
714
+
715
+ @iam_alias.setter
716
+ def iam_alias(self, value: Optional[pulumi.Input[_builtins.str]]):
717
+ pulumi.set(self, "iam_alias", value)
718
+
719
+ @_builtins.property
720
+ @pulumi.getter(name="iamMetadatas")
721
+ def iam_metadatas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
722
+ """
723
+ Controls the metadata to include on the token returned by the login endpoint.
724
+ """
725
+ return pulumi.get(self, "iam_metadatas")
726
+
727
+ @iam_metadatas.setter
728
+ def iam_metadatas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
729
+ pulumi.set(self, "iam_metadatas", value)
730
+
731
+ @_builtins.property
732
+ @pulumi.getter(name="identityTokenAudience")
733
+ def identity_token_audience(self) -> Optional[pulumi.Input[_builtins.str]]:
734
+ """
735
+ The audience claim value for plugin identity
736
+ tokens. Must match an allowed audience configured for the target [Workload Identity Pool](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-providers#prepare).
737
+ Mutually exclusive with `credentials`. Requires Vault 1.17+. *Available only for Vault Enterprise*.
738
+ """
739
+ return pulumi.get(self, "identity_token_audience")
740
+
741
+ @identity_token_audience.setter
742
+ def identity_token_audience(self, value: Optional[pulumi.Input[_builtins.str]]):
743
+ pulumi.set(self, "identity_token_audience", value)
744
+
745
+ @_builtins.property
746
+ @pulumi.getter(name="identityTokenKey")
747
+ def identity_token_key(self) -> Optional[pulumi.Input[_builtins.str]]:
748
+ """
749
+ The key to use for signing plugin identity
750
+ tokens. Requires Vault 1.17+. *Available only for Vault Enterprise*.
751
+ """
752
+ return pulumi.get(self, "identity_token_key")
753
+
754
+ @identity_token_key.setter
755
+ def identity_token_key(self, value: Optional[pulumi.Input[_builtins.str]]):
756
+ pulumi.set(self, "identity_token_key", value)
757
+
758
+ @_builtins.property
759
+ @pulumi.getter(name="identityTokenTtl")
760
+ def identity_token_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
761
+ """
762
+ The TTL of generated tokens.
763
+ """
764
+ return pulumi.get(self, "identity_token_ttl")
765
+
766
+ @identity_token_ttl.setter
767
+ def identity_token_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
768
+ pulumi.set(self, "identity_token_ttl", value)
769
+
770
+ @_builtins.property
771
+ @pulumi.getter
772
+ def local(self) -> Optional[pulumi.Input[_builtins.bool]]:
773
+ """
774
+ Specifies if the auth method is local only.
775
+ """
776
+ return pulumi.get(self, "local")
777
+
778
+ @local.setter
779
+ def local(self, value: Optional[pulumi.Input[_builtins.bool]]):
780
+ pulumi.set(self, "local", value)
781
+
782
+ @_builtins.property
783
+ @pulumi.getter
784
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
785
+ """
786
+ The namespace to provision the resource in.
787
+ The value should not contain leading or trailing forward slashes.
788
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
789
+ *Available only for Vault Enterprise*.
790
+ """
791
+ return pulumi.get(self, "namespace")
792
+
793
+ @namespace.setter
794
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
795
+ pulumi.set(self, "namespace", value)
796
+
797
+ @_builtins.property
798
+ @pulumi.getter
799
+ def path(self) -> Optional[pulumi.Input[_builtins.str]]:
800
+ """
801
+ The path to mount the auth method — this defaults to 'gcp'.
802
+ """
803
+ return pulumi.get(self, "path")
804
+
805
+ @path.setter
806
+ def path(self, value: Optional[pulumi.Input[_builtins.str]]):
807
+ pulumi.set(self, "path", value)
808
+
809
+ @_builtins.property
810
+ @pulumi.getter(name="privateKeyId")
811
+ def private_key_id(self) -> Optional[pulumi.Input[_builtins.str]]:
812
+ """
813
+ The ID of the private key from the credentials
814
+ """
815
+ return pulumi.get(self, "private_key_id")
816
+
817
+ @private_key_id.setter
818
+ def private_key_id(self, value: Optional[pulumi.Input[_builtins.str]]):
819
+ pulumi.set(self, "private_key_id", value)
820
+
821
+ @_builtins.property
822
+ @pulumi.getter(name="projectId")
823
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
824
+ """
825
+ The GCP Project ID
826
+ """
827
+ return pulumi.get(self, "project_id")
828
+
829
+ @project_id.setter
830
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
831
+ pulumi.set(self, "project_id", value)
832
+
833
+ @_builtins.property
834
+ @pulumi.getter(name="rotationPeriod")
835
+ def rotation_period(self) -> Optional[pulumi.Input[_builtins.int]]:
836
+ """
837
+ The amount of time in seconds Vault should wait before rotating the root credential.
838
+ A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.
839
+ """
840
+ return pulumi.get(self, "rotation_period")
841
+
842
+ @rotation_period.setter
843
+ def rotation_period(self, value: Optional[pulumi.Input[_builtins.int]]):
844
+ pulumi.set(self, "rotation_period", value)
845
+
846
+ @_builtins.property
847
+ @pulumi.getter(name="rotationSchedule")
848
+ def rotation_schedule(self) -> Optional[pulumi.Input[_builtins.str]]:
849
+ """
850
+ The schedule, in [cron-style time format](https://en.wikipedia.org/wiki/Cron),
851
+ defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.
852
+ """
853
+ return pulumi.get(self, "rotation_schedule")
854
+
855
+ @rotation_schedule.setter
856
+ def rotation_schedule(self, value: Optional[pulumi.Input[_builtins.str]]):
857
+ pulumi.set(self, "rotation_schedule", value)
858
+
859
+ @_builtins.property
860
+ @pulumi.getter(name="rotationWindow")
861
+ def rotation_window(self) -> Optional[pulumi.Input[_builtins.int]]:
862
+ """
863
+ The maximum amount of time in seconds allowed to complete
864
+ a rotation when a scheduled token rotation occurs. The default rotation window is
865
+ unbound and the minimum allowable window is `3600`. Requires Vault Enterprise 1.19+.
866
+ """
867
+ return pulumi.get(self, "rotation_window")
868
+
869
+ @rotation_window.setter
870
+ def rotation_window(self, value: Optional[pulumi.Input[_builtins.int]]):
871
+ pulumi.set(self, "rotation_window", value)
872
+
873
+ @_builtins.property
874
+ @pulumi.getter(name="serviceAccountEmail")
875
+ def service_account_email(self) -> Optional[pulumi.Input[_builtins.str]]:
876
+ """
877
+ Service Account to impersonate for plugin workload identity federation.
878
+ Required with `identity_token_audience`. Requires Vault 1.17+. *Available only for Vault Enterprise*.
879
+ """
880
+ return pulumi.get(self, "service_account_email")
881
+
882
+ @service_account_email.setter
883
+ def service_account_email(self, value: Optional[pulumi.Input[_builtins.str]]):
884
+ pulumi.set(self, "service_account_email", value)
885
+
886
+ @_builtins.property
887
+ @pulumi.getter
888
+ def tune(self) -> Optional[pulumi.Input['AuthBackendTuneArgs']]:
889
+ """
890
+ Extra configuration block. Structure is documented below.
891
+
892
+ The `tune` block is used to tune the auth backend:
893
+ """
894
+ return pulumi.get(self, "tune")
895
+
896
+ @tune.setter
897
+ def tune(self, value: Optional[pulumi.Input['AuthBackendTuneArgs']]):
898
+ pulumi.set(self, "tune", value)
899
+
900
+
901
+ @pulumi.type_token("vault:gcp/authBackend:AuthBackend")
902
+ class AuthBackend(pulumi.CustomResource):
903
+ @overload
904
+ def __init__(__self__,
905
+ resource_name: str,
906
+ opts: Optional[pulumi.ResourceOptions] = None,
907
+ client_email: Optional[pulumi.Input[_builtins.str]] = None,
908
+ client_id: Optional[pulumi.Input[_builtins.str]] = None,
909
+ credentials: Optional[pulumi.Input[_builtins.str]] = None,
910
+ custom_endpoint: Optional[pulumi.Input[Union['AuthBackendCustomEndpointArgs', 'AuthBackendCustomEndpointArgsDict']]] = None,
911
+ description: Optional[pulumi.Input[_builtins.str]] = None,
912
+ disable_automated_rotation: Optional[pulumi.Input[_builtins.bool]] = None,
913
+ disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
914
+ gce_alias: Optional[pulumi.Input[_builtins.str]] = None,
915
+ gce_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
916
+ iam_alias: Optional[pulumi.Input[_builtins.str]] = None,
917
+ iam_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
918
+ identity_token_audience: Optional[pulumi.Input[_builtins.str]] = None,
919
+ identity_token_key: Optional[pulumi.Input[_builtins.str]] = None,
920
+ identity_token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
921
+ local: Optional[pulumi.Input[_builtins.bool]] = None,
922
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
923
+ path: Optional[pulumi.Input[_builtins.str]] = None,
924
+ private_key_id: Optional[pulumi.Input[_builtins.str]] = None,
925
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
926
+ rotation_period: Optional[pulumi.Input[_builtins.int]] = None,
927
+ rotation_schedule: Optional[pulumi.Input[_builtins.str]] = None,
928
+ rotation_window: Optional[pulumi.Input[_builtins.int]] = None,
929
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
930
+ tune: Optional[pulumi.Input[Union['AuthBackendTuneArgs', 'AuthBackendTuneArgsDict']]] = None,
931
+ __props__=None):
932
+ """
933
+ Provides a resource to configure the [GCP auth backend within Vault](https://www.vaultproject.io/docs/auth/gcp.html).
934
+
935
+ ## Example Usage
936
+
937
+ You can setup the GCP auth backend with Workload Identity Federation (WIF) for a secret-less configuration:
938
+ ```python
939
+ import pulumi
940
+ import pulumi_vault as vault
941
+
942
+ gcp = vault.gcp.AuthBackend("gcp",
943
+ identity_token_key="example-key",
944
+ identity_token_ttl=1800,
945
+ identity_token_audience="<TOKEN_AUDIENCE>",
946
+ service_account_email="<SERVICE_ACCOUNT_EMAIL>",
947
+ rotation_schedule="0 * * * SAT",
948
+ rotation_window=3600)
949
+ ```
950
+
951
+ ```python
952
+ import pulumi
953
+ import pulumi_std as std
954
+ import pulumi_vault as vault
955
+
956
+ gcp = vault.gcp.AuthBackend("gcp",
957
+ credentials=std.file(input="vault-gcp-credentials.json").result,
958
+ rotation_schedule="0 * * * SAT",
959
+ rotation_window=3600,
960
+ custom_endpoint={
961
+ "api": "www.googleapis.com",
962
+ "iam": "iam.googleapis.com",
963
+ "crm": "cloudresourcemanager.googleapis.com",
964
+ "compute": "compute.googleapis.com",
965
+ }[0])
966
+ ```
967
+
968
+ ## Import
969
+
970
+ GCP authentication backends can be imported using the backend name, e.g.
971
+
972
+ ```sh
973
+ $ pulumi import vault:gcp/authBackend:AuthBackend gcp gcp
974
+ ```
975
+
976
+ :param str resource_name: The name of the resource.
977
+ :param pulumi.ResourceOptions opts: Options for the resource.
978
+ :param pulumi.Input[_builtins.str] client_email: The clients email associated with the credentials
979
+ :param pulumi.Input[_builtins.str] client_id: The Client ID of the credentials
980
+ :param pulumi.Input[_builtins.str] credentials: A JSON string containing the contents of a GCP credentials file. If this value is empty, Vault will try to use Application Default Credentials from the machine on which the Vault server is running.
981
+ :param pulumi.Input[Union['AuthBackendCustomEndpointArgs', 'AuthBackendCustomEndpointArgsDict']] custom_endpoint: Specifies overrides to
982
+ [service endpoints](https://cloud.google.com/apis/design/glossary#api_service_endpoint)
983
+ used when making API requests. This allows specific requests made during authentication
984
+ to target alternative service endpoints for use in [Private Google Access](https://cloud.google.com/vpc/docs/configure-private-google-access)
985
+ environments. Requires Vault 1.11+.
986
+
987
+ Overrides are set at the subdomain level using the following keys:
988
+ :param pulumi.Input[_builtins.str] description: A description of the auth method.
989
+ :param pulumi.Input[_builtins.bool] disable_automated_rotation: Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.
990
+ :param pulumi.Input[_builtins.bool] disable_remount: If set, opts out of mount migration on path updates.
991
+ See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
992
+ :param pulumi.Input[_builtins.str] gce_alias: Defines what alias needs to be used during login and refelects the same in token metadata and audit logs.
993
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] gce_metadatas: Controls which instance metadata fields from the GCE login are captured into Vault's token metadata or audit logs.
994
+ :param pulumi.Input[_builtins.str] iam_alias: Defines what alias needs to be used during login and refelects the same in token metadata and audit logs.
995
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] iam_metadatas: Controls the metadata to include on the token returned by the login endpoint.
996
+ :param pulumi.Input[_builtins.str] identity_token_audience: The audience claim value for plugin identity
997
+ tokens. Must match an allowed audience configured for the target [Workload Identity Pool](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-providers#prepare).
998
+ Mutually exclusive with `credentials`. Requires Vault 1.17+. *Available only for Vault Enterprise*.
999
+ :param pulumi.Input[_builtins.str] identity_token_key: The key to use for signing plugin identity
1000
+ tokens. Requires Vault 1.17+. *Available only for Vault Enterprise*.
1001
+ :param pulumi.Input[_builtins.int] identity_token_ttl: The TTL of generated tokens.
1002
+ :param pulumi.Input[_builtins.bool] local: Specifies if the auth method is local only.
1003
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
1004
+ The value should not contain leading or trailing forward slashes.
1005
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1006
+ *Available only for Vault Enterprise*.
1007
+ :param pulumi.Input[_builtins.str] path: The path to mount the auth method — this defaults to 'gcp'.
1008
+ :param pulumi.Input[_builtins.str] private_key_id: The ID of the private key from the credentials
1009
+ :param pulumi.Input[_builtins.str] project_id: The GCP Project ID
1010
+ :param pulumi.Input[_builtins.int] rotation_period: The amount of time in seconds Vault should wait before rotating the root credential.
1011
+ A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.
1012
+ :param pulumi.Input[_builtins.str] rotation_schedule: The schedule, in [cron-style time format](https://en.wikipedia.org/wiki/Cron),
1013
+ defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.
1014
+ :param pulumi.Input[_builtins.int] rotation_window: The maximum amount of time in seconds allowed to complete
1015
+ a rotation when a scheduled token rotation occurs. The default rotation window is
1016
+ unbound and the minimum allowable window is `3600`. Requires Vault Enterprise 1.19+.
1017
+ :param pulumi.Input[_builtins.str] service_account_email: Service Account to impersonate for plugin workload identity federation.
1018
+ Required with `identity_token_audience`. Requires Vault 1.17+. *Available only for Vault Enterprise*.
1019
+ :param pulumi.Input[Union['AuthBackendTuneArgs', 'AuthBackendTuneArgsDict']] tune: Extra configuration block. Structure is documented below.
1020
+
1021
+ The `tune` block is used to tune the auth backend:
1022
+ """
1023
+ ...
1024
+ @overload
1025
+ def __init__(__self__,
1026
+ resource_name: str,
1027
+ args: Optional[AuthBackendArgs] = None,
1028
+ opts: Optional[pulumi.ResourceOptions] = None):
1029
+ """
1030
+ Provides a resource to configure the [GCP auth backend within Vault](https://www.vaultproject.io/docs/auth/gcp.html).
1031
+
1032
+ ## Example Usage
1033
+
1034
+ You can setup the GCP auth backend with Workload Identity Federation (WIF) for a secret-less configuration:
1035
+ ```python
1036
+ import pulumi
1037
+ import pulumi_vault as vault
1038
+
1039
+ gcp = vault.gcp.AuthBackend("gcp",
1040
+ identity_token_key="example-key",
1041
+ identity_token_ttl=1800,
1042
+ identity_token_audience="<TOKEN_AUDIENCE>",
1043
+ service_account_email="<SERVICE_ACCOUNT_EMAIL>",
1044
+ rotation_schedule="0 * * * SAT",
1045
+ rotation_window=3600)
1046
+ ```
1047
+
1048
+ ```python
1049
+ import pulumi
1050
+ import pulumi_std as std
1051
+ import pulumi_vault as vault
1052
+
1053
+ gcp = vault.gcp.AuthBackend("gcp",
1054
+ credentials=std.file(input="vault-gcp-credentials.json").result,
1055
+ rotation_schedule="0 * * * SAT",
1056
+ rotation_window=3600,
1057
+ custom_endpoint={
1058
+ "api": "www.googleapis.com",
1059
+ "iam": "iam.googleapis.com",
1060
+ "crm": "cloudresourcemanager.googleapis.com",
1061
+ "compute": "compute.googleapis.com",
1062
+ }[0])
1063
+ ```
1064
+
1065
+ ## Import
1066
+
1067
+ GCP authentication backends can be imported using the backend name, e.g.
1068
+
1069
+ ```sh
1070
+ $ pulumi import vault:gcp/authBackend:AuthBackend gcp gcp
1071
+ ```
1072
+
1073
+ :param str resource_name: The name of the resource.
1074
+ :param AuthBackendArgs args: The arguments to use to populate this resource's properties.
1075
+ :param pulumi.ResourceOptions opts: Options for the resource.
1076
+ """
1077
+ ...
1078
+ def __init__(__self__, resource_name: str, *args, **kwargs):
1079
+ resource_args, opts = _utilities.get_resource_args_opts(AuthBackendArgs, pulumi.ResourceOptions, *args, **kwargs)
1080
+ if resource_args is not None:
1081
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
1082
+ else:
1083
+ __self__._internal_init(resource_name, *args, **kwargs)
1084
+
1085
+ def _internal_init(__self__,
1086
+ resource_name: str,
1087
+ opts: Optional[pulumi.ResourceOptions] = None,
1088
+ client_email: Optional[pulumi.Input[_builtins.str]] = None,
1089
+ client_id: Optional[pulumi.Input[_builtins.str]] = None,
1090
+ credentials: Optional[pulumi.Input[_builtins.str]] = None,
1091
+ custom_endpoint: Optional[pulumi.Input[Union['AuthBackendCustomEndpointArgs', 'AuthBackendCustomEndpointArgsDict']]] = None,
1092
+ description: Optional[pulumi.Input[_builtins.str]] = None,
1093
+ disable_automated_rotation: Optional[pulumi.Input[_builtins.bool]] = None,
1094
+ disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
1095
+ gce_alias: Optional[pulumi.Input[_builtins.str]] = None,
1096
+ gce_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1097
+ iam_alias: Optional[pulumi.Input[_builtins.str]] = None,
1098
+ iam_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1099
+ identity_token_audience: Optional[pulumi.Input[_builtins.str]] = None,
1100
+ identity_token_key: Optional[pulumi.Input[_builtins.str]] = None,
1101
+ identity_token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1102
+ local: Optional[pulumi.Input[_builtins.bool]] = None,
1103
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
1104
+ path: Optional[pulumi.Input[_builtins.str]] = None,
1105
+ private_key_id: Optional[pulumi.Input[_builtins.str]] = None,
1106
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
1107
+ rotation_period: Optional[pulumi.Input[_builtins.int]] = None,
1108
+ rotation_schedule: Optional[pulumi.Input[_builtins.str]] = None,
1109
+ rotation_window: Optional[pulumi.Input[_builtins.int]] = None,
1110
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
1111
+ tune: Optional[pulumi.Input[Union['AuthBackendTuneArgs', 'AuthBackendTuneArgsDict']]] = None,
1112
+ __props__=None):
1113
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1114
+ if not isinstance(opts, pulumi.ResourceOptions):
1115
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
1116
+ if opts.id is None:
1117
+ if __props__ is not None:
1118
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
1119
+ __props__ = AuthBackendArgs.__new__(AuthBackendArgs)
1120
+
1121
+ __props__.__dict__["client_email"] = client_email
1122
+ __props__.__dict__["client_id"] = client_id
1123
+ __props__.__dict__["credentials"] = None if credentials is None else pulumi.Output.secret(credentials)
1124
+ __props__.__dict__["custom_endpoint"] = custom_endpoint
1125
+ __props__.__dict__["description"] = description
1126
+ __props__.__dict__["disable_automated_rotation"] = disable_automated_rotation
1127
+ __props__.__dict__["disable_remount"] = disable_remount
1128
+ __props__.__dict__["gce_alias"] = gce_alias
1129
+ __props__.__dict__["gce_metadatas"] = gce_metadatas
1130
+ __props__.__dict__["iam_alias"] = iam_alias
1131
+ __props__.__dict__["iam_metadatas"] = iam_metadatas
1132
+ __props__.__dict__["identity_token_audience"] = identity_token_audience
1133
+ __props__.__dict__["identity_token_key"] = identity_token_key
1134
+ __props__.__dict__["identity_token_ttl"] = identity_token_ttl
1135
+ __props__.__dict__["local"] = local
1136
+ __props__.__dict__["namespace"] = namespace
1137
+ __props__.__dict__["path"] = path
1138
+ __props__.__dict__["private_key_id"] = private_key_id
1139
+ __props__.__dict__["project_id"] = project_id
1140
+ __props__.__dict__["rotation_period"] = rotation_period
1141
+ __props__.__dict__["rotation_schedule"] = rotation_schedule
1142
+ __props__.__dict__["rotation_window"] = rotation_window
1143
+ __props__.__dict__["service_account_email"] = service_account_email
1144
+ __props__.__dict__["tune"] = tune
1145
+ __props__.__dict__["accessor"] = None
1146
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["credentials"])
1147
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1148
+ super(AuthBackend, __self__).__init__(
1149
+ 'vault:gcp/authBackend:AuthBackend',
1150
+ resource_name,
1151
+ __props__,
1152
+ opts)
1153
+
1154
+ @staticmethod
1155
+ def get(resource_name: str,
1156
+ id: pulumi.Input[str],
1157
+ opts: Optional[pulumi.ResourceOptions] = None,
1158
+ accessor: Optional[pulumi.Input[_builtins.str]] = None,
1159
+ client_email: Optional[pulumi.Input[_builtins.str]] = None,
1160
+ client_id: Optional[pulumi.Input[_builtins.str]] = None,
1161
+ credentials: Optional[pulumi.Input[_builtins.str]] = None,
1162
+ custom_endpoint: Optional[pulumi.Input[Union['AuthBackendCustomEndpointArgs', 'AuthBackendCustomEndpointArgsDict']]] = None,
1163
+ description: Optional[pulumi.Input[_builtins.str]] = None,
1164
+ disable_automated_rotation: Optional[pulumi.Input[_builtins.bool]] = None,
1165
+ disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
1166
+ gce_alias: Optional[pulumi.Input[_builtins.str]] = None,
1167
+ gce_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1168
+ iam_alias: Optional[pulumi.Input[_builtins.str]] = None,
1169
+ iam_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1170
+ identity_token_audience: Optional[pulumi.Input[_builtins.str]] = None,
1171
+ identity_token_key: Optional[pulumi.Input[_builtins.str]] = None,
1172
+ identity_token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1173
+ local: Optional[pulumi.Input[_builtins.bool]] = None,
1174
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
1175
+ path: Optional[pulumi.Input[_builtins.str]] = None,
1176
+ private_key_id: Optional[pulumi.Input[_builtins.str]] = None,
1177
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
1178
+ rotation_period: Optional[pulumi.Input[_builtins.int]] = None,
1179
+ rotation_schedule: Optional[pulumi.Input[_builtins.str]] = None,
1180
+ rotation_window: Optional[pulumi.Input[_builtins.int]] = None,
1181
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
1182
+ tune: Optional[pulumi.Input[Union['AuthBackendTuneArgs', 'AuthBackendTuneArgsDict']]] = None) -> 'AuthBackend':
1183
+ """
1184
+ Get an existing AuthBackend resource's state with the given name, id, and optional extra
1185
+ properties used to qualify the lookup.
1186
+
1187
+ :param str resource_name: The unique name of the resulting resource.
1188
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1189
+ :param pulumi.ResourceOptions opts: Options for the resource.
1190
+ :param pulumi.Input[_builtins.str] accessor: The mount accessor related to the auth mount. It is useful for integration with [Identity Secrets Engine](https://www.vaultproject.io/docs/secrets/identity/index.html).
1191
+ :param pulumi.Input[_builtins.str] client_email: The clients email associated with the credentials
1192
+ :param pulumi.Input[_builtins.str] client_id: The Client ID of the credentials
1193
+ :param pulumi.Input[_builtins.str] credentials: A JSON string containing the contents of a GCP credentials file. If this value is empty, Vault will try to use Application Default Credentials from the machine on which the Vault server is running.
1194
+ :param pulumi.Input[Union['AuthBackendCustomEndpointArgs', 'AuthBackendCustomEndpointArgsDict']] custom_endpoint: Specifies overrides to
1195
+ [service endpoints](https://cloud.google.com/apis/design/glossary#api_service_endpoint)
1196
+ used when making API requests. This allows specific requests made during authentication
1197
+ to target alternative service endpoints for use in [Private Google Access](https://cloud.google.com/vpc/docs/configure-private-google-access)
1198
+ environments. Requires Vault 1.11+.
1199
+
1200
+ Overrides are set at the subdomain level using the following keys:
1201
+ :param pulumi.Input[_builtins.str] description: A description of the auth method.
1202
+ :param pulumi.Input[_builtins.bool] disable_automated_rotation: Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.
1203
+ :param pulumi.Input[_builtins.bool] disable_remount: If set, opts out of mount migration on path updates.
1204
+ See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
1205
+ :param pulumi.Input[_builtins.str] gce_alias: Defines what alias needs to be used during login and refelects the same in token metadata and audit logs.
1206
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] gce_metadatas: Controls which instance metadata fields from the GCE login are captured into Vault's token metadata or audit logs.
1207
+ :param pulumi.Input[_builtins.str] iam_alias: Defines what alias needs to be used during login and refelects the same in token metadata and audit logs.
1208
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] iam_metadatas: Controls the metadata to include on the token returned by the login endpoint.
1209
+ :param pulumi.Input[_builtins.str] identity_token_audience: The audience claim value for plugin identity
1210
+ tokens. Must match an allowed audience configured for the target [Workload Identity Pool](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-providers#prepare).
1211
+ Mutually exclusive with `credentials`. Requires Vault 1.17+. *Available only for Vault Enterprise*.
1212
+ :param pulumi.Input[_builtins.str] identity_token_key: The key to use for signing plugin identity
1213
+ tokens. Requires Vault 1.17+. *Available only for Vault Enterprise*.
1214
+ :param pulumi.Input[_builtins.int] identity_token_ttl: The TTL of generated tokens.
1215
+ :param pulumi.Input[_builtins.bool] local: Specifies if the auth method is local only.
1216
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
1217
+ The value should not contain leading or trailing forward slashes.
1218
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1219
+ *Available only for Vault Enterprise*.
1220
+ :param pulumi.Input[_builtins.str] path: The path to mount the auth method — this defaults to 'gcp'.
1221
+ :param pulumi.Input[_builtins.str] private_key_id: The ID of the private key from the credentials
1222
+ :param pulumi.Input[_builtins.str] project_id: The GCP Project ID
1223
+ :param pulumi.Input[_builtins.int] rotation_period: The amount of time in seconds Vault should wait before rotating the root credential.
1224
+ A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.
1225
+ :param pulumi.Input[_builtins.str] rotation_schedule: The schedule, in [cron-style time format](https://en.wikipedia.org/wiki/Cron),
1226
+ defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.
1227
+ :param pulumi.Input[_builtins.int] rotation_window: The maximum amount of time in seconds allowed to complete
1228
+ a rotation when a scheduled token rotation occurs. The default rotation window is
1229
+ unbound and the minimum allowable window is `3600`. Requires Vault Enterprise 1.19+.
1230
+ :param pulumi.Input[_builtins.str] service_account_email: Service Account to impersonate for plugin workload identity federation.
1231
+ Required with `identity_token_audience`. Requires Vault 1.17+. *Available only for Vault Enterprise*.
1232
+ :param pulumi.Input[Union['AuthBackendTuneArgs', 'AuthBackendTuneArgsDict']] tune: Extra configuration block. Structure is documented below.
1233
+
1234
+ The `tune` block is used to tune the auth backend:
1235
+ """
1236
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1237
+
1238
+ __props__ = _AuthBackendState.__new__(_AuthBackendState)
1239
+
1240
+ __props__.__dict__["accessor"] = accessor
1241
+ __props__.__dict__["client_email"] = client_email
1242
+ __props__.__dict__["client_id"] = client_id
1243
+ __props__.__dict__["credentials"] = credentials
1244
+ __props__.__dict__["custom_endpoint"] = custom_endpoint
1245
+ __props__.__dict__["description"] = description
1246
+ __props__.__dict__["disable_automated_rotation"] = disable_automated_rotation
1247
+ __props__.__dict__["disable_remount"] = disable_remount
1248
+ __props__.__dict__["gce_alias"] = gce_alias
1249
+ __props__.__dict__["gce_metadatas"] = gce_metadatas
1250
+ __props__.__dict__["iam_alias"] = iam_alias
1251
+ __props__.__dict__["iam_metadatas"] = iam_metadatas
1252
+ __props__.__dict__["identity_token_audience"] = identity_token_audience
1253
+ __props__.__dict__["identity_token_key"] = identity_token_key
1254
+ __props__.__dict__["identity_token_ttl"] = identity_token_ttl
1255
+ __props__.__dict__["local"] = local
1256
+ __props__.__dict__["namespace"] = namespace
1257
+ __props__.__dict__["path"] = path
1258
+ __props__.__dict__["private_key_id"] = private_key_id
1259
+ __props__.__dict__["project_id"] = project_id
1260
+ __props__.__dict__["rotation_period"] = rotation_period
1261
+ __props__.__dict__["rotation_schedule"] = rotation_schedule
1262
+ __props__.__dict__["rotation_window"] = rotation_window
1263
+ __props__.__dict__["service_account_email"] = service_account_email
1264
+ __props__.__dict__["tune"] = tune
1265
+ return AuthBackend(resource_name, opts=opts, __props__=__props__)
1266
+
1267
+ @_builtins.property
1268
+ @pulumi.getter
1269
+ def accessor(self) -> pulumi.Output[_builtins.str]:
1270
+ """
1271
+ The mount accessor related to the auth mount. It is useful for integration with [Identity Secrets Engine](https://www.vaultproject.io/docs/secrets/identity/index.html).
1272
+ """
1273
+ return pulumi.get(self, "accessor")
1274
+
1275
+ @_builtins.property
1276
+ @pulumi.getter(name="clientEmail")
1277
+ def client_email(self) -> pulumi.Output[_builtins.str]:
1278
+ """
1279
+ The clients email associated with the credentials
1280
+ """
1281
+ return pulumi.get(self, "client_email")
1282
+
1283
+ @_builtins.property
1284
+ @pulumi.getter(name="clientId")
1285
+ def client_id(self) -> pulumi.Output[_builtins.str]:
1286
+ """
1287
+ The Client ID of the credentials
1288
+ """
1289
+ return pulumi.get(self, "client_id")
1290
+
1291
+ @_builtins.property
1292
+ @pulumi.getter
1293
+ def credentials(self) -> pulumi.Output[Optional[_builtins.str]]:
1294
+ """
1295
+ A JSON string containing the contents of a GCP credentials file. If this value is empty, Vault will try to use Application Default Credentials from the machine on which the Vault server is running.
1296
+ """
1297
+ return pulumi.get(self, "credentials")
1298
+
1299
+ @_builtins.property
1300
+ @pulumi.getter(name="customEndpoint")
1301
+ def custom_endpoint(self) -> pulumi.Output[Optional['outputs.AuthBackendCustomEndpoint']]:
1302
+ """
1303
+ Specifies overrides to
1304
+ [service endpoints](https://cloud.google.com/apis/design/glossary#api_service_endpoint)
1305
+ used when making API requests. This allows specific requests made during authentication
1306
+ to target alternative service endpoints for use in [Private Google Access](https://cloud.google.com/vpc/docs/configure-private-google-access)
1307
+ environments. Requires Vault 1.11+.
1308
+
1309
+ Overrides are set at the subdomain level using the following keys:
1310
+ """
1311
+ return pulumi.get(self, "custom_endpoint")
1312
+
1313
+ @_builtins.property
1314
+ @pulumi.getter
1315
+ def description(self) -> pulumi.Output[Optional[_builtins.str]]:
1316
+ """
1317
+ A description of the auth method.
1318
+ """
1319
+ return pulumi.get(self, "description")
1320
+
1321
+ @_builtins.property
1322
+ @pulumi.getter(name="disableAutomatedRotation")
1323
+ def disable_automated_rotation(self) -> pulumi.Output[Optional[_builtins.bool]]:
1324
+ """
1325
+ Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.
1326
+ """
1327
+ return pulumi.get(self, "disable_automated_rotation")
1328
+
1329
+ @_builtins.property
1330
+ @pulumi.getter(name="disableRemount")
1331
+ def disable_remount(self) -> pulumi.Output[Optional[_builtins.bool]]:
1332
+ """
1333
+ If set, opts out of mount migration on path updates.
1334
+ See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
1335
+ """
1336
+ return pulumi.get(self, "disable_remount")
1337
+
1338
+ @_builtins.property
1339
+ @pulumi.getter(name="gceAlias")
1340
+ def gce_alias(self) -> pulumi.Output[_builtins.str]:
1341
+ """
1342
+ Defines what alias needs to be used during login and refelects the same in token metadata and audit logs.
1343
+ """
1344
+ return pulumi.get(self, "gce_alias")
1345
+
1346
+ @_builtins.property
1347
+ @pulumi.getter(name="gceMetadatas")
1348
+ def gce_metadatas(self) -> pulumi.Output[Sequence[_builtins.str]]:
1349
+ """
1350
+ Controls which instance metadata fields from the GCE login are captured into Vault's token metadata or audit logs.
1351
+ """
1352
+ return pulumi.get(self, "gce_metadatas")
1353
+
1354
+ @_builtins.property
1355
+ @pulumi.getter(name="iamAlias")
1356
+ def iam_alias(self) -> pulumi.Output[_builtins.str]:
1357
+ """
1358
+ Defines what alias needs to be used during login and refelects the same in token metadata and audit logs.
1359
+ """
1360
+ return pulumi.get(self, "iam_alias")
1361
+
1362
+ @_builtins.property
1363
+ @pulumi.getter(name="iamMetadatas")
1364
+ def iam_metadatas(self) -> pulumi.Output[Sequence[_builtins.str]]:
1365
+ """
1366
+ Controls the metadata to include on the token returned by the login endpoint.
1367
+ """
1368
+ return pulumi.get(self, "iam_metadatas")
1369
+
1370
+ @_builtins.property
1371
+ @pulumi.getter(name="identityTokenAudience")
1372
+ def identity_token_audience(self) -> pulumi.Output[Optional[_builtins.str]]:
1373
+ """
1374
+ The audience claim value for plugin identity
1375
+ tokens. Must match an allowed audience configured for the target [Workload Identity Pool](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-providers#prepare).
1376
+ Mutually exclusive with `credentials`. Requires Vault 1.17+. *Available only for Vault Enterprise*.
1377
+ """
1378
+ return pulumi.get(self, "identity_token_audience")
1379
+
1380
+ @_builtins.property
1381
+ @pulumi.getter(name="identityTokenKey")
1382
+ def identity_token_key(self) -> pulumi.Output[Optional[_builtins.str]]:
1383
+ """
1384
+ The key to use for signing plugin identity
1385
+ tokens. Requires Vault 1.17+. *Available only for Vault Enterprise*.
1386
+ """
1387
+ return pulumi.get(self, "identity_token_key")
1388
+
1389
+ @_builtins.property
1390
+ @pulumi.getter(name="identityTokenTtl")
1391
+ def identity_token_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
1392
+ """
1393
+ The TTL of generated tokens.
1394
+ """
1395
+ return pulumi.get(self, "identity_token_ttl")
1396
+
1397
+ @_builtins.property
1398
+ @pulumi.getter
1399
+ def local(self) -> pulumi.Output[Optional[_builtins.bool]]:
1400
+ """
1401
+ Specifies if the auth method is local only.
1402
+ """
1403
+ return pulumi.get(self, "local")
1404
+
1405
+ @_builtins.property
1406
+ @pulumi.getter
1407
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
1408
+ """
1409
+ The namespace to provision the resource in.
1410
+ The value should not contain leading or trailing forward slashes.
1411
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1412
+ *Available only for Vault Enterprise*.
1413
+ """
1414
+ return pulumi.get(self, "namespace")
1415
+
1416
+ @_builtins.property
1417
+ @pulumi.getter
1418
+ def path(self) -> pulumi.Output[Optional[_builtins.str]]:
1419
+ """
1420
+ The path to mount the auth method — this defaults to 'gcp'.
1421
+ """
1422
+ return pulumi.get(self, "path")
1423
+
1424
+ @_builtins.property
1425
+ @pulumi.getter(name="privateKeyId")
1426
+ def private_key_id(self) -> pulumi.Output[_builtins.str]:
1427
+ """
1428
+ The ID of the private key from the credentials
1429
+ """
1430
+ return pulumi.get(self, "private_key_id")
1431
+
1432
+ @_builtins.property
1433
+ @pulumi.getter(name="projectId")
1434
+ def project_id(self) -> pulumi.Output[_builtins.str]:
1435
+ """
1436
+ The GCP Project ID
1437
+ """
1438
+ return pulumi.get(self, "project_id")
1439
+
1440
+ @_builtins.property
1441
+ @pulumi.getter(name="rotationPeriod")
1442
+ def rotation_period(self) -> pulumi.Output[Optional[_builtins.int]]:
1443
+ """
1444
+ The amount of time in seconds Vault should wait before rotating the root credential.
1445
+ A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.
1446
+ """
1447
+ return pulumi.get(self, "rotation_period")
1448
+
1449
+ @_builtins.property
1450
+ @pulumi.getter(name="rotationSchedule")
1451
+ def rotation_schedule(self) -> pulumi.Output[Optional[_builtins.str]]:
1452
+ """
1453
+ The schedule, in [cron-style time format](https://en.wikipedia.org/wiki/Cron),
1454
+ defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.
1455
+ """
1456
+ return pulumi.get(self, "rotation_schedule")
1457
+
1458
+ @_builtins.property
1459
+ @pulumi.getter(name="rotationWindow")
1460
+ def rotation_window(self) -> pulumi.Output[Optional[_builtins.int]]:
1461
+ """
1462
+ The maximum amount of time in seconds allowed to complete
1463
+ a rotation when a scheduled token rotation occurs. The default rotation window is
1464
+ unbound and the minimum allowable window is `3600`. Requires Vault Enterprise 1.19+.
1465
+ """
1466
+ return pulumi.get(self, "rotation_window")
1467
+
1468
+ @_builtins.property
1469
+ @pulumi.getter(name="serviceAccountEmail")
1470
+ def service_account_email(self) -> pulumi.Output[Optional[_builtins.str]]:
1471
+ """
1472
+ Service Account to impersonate for plugin workload identity federation.
1473
+ Required with `identity_token_audience`. Requires Vault 1.17+. *Available only for Vault Enterprise*.
1474
+ """
1475
+ return pulumi.get(self, "service_account_email")
1476
+
1477
+ @_builtins.property
1478
+ @pulumi.getter
1479
+ def tune(self) -> pulumi.Output['outputs.AuthBackendTune']:
1480
+ """
1481
+ Extra configuration block. Structure is documented below.
1482
+
1483
+ The `tune` block is used to tune the auth backend:
1484
+ """
1485
+ return pulumi.get(self, "tune")
1486
+