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,484 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['SecretImpersonatedAccountArgs', 'SecretImpersonatedAccount']
18
+
19
+ @pulumi.input_type
20
+ class SecretImpersonatedAccountArgs:
21
+ def __init__(__self__, *,
22
+ backend: pulumi.Input[_builtins.str],
23
+ impersonated_account: pulumi.Input[_builtins.str],
24
+ service_account_email: pulumi.Input[_builtins.str],
25
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
26
+ token_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
27
+ ttl: Optional[pulumi.Input[_builtins.str]] = None):
28
+ """
29
+ The set of arguments for constructing a SecretImpersonatedAccount resource.
30
+ :param pulumi.Input[_builtins.str] backend: Path where the GCP Secrets Engine is mounted
31
+ :param pulumi.Input[_builtins.str] impersonated_account: Name of the Impersonated Account to create
32
+ :param pulumi.Input[_builtins.str] service_account_email: Email of the GCP service account to impersonate.
33
+ :param pulumi.Input[_builtins.str] namespace: Target namespace. (requires Enterprise)
34
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_scopes: List of OAuth scopes to assign to access tokens generated under this impersonated account.
35
+ :param pulumi.Input[_builtins.str] ttl: Specifies the default TTL for service principals generated using this role.
36
+ Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.
37
+ """
38
+ pulumi.set(__self__, "backend", backend)
39
+ pulumi.set(__self__, "impersonated_account", impersonated_account)
40
+ pulumi.set(__self__, "service_account_email", service_account_email)
41
+ if namespace is not None:
42
+ pulumi.set(__self__, "namespace", namespace)
43
+ if token_scopes is not None:
44
+ pulumi.set(__self__, "token_scopes", token_scopes)
45
+ if ttl is not None:
46
+ pulumi.set(__self__, "ttl", ttl)
47
+
48
+ @_builtins.property
49
+ @pulumi.getter
50
+ def backend(self) -> pulumi.Input[_builtins.str]:
51
+ """
52
+ Path where the GCP Secrets Engine is mounted
53
+ """
54
+ return pulumi.get(self, "backend")
55
+
56
+ @backend.setter
57
+ def backend(self, value: pulumi.Input[_builtins.str]):
58
+ pulumi.set(self, "backend", value)
59
+
60
+ @_builtins.property
61
+ @pulumi.getter(name="impersonatedAccount")
62
+ def impersonated_account(self) -> pulumi.Input[_builtins.str]:
63
+ """
64
+ Name of the Impersonated Account to create
65
+ """
66
+ return pulumi.get(self, "impersonated_account")
67
+
68
+ @impersonated_account.setter
69
+ def impersonated_account(self, value: pulumi.Input[_builtins.str]):
70
+ pulumi.set(self, "impersonated_account", value)
71
+
72
+ @_builtins.property
73
+ @pulumi.getter(name="serviceAccountEmail")
74
+ def service_account_email(self) -> pulumi.Input[_builtins.str]:
75
+ """
76
+ Email of the GCP service account to impersonate.
77
+ """
78
+ return pulumi.get(self, "service_account_email")
79
+
80
+ @service_account_email.setter
81
+ def service_account_email(self, value: pulumi.Input[_builtins.str]):
82
+ pulumi.set(self, "service_account_email", value)
83
+
84
+ @_builtins.property
85
+ @pulumi.getter
86
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
87
+ """
88
+ Target namespace. (requires Enterprise)
89
+ """
90
+ return pulumi.get(self, "namespace")
91
+
92
+ @namespace.setter
93
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
94
+ pulumi.set(self, "namespace", value)
95
+
96
+ @_builtins.property
97
+ @pulumi.getter(name="tokenScopes")
98
+ def token_scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
99
+ """
100
+ List of OAuth scopes to assign to access tokens generated under this impersonated account.
101
+ """
102
+ return pulumi.get(self, "token_scopes")
103
+
104
+ @token_scopes.setter
105
+ def token_scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
106
+ pulumi.set(self, "token_scopes", value)
107
+
108
+ @_builtins.property
109
+ @pulumi.getter
110
+ def ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
111
+ """
112
+ Specifies the default TTL for service principals generated using this role.
113
+ Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.
114
+ """
115
+ return pulumi.get(self, "ttl")
116
+
117
+ @ttl.setter
118
+ def ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
119
+ pulumi.set(self, "ttl", value)
120
+
121
+
122
+ @pulumi.input_type
123
+ class _SecretImpersonatedAccountState:
124
+ def __init__(__self__, *,
125
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
126
+ impersonated_account: Optional[pulumi.Input[_builtins.str]] = None,
127
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
128
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
129
+ service_account_project: Optional[pulumi.Input[_builtins.str]] = None,
130
+ token_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
131
+ ttl: Optional[pulumi.Input[_builtins.str]] = None):
132
+ """
133
+ Input properties used for looking up and filtering SecretImpersonatedAccount resources.
134
+ :param pulumi.Input[_builtins.str] backend: Path where the GCP Secrets Engine is mounted
135
+ :param pulumi.Input[_builtins.str] impersonated_account: Name of the Impersonated Account to create
136
+ :param pulumi.Input[_builtins.str] namespace: Target namespace. (requires Enterprise)
137
+ :param pulumi.Input[_builtins.str] service_account_email: Email of the GCP service account to impersonate.
138
+ :param pulumi.Input[_builtins.str] service_account_project: Project the service account belongs to.
139
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_scopes: List of OAuth scopes to assign to access tokens generated under this impersonated account.
140
+ :param pulumi.Input[_builtins.str] ttl: Specifies the default TTL for service principals generated using this role.
141
+ Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.
142
+ """
143
+ if backend is not None:
144
+ pulumi.set(__self__, "backend", backend)
145
+ if impersonated_account is not None:
146
+ pulumi.set(__self__, "impersonated_account", impersonated_account)
147
+ if namespace is not None:
148
+ pulumi.set(__self__, "namespace", namespace)
149
+ if service_account_email is not None:
150
+ pulumi.set(__self__, "service_account_email", service_account_email)
151
+ if service_account_project is not None:
152
+ pulumi.set(__self__, "service_account_project", service_account_project)
153
+ if token_scopes is not None:
154
+ pulumi.set(__self__, "token_scopes", token_scopes)
155
+ if ttl is not None:
156
+ pulumi.set(__self__, "ttl", ttl)
157
+
158
+ @_builtins.property
159
+ @pulumi.getter
160
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
161
+ """
162
+ Path where the GCP Secrets Engine is mounted
163
+ """
164
+ return pulumi.get(self, "backend")
165
+
166
+ @backend.setter
167
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
168
+ pulumi.set(self, "backend", value)
169
+
170
+ @_builtins.property
171
+ @pulumi.getter(name="impersonatedAccount")
172
+ def impersonated_account(self) -> Optional[pulumi.Input[_builtins.str]]:
173
+ """
174
+ Name of the Impersonated Account to create
175
+ """
176
+ return pulumi.get(self, "impersonated_account")
177
+
178
+ @impersonated_account.setter
179
+ def impersonated_account(self, value: Optional[pulumi.Input[_builtins.str]]):
180
+ pulumi.set(self, "impersonated_account", value)
181
+
182
+ @_builtins.property
183
+ @pulumi.getter
184
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
185
+ """
186
+ Target namespace. (requires Enterprise)
187
+ """
188
+ return pulumi.get(self, "namespace")
189
+
190
+ @namespace.setter
191
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
192
+ pulumi.set(self, "namespace", value)
193
+
194
+ @_builtins.property
195
+ @pulumi.getter(name="serviceAccountEmail")
196
+ def service_account_email(self) -> Optional[pulumi.Input[_builtins.str]]:
197
+ """
198
+ Email of the GCP service account to impersonate.
199
+ """
200
+ return pulumi.get(self, "service_account_email")
201
+
202
+ @service_account_email.setter
203
+ def service_account_email(self, value: Optional[pulumi.Input[_builtins.str]]):
204
+ pulumi.set(self, "service_account_email", value)
205
+
206
+ @_builtins.property
207
+ @pulumi.getter(name="serviceAccountProject")
208
+ def service_account_project(self) -> Optional[pulumi.Input[_builtins.str]]:
209
+ """
210
+ Project the service account belongs to.
211
+ """
212
+ return pulumi.get(self, "service_account_project")
213
+
214
+ @service_account_project.setter
215
+ def service_account_project(self, value: Optional[pulumi.Input[_builtins.str]]):
216
+ pulumi.set(self, "service_account_project", value)
217
+
218
+ @_builtins.property
219
+ @pulumi.getter(name="tokenScopes")
220
+ def token_scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
221
+ """
222
+ List of OAuth scopes to assign to access tokens generated under this impersonated account.
223
+ """
224
+ return pulumi.get(self, "token_scopes")
225
+
226
+ @token_scopes.setter
227
+ def token_scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
228
+ pulumi.set(self, "token_scopes", value)
229
+
230
+ @_builtins.property
231
+ @pulumi.getter
232
+ def ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
233
+ """
234
+ Specifies the default TTL for service principals generated using this role.
235
+ Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.
236
+ """
237
+ return pulumi.get(self, "ttl")
238
+
239
+ @ttl.setter
240
+ def ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
241
+ pulumi.set(self, "ttl", value)
242
+
243
+
244
+ @pulumi.type_token("vault:gcp/secretImpersonatedAccount:SecretImpersonatedAccount")
245
+ class SecretImpersonatedAccount(pulumi.CustomResource):
246
+ @overload
247
+ def __init__(__self__,
248
+ resource_name: str,
249
+ opts: Optional[pulumi.ResourceOptions] = None,
250
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
251
+ impersonated_account: Optional[pulumi.Input[_builtins.str]] = None,
252
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
253
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
254
+ token_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
255
+ ttl: Optional[pulumi.Input[_builtins.str]] = None,
256
+ __props__=None):
257
+ """
258
+ Creates a Impersonated Account in the [GCP Secrets Engine](https://www.vaultproject.io/docs/secrets/gcp/index.html) for Vault.
259
+
260
+ Each [impersonated account](https://www.vaultproject.io/docs/secrets/gcp/index.html#impersonated-accounts) is tied to a separately managed
261
+ Service Account.
262
+
263
+ ## Example Usage
264
+
265
+ ```python
266
+ import pulumi
267
+ import pulumi_google as google
268
+ import pulumi_std as std
269
+ import pulumi_vault as vault
270
+
271
+ this = google.index.ServiceAccount("this", account_id=my-awesome-account)
272
+ gcp = vault.gcp.SecretBackend("gcp",
273
+ path="gcp",
274
+ credentials=std.file(input="credentials.json").result)
275
+ impersonated_account = vault.gcp.SecretImpersonatedAccount("impersonated_account",
276
+ backend=gcp.path,
277
+ impersonated_account="this",
278
+ service_account_email=this["email"],
279
+ token_scopes=["https://www.googleapis.com/auth/cloud-platform"])
280
+ ```
281
+
282
+ ## Import
283
+
284
+ A impersonated account can be imported using its Vault Path. For example, referencing the example above,
285
+
286
+ ```sh
287
+ $ pulumi import vault:gcp/secretImpersonatedAccount:SecretImpersonatedAccount impersonated_account gcp/impersonated-account/project_viewer
288
+ ```
289
+
290
+ :param str resource_name: The name of the resource.
291
+ :param pulumi.ResourceOptions opts: Options for the resource.
292
+ :param pulumi.Input[_builtins.str] backend: Path where the GCP Secrets Engine is mounted
293
+ :param pulumi.Input[_builtins.str] impersonated_account: Name of the Impersonated Account to create
294
+ :param pulumi.Input[_builtins.str] namespace: Target namespace. (requires Enterprise)
295
+ :param pulumi.Input[_builtins.str] service_account_email: Email of the GCP service account to impersonate.
296
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_scopes: List of OAuth scopes to assign to access tokens generated under this impersonated account.
297
+ :param pulumi.Input[_builtins.str] ttl: Specifies the default TTL for service principals generated using this role.
298
+ Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.
299
+ """
300
+ ...
301
+ @overload
302
+ def __init__(__self__,
303
+ resource_name: str,
304
+ args: SecretImpersonatedAccountArgs,
305
+ opts: Optional[pulumi.ResourceOptions] = None):
306
+ """
307
+ Creates a Impersonated Account in the [GCP Secrets Engine](https://www.vaultproject.io/docs/secrets/gcp/index.html) for Vault.
308
+
309
+ Each [impersonated account](https://www.vaultproject.io/docs/secrets/gcp/index.html#impersonated-accounts) is tied to a separately managed
310
+ Service Account.
311
+
312
+ ## Example Usage
313
+
314
+ ```python
315
+ import pulumi
316
+ import pulumi_google as google
317
+ import pulumi_std as std
318
+ import pulumi_vault as vault
319
+
320
+ this = google.index.ServiceAccount("this", account_id=my-awesome-account)
321
+ gcp = vault.gcp.SecretBackend("gcp",
322
+ path="gcp",
323
+ credentials=std.file(input="credentials.json").result)
324
+ impersonated_account = vault.gcp.SecretImpersonatedAccount("impersonated_account",
325
+ backend=gcp.path,
326
+ impersonated_account="this",
327
+ service_account_email=this["email"],
328
+ token_scopes=["https://www.googleapis.com/auth/cloud-platform"])
329
+ ```
330
+
331
+ ## Import
332
+
333
+ A impersonated account can be imported using its Vault Path. For example, referencing the example above,
334
+
335
+ ```sh
336
+ $ pulumi import vault:gcp/secretImpersonatedAccount:SecretImpersonatedAccount impersonated_account gcp/impersonated-account/project_viewer
337
+ ```
338
+
339
+ :param str resource_name: The name of the resource.
340
+ :param SecretImpersonatedAccountArgs args: The arguments to use to populate this resource's properties.
341
+ :param pulumi.ResourceOptions opts: Options for the resource.
342
+ """
343
+ ...
344
+ def __init__(__self__, resource_name: str, *args, **kwargs):
345
+ resource_args, opts = _utilities.get_resource_args_opts(SecretImpersonatedAccountArgs, pulumi.ResourceOptions, *args, **kwargs)
346
+ if resource_args is not None:
347
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
348
+ else:
349
+ __self__._internal_init(resource_name, *args, **kwargs)
350
+
351
+ def _internal_init(__self__,
352
+ resource_name: str,
353
+ opts: Optional[pulumi.ResourceOptions] = None,
354
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
355
+ impersonated_account: Optional[pulumi.Input[_builtins.str]] = None,
356
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
357
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
358
+ token_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
359
+ ttl: Optional[pulumi.Input[_builtins.str]] = None,
360
+ __props__=None):
361
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
362
+ if not isinstance(opts, pulumi.ResourceOptions):
363
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
364
+ if opts.id is None:
365
+ if __props__ is not None:
366
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
367
+ __props__ = SecretImpersonatedAccountArgs.__new__(SecretImpersonatedAccountArgs)
368
+
369
+ if backend is None and not opts.urn:
370
+ raise TypeError("Missing required property 'backend'")
371
+ __props__.__dict__["backend"] = backend
372
+ if impersonated_account is None and not opts.urn:
373
+ raise TypeError("Missing required property 'impersonated_account'")
374
+ __props__.__dict__["impersonated_account"] = impersonated_account
375
+ __props__.__dict__["namespace"] = namespace
376
+ if service_account_email is None and not opts.urn:
377
+ raise TypeError("Missing required property 'service_account_email'")
378
+ __props__.__dict__["service_account_email"] = service_account_email
379
+ __props__.__dict__["token_scopes"] = token_scopes
380
+ __props__.__dict__["ttl"] = ttl
381
+ __props__.__dict__["service_account_project"] = None
382
+ super(SecretImpersonatedAccount, __self__).__init__(
383
+ 'vault:gcp/secretImpersonatedAccount:SecretImpersonatedAccount',
384
+ resource_name,
385
+ __props__,
386
+ opts)
387
+
388
+ @staticmethod
389
+ def get(resource_name: str,
390
+ id: pulumi.Input[str],
391
+ opts: Optional[pulumi.ResourceOptions] = None,
392
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
393
+ impersonated_account: Optional[pulumi.Input[_builtins.str]] = None,
394
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
395
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
396
+ service_account_project: Optional[pulumi.Input[_builtins.str]] = None,
397
+ token_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
398
+ ttl: Optional[pulumi.Input[_builtins.str]] = None) -> 'SecretImpersonatedAccount':
399
+ """
400
+ Get an existing SecretImpersonatedAccount resource's state with the given name, id, and optional extra
401
+ properties used to qualify the lookup.
402
+
403
+ :param str resource_name: The unique name of the resulting resource.
404
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
405
+ :param pulumi.ResourceOptions opts: Options for the resource.
406
+ :param pulumi.Input[_builtins.str] backend: Path where the GCP Secrets Engine is mounted
407
+ :param pulumi.Input[_builtins.str] impersonated_account: Name of the Impersonated Account to create
408
+ :param pulumi.Input[_builtins.str] namespace: Target namespace. (requires Enterprise)
409
+ :param pulumi.Input[_builtins.str] service_account_email: Email of the GCP service account to impersonate.
410
+ :param pulumi.Input[_builtins.str] service_account_project: Project the service account belongs to.
411
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_scopes: List of OAuth scopes to assign to access tokens generated under this impersonated account.
412
+ :param pulumi.Input[_builtins.str] ttl: Specifies the default TTL for service principals generated using this role.
413
+ Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.
414
+ """
415
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
416
+
417
+ __props__ = _SecretImpersonatedAccountState.__new__(_SecretImpersonatedAccountState)
418
+
419
+ __props__.__dict__["backend"] = backend
420
+ __props__.__dict__["impersonated_account"] = impersonated_account
421
+ __props__.__dict__["namespace"] = namespace
422
+ __props__.__dict__["service_account_email"] = service_account_email
423
+ __props__.__dict__["service_account_project"] = service_account_project
424
+ __props__.__dict__["token_scopes"] = token_scopes
425
+ __props__.__dict__["ttl"] = ttl
426
+ return SecretImpersonatedAccount(resource_name, opts=opts, __props__=__props__)
427
+
428
+ @_builtins.property
429
+ @pulumi.getter
430
+ def backend(self) -> pulumi.Output[_builtins.str]:
431
+ """
432
+ Path where the GCP Secrets Engine is mounted
433
+ """
434
+ return pulumi.get(self, "backend")
435
+
436
+ @_builtins.property
437
+ @pulumi.getter(name="impersonatedAccount")
438
+ def impersonated_account(self) -> pulumi.Output[_builtins.str]:
439
+ """
440
+ Name of the Impersonated Account to create
441
+ """
442
+ return pulumi.get(self, "impersonated_account")
443
+
444
+ @_builtins.property
445
+ @pulumi.getter
446
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
447
+ """
448
+ Target namespace. (requires Enterprise)
449
+ """
450
+ return pulumi.get(self, "namespace")
451
+
452
+ @_builtins.property
453
+ @pulumi.getter(name="serviceAccountEmail")
454
+ def service_account_email(self) -> pulumi.Output[_builtins.str]:
455
+ """
456
+ Email of the GCP service account to impersonate.
457
+ """
458
+ return pulumi.get(self, "service_account_email")
459
+
460
+ @_builtins.property
461
+ @pulumi.getter(name="serviceAccountProject")
462
+ def service_account_project(self) -> pulumi.Output[_builtins.str]:
463
+ """
464
+ Project the service account belongs to.
465
+ """
466
+ return pulumi.get(self, "service_account_project")
467
+
468
+ @_builtins.property
469
+ @pulumi.getter(name="tokenScopes")
470
+ def token_scopes(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
471
+ """
472
+ List of OAuth scopes to assign to access tokens generated under this impersonated account.
473
+ """
474
+ return pulumi.get(self, "token_scopes")
475
+
476
+ @_builtins.property
477
+ @pulumi.getter
478
+ def ttl(self) -> pulumi.Output[_builtins.str]:
479
+ """
480
+ Specifies the default TTL for service principals generated using this role.
481
+ Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.
482
+ """
483
+ return pulumi.get(self, "ttl")
484
+