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,572 @@
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__ = ['SyncGcpDestinationArgs', 'SyncGcpDestination']
18
+
19
+ @pulumi.input_type
20
+ class SyncGcpDestinationArgs:
21
+ def __init__(__self__, *,
22
+ credentials: Optional[pulumi.Input[_builtins.str]] = None,
23
+ custom_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
24
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
25
+ name: Optional[pulumi.Input[_builtins.str]] = None,
26
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
27
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
28
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None):
29
+ """
30
+ The set of arguments for constructing a SyncGcpDestination resource.
31
+ :param pulumi.Input[_builtins.str] credentials: JSON-encoded credentials to use to connect to GCP.
32
+ Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
33
+ variable.
34
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] custom_tags: Custom tags to set on the secret managed at the destination.
35
+ :param pulumi.Input[_builtins.str] granularity: Determines what level of information is synced as a distinct resource
36
+ at the destination. Supports `secret-path` and `secret-key`.
37
+ :param pulumi.Input[_builtins.str] name: Unique name of the GCP destination.
38
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
39
+ The value should not contain leading or trailing forward slashes.
40
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
41
+ :param pulumi.Input[_builtins.str] project_id: The target project to manage secrets in. If set,
42
+ overrides the project ID derived from the service account JSON credentials or application
43
+ default credentials. The service account must be [authorized](https://cloud.google.com/iam/docs/service-account-overview#locations)
44
+ to perform Secret Manager actions in the target project.
45
+ :param pulumi.Input[_builtins.str] secret_name_template: Template describing how to generate external secret names.
46
+ Supports a subset of the Go Template syntax.
47
+ """
48
+ if credentials is not None:
49
+ pulumi.set(__self__, "credentials", credentials)
50
+ if custom_tags is not None:
51
+ pulumi.set(__self__, "custom_tags", custom_tags)
52
+ if granularity is not None:
53
+ pulumi.set(__self__, "granularity", granularity)
54
+ if name is not None:
55
+ pulumi.set(__self__, "name", name)
56
+ if namespace is not None:
57
+ pulumi.set(__self__, "namespace", namespace)
58
+ if project_id is not None:
59
+ pulumi.set(__self__, "project_id", project_id)
60
+ if secret_name_template is not None:
61
+ pulumi.set(__self__, "secret_name_template", secret_name_template)
62
+
63
+ @_builtins.property
64
+ @pulumi.getter
65
+ def credentials(self) -> Optional[pulumi.Input[_builtins.str]]:
66
+ """
67
+ JSON-encoded credentials to use to connect to GCP.
68
+ Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
69
+ variable.
70
+ """
71
+ return pulumi.get(self, "credentials")
72
+
73
+ @credentials.setter
74
+ def credentials(self, value: Optional[pulumi.Input[_builtins.str]]):
75
+ pulumi.set(self, "credentials", value)
76
+
77
+ @_builtins.property
78
+ @pulumi.getter(name="customTags")
79
+ def custom_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
80
+ """
81
+ Custom tags to set on the secret managed at the destination.
82
+ """
83
+ return pulumi.get(self, "custom_tags")
84
+
85
+ @custom_tags.setter
86
+ def custom_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
87
+ pulumi.set(self, "custom_tags", value)
88
+
89
+ @_builtins.property
90
+ @pulumi.getter
91
+ def granularity(self) -> Optional[pulumi.Input[_builtins.str]]:
92
+ """
93
+ Determines what level of information is synced as a distinct resource
94
+ at the destination. Supports `secret-path` and `secret-key`.
95
+ """
96
+ return pulumi.get(self, "granularity")
97
+
98
+ @granularity.setter
99
+ def granularity(self, value: Optional[pulumi.Input[_builtins.str]]):
100
+ pulumi.set(self, "granularity", value)
101
+
102
+ @_builtins.property
103
+ @pulumi.getter
104
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
105
+ """
106
+ Unique name of the GCP destination.
107
+ """
108
+ return pulumi.get(self, "name")
109
+
110
+ @name.setter
111
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
112
+ pulumi.set(self, "name", value)
113
+
114
+ @_builtins.property
115
+ @pulumi.getter
116
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
117
+ """
118
+ The namespace to provision the resource in.
119
+ The value should not contain leading or trailing forward slashes.
120
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
121
+ """
122
+ return pulumi.get(self, "namespace")
123
+
124
+ @namespace.setter
125
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
126
+ pulumi.set(self, "namespace", value)
127
+
128
+ @_builtins.property
129
+ @pulumi.getter(name="projectId")
130
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
131
+ """
132
+ The target project to manage secrets in. If set,
133
+ overrides the project ID derived from the service account JSON credentials or application
134
+ default credentials. The service account must be [authorized](https://cloud.google.com/iam/docs/service-account-overview#locations)
135
+ to perform Secret Manager actions in the target project.
136
+ """
137
+ return pulumi.get(self, "project_id")
138
+
139
+ @project_id.setter
140
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
141
+ pulumi.set(self, "project_id", value)
142
+
143
+ @_builtins.property
144
+ @pulumi.getter(name="secretNameTemplate")
145
+ def secret_name_template(self) -> Optional[pulumi.Input[_builtins.str]]:
146
+ """
147
+ Template describing how to generate external secret names.
148
+ Supports a subset of the Go Template syntax.
149
+ """
150
+ return pulumi.get(self, "secret_name_template")
151
+
152
+ @secret_name_template.setter
153
+ def secret_name_template(self, value: Optional[pulumi.Input[_builtins.str]]):
154
+ pulumi.set(self, "secret_name_template", value)
155
+
156
+
157
+ @pulumi.input_type
158
+ class _SyncGcpDestinationState:
159
+ def __init__(__self__, *,
160
+ credentials: Optional[pulumi.Input[_builtins.str]] = None,
161
+ custom_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
162
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
163
+ name: Optional[pulumi.Input[_builtins.str]] = None,
164
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
165
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
166
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None,
167
+ type: Optional[pulumi.Input[_builtins.str]] = None):
168
+ """
169
+ Input properties used for looking up and filtering SyncGcpDestination resources.
170
+ :param pulumi.Input[_builtins.str] credentials: JSON-encoded credentials to use to connect to GCP.
171
+ Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
172
+ variable.
173
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] custom_tags: Custom tags to set on the secret managed at the destination.
174
+ :param pulumi.Input[_builtins.str] granularity: Determines what level of information is synced as a distinct resource
175
+ at the destination. Supports `secret-path` and `secret-key`.
176
+ :param pulumi.Input[_builtins.str] name: Unique name of the GCP destination.
177
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
178
+ The value should not contain leading or trailing forward slashes.
179
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
180
+ :param pulumi.Input[_builtins.str] project_id: The target project to manage secrets in. If set,
181
+ overrides the project ID derived from the service account JSON credentials or application
182
+ default credentials. The service account must be [authorized](https://cloud.google.com/iam/docs/service-account-overview#locations)
183
+ to perform Secret Manager actions in the target project.
184
+ :param pulumi.Input[_builtins.str] secret_name_template: Template describing how to generate external secret names.
185
+ Supports a subset of the Go Template syntax.
186
+ :param pulumi.Input[_builtins.str] type: The type of the secrets destination (`gcp-sm`).
187
+ """
188
+ if credentials is not None:
189
+ pulumi.set(__self__, "credentials", credentials)
190
+ if custom_tags is not None:
191
+ pulumi.set(__self__, "custom_tags", custom_tags)
192
+ if granularity is not None:
193
+ pulumi.set(__self__, "granularity", granularity)
194
+ if name is not None:
195
+ pulumi.set(__self__, "name", name)
196
+ if namespace is not None:
197
+ pulumi.set(__self__, "namespace", namespace)
198
+ if project_id is not None:
199
+ pulumi.set(__self__, "project_id", project_id)
200
+ if secret_name_template is not None:
201
+ pulumi.set(__self__, "secret_name_template", secret_name_template)
202
+ if type is not None:
203
+ pulumi.set(__self__, "type", type)
204
+
205
+ @_builtins.property
206
+ @pulumi.getter
207
+ def credentials(self) -> Optional[pulumi.Input[_builtins.str]]:
208
+ """
209
+ JSON-encoded credentials to use to connect to GCP.
210
+ Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
211
+ variable.
212
+ """
213
+ return pulumi.get(self, "credentials")
214
+
215
+ @credentials.setter
216
+ def credentials(self, value: Optional[pulumi.Input[_builtins.str]]):
217
+ pulumi.set(self, "credentials", value)
218
+
219
+ @_builtins.property
220
+ @pulumi.getter(name="customTags")
221
+ def custom_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
222
+ """
223
+ Custom tags to set on the secret managed at the destination.
224
+ """
225
+ return pulumi.get(self, "custom_tags")
226
+
227
+ @custom_tags.setter
228
+ def custom_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
229
+ pulumi.set(self, "custom_tags", value)
230
+
231
+ @_builtins.property
232
+ @pulumi.getter
233
+ def granularity(self) -> Optional[pulumi.Input[_builtins.str]]:
234
+ """
235
+ Determines what level of information is synced as a distinct resource
236
+ at the destination. Supports `secret-path` and `secret-key`.
237
+ """
238
+ return pulumi.get(self, "granularity")
239
+
240
+ @granularity.setter
241
+ def granularity(self, value: Optional[pulumi.Input[_builtins.str]]):
242
+ pulumi.set(self, "granularity", value)
243
+
244
+ @_builtins.property
245
+ @pulumi.getter
246
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
247
+ """
248
+ Unique name of the GCP destination.
249
+ """
250
+ return pulumi.get(self, "name")
251
+
252
+ @name.setter
253
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
254
+ pulumi.set(self, "name", value)
255
+
256
+ @_builtins.property
257
+ @pulumi.getter
258
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
259
+ """
260
+ The namespace to provision the resource in.
261
+ The value should not contain leading or trailing forward slashes.
262
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
263
+ """
264
+ return pulumi.get(self, "namespace")
265
+
266
+ @namespace.setter
267
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
268
+ pulumi.set(self, "namespace", value)
269
+
270
+ @_builtins.property
271
+ @pulumi.getter(name="projectId")
272
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
273
+ """
274
+ The target project to manage secrets in. If set,
275
+ overrides the project ID derived from the service account JSON credentials or application
276
+ default credentials. The service account must be [authorized](https://cloud.google.com/iam/docs/service-account-overview#locations)
277
+ to perform Secret Manager actions in the target project.
278
+ """
279
+ return pulumi.get(self, "project_id")
280
+
281
+ @project_id.setter
282
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
283
+ pulumi.set(self, "project_id", value)
284
+
285
+ @_builtins.property
286
+ @pulumi.getter(name="secretNameTemplate")
287
+ def secret_name_template(self) -> Optional[pulumi.Input[_builtins.str]]:
288
+ """
289
+ Template describing how to generate external secret names.
290
+ Supports a subset of the Go Template syntax.
291
+ """
292
+ return pulumi.get(self, "secret_name_template")
293
+
294
+ @secret_name_template.setter
295
+ def secret_name_template(self, value: Optional[pulumi.Input[_builtins.str]]):
296
+ pulumi.set(self, "secret_name_template", value)
297
+
298
+ @_builtins.property
299
+ @pulumi.getter
300
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
301
+ """
302
+ The type of the secrets destination (`gcp-sm`).
303
+ """
304
+ return pulumi.get(self, "type")
305
+
306
+ @type.setter
307
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
308
+ pulumi.set(self, "type", value)
309
+
310
+
311
+ @pulumi.type_token("vault:secrets/syncGcpDestination:SyncGcpDestination")
312
+ class SyncGcpDestination(pulumi.CustomResource):
313
+ @overload
314
+ def __init__(__self__,
315
+ resource_name: str,
316
+ opts: Optional[pulumi.ResourceOptions] = None,
317
+ credentials: Optional[pulumi.Input[_builtins.str]] = None,
318
+ custom_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
319
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
320
+ name: Optional[pulumi.Input[_builtins.str]] = None,
321
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
322
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
323
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None,
324
+ __props__=None):
325
+ """
326
+ ## Example Usage
327
+
328
+ ```python
329
+ import pulumi
330
+ import pulumi_std as std
331
+ import pulumi_vault as vault
332
+
333
+ gcp = vault.secrets.SyncGcpDestination("gcp",
334
+ name="gcp-dest",
335
+ project_id="gcp-project-id",
336
+ credentials=std.file(input=credentials_file).result,
337
+ secret_name_template="vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}",
338
+ custom_tags={
339
+ "foo": "bar",
340
+ })
341
+ ```
342
+
343
+ ## Import
344
+
345
+ GCP Secrets sync destinations can be imported using the `name`, e.g.
346
+
347
+ ```sh
348
+ $ pulumi import vault:secrets/syncGcpDestination:SyncGcpDestination gcp gcp-dest
349
+ ```
350
+
351
+ :param str resource_name: The name of the resource.
352
+ :param pulumi.ResourceOptions opts: Options for the resource.
353
+ :param pulumi.Input[_builtins.str] credentials: JSON-encoded credentials to use to connect to GCP.
354
+ Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
355
+ variable.
356
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] custom_tags: Custom tags to set on the secret managed at the destination.
357
+ :param pulumi.Input[_builtins.str] granularity: Determines what level of information is synced as a distinct resource
358
+ at the destination. Supports `secret-path` and `secret-key`.
359
+ :param pulumi.Input[_builtins.str] name: Unique name of the GCP destination.
360
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
361
+ The value should not contain leading or trailing forward slashes.
362
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
363
+ :param pulumi.Input[_builtins.str] project_id: The target project to manage secrets in. If set,
364
+ overrides the project ID derived from the service account JSON credentials or application
365
+ default credentials. The service account must be [authorized](https://cloud.google.com/iam/docs/service-account-overview#locations)
366
+ to perform Secret Manager actions in the target project.
367
+ :param pulumi.Input[_builtins.str] secret_name_template: Template describing how to generate external secret names.
368
+ Supports a subset of the Go Template syntax.
369
+ """
370
+ ...
371
+ @overload
372
+ def __init__(__self__,
373
+ resource_name: str,
374
+ args: Optional[SyncGcpDestinationArgs] = None,
375
+ opts: Optional[pulumi.ResourceOptions] = None):
376
+ """
377
+ ## Example Usage
378
+
379
+ ```python
380
+ import pulumi
381
+ import pulumi_std as std
382
+ import pulumi_vault as vault
383
+
384
+ gcp = vault.secrets.SyncGcpDestination("gcp",
385
+ name="gcp-dest",
386
+ project_id="gcp-project-id",
387
+ credentials=std.file(input=credentials_file).result,
388
+ secret_name_template="vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}",
389
+ custom_tags={
390
+ "foo": "bar",
391
+ })
392
+ ```
393
+
394
+ ## Import
395
+
396
+ GCP Secrets sync destinations can be imported using the `name`, e.g.
397
+
398
+ ```sh
399
+ $ pulumi import vault:secrets/syncGcpDestination:SyncGcpDestination gcp gcp-dest
400
+ ```
401
+
402
+ :param str resource_name: The name of the resource.
403
+ :param SyncGcpDestinationArgs args: The arguments to use to populate this resource's properties.
404
+ :param pulumi.ResourceOptions opts: Options for the resource.
405
+ """
406
+ ...
407
+ def __init__(__self__, resource_name: str, *args, **kwargs):
408
+ resource_args, opts = _utilities.get_resource_args_opts(SyncGcpDestinationArgs, pulumi.ResourceOptions, *args, **kwargs)
409
+ if resource_args is not None:
410
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
411
+ else:
412
+ __self__._internal_init(resource_name, *args, **kwargs)
413
+
414
+ def _internal_init(__self__,
415
+ resource_name: str,
416
+ opts: Optional[pulumi.ResourceOptions] = None,
417
+ credentials: Optional[pulumi.Input[_builtins.str]] = None,
418
+ custom_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
419
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
420
+ name: Optional[pulumi.Input[_builtins.str]] = None,
421
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
422
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
423
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None,
424
+ __props__=None):
425
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
426
+ if not isinstance(opts, pulumi.ResourceOptions):
427
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
428
+ if opts.id is None:
429
+ if __props__ is not None:
430
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
431
+ __props__ = SyncGcpDestinationArgs.__new__(SyncGcpDestinationArgs)
432
+
433
+ __props__.__dict__["credentials"] = None if credentials is None else pulumi.Output.secret(credentials)
434
+ __props__.__dict__["custom_tags"] = custom_tags
435
+ __props__.__dict__["granularity"] = granularity
436
+ __props__.__dict__["name"] = name
437
+ __props__.__dict__["namespace"] = namespace
438
+ __props__.__dict__["project_id"] = project_id
439
+ __props__.__dict__["secret_name_template"] = secret_name_template
440
+ __props__.__dict__["type"] = None
441
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["credentials"])
442
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
443
+ super(SyncGcpDestination, __self__).__init__(
444
+ 'vault:secrets/syncGcpDestination:SyncGcpDestination',
445
+ resource_name,
446
+ __props__,
447
+ opts)
448
+
449
+ @staticmethod
450
+ def get(resource_name: str,
451
+ id: pulumi.Input[str],
452
+ opts: Optional[pulumi.ResourceOptions] = None,
453
+ credentials: Optional[pulumi.Input[_builtins.str]] = None,
454
+ custom_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
455
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
456
+ name: Optional[pulumi.Input[_builtins.str]] = None,
457
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
458
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
459
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None,
460
+ type: Optional[pulumi.Input[_builtins.str]] = None) -> 'SyncGcpDestination':
461
+ """
462
+ Get an existing SyncGcpDestination resource's state with the given name, id, and optional extra
463
+ properties used to qualify the lookup.
464
+
465
+ :param str resource_name: The unique name of the resulting resource.
466
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
467
+ :param pulumi.ResourceOptions opts: Options for the resource.
468
+ :param pulumi.Input[_builtins.str] credentials: JSON-encoded credentials to use to connect to GCP.
469
+ Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
470
+ variable.
471
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] custom_tags: Custom tags to set on the secret managed at the destination.
472
+ :param pulumi.Input[_builtins.str] granularity: Determines what level of information is synced as a distinct resource
473
+ at the destination. Supports `secret-path` and `secret-key`.
474
+ :param pulumi.Input[_builtins.str] name: Unique name of the GCP destination.
475
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
476
+ The value should not contain leading or trailing forward slashes.
477
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
478
+ :param pulumi.Input[_builtins.str] project_id: The target project to manage secrets in. If set,
479
+ overrides the project ID derived from the service account JSON credentials or application
480
+ default credentials. The service account must be [authorized](https://cloud.google.com/iam/docs/service-account-overview#locations)
481
+ to perform Secret Manager actions in the target project.
482
+ :param pulumi.Input[_builtins.str] secret_name_template: Template describing how to generate external secret names.
483
+ Supports a subset of the Go Template syntax.
484
+ :param pulumi.Input[_builtins.str] type: The type of the secrets destination (`gcp-sm`).
485
+ """
486
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
487
+
488
+ __props__ = _SyncGcpDestinationState.__new__(_SyncGcpDestinationState)
489
+
490
+ __props__.__dict__["credentials"] = credentials
491
+ __props__.__dict__["custom_tags"] = custom_tags
492
+ __props__.__dict__["granularity"] = granularity
493
+ __props__.__dict__["name"] = name
494
+ __props__.__dict__["namespace"] = namespace
495
+ __props__.__dict__["project_id"] = project_id
496
+ __props__.__dict__["secret_name_template"] = secret_name_template
497
+ __props__.__dict__["type"] = type
498
+ return SyncGcpDestination(resource_name, opts=opts, __props__=__props__)
499
+
500
+ @_builtins.property
501
+ @pulumi.getter
502
+ def credentials(self) -> pulumi.Output[Optional[_builtins.str]]:
503
+ """
504
+ JSON-encoded credentials to use to connect to GCP.
505
+ Can be omitted and directly provided to Vault using the `GOOGLE_APPLICATION_CREDENTIALS` environment
506
+ variable.
507
+ """
508
+ return pulumi.get(self, "credentials")
509
+
510
+ @_builtins.property
511
+ @pulumi.getter(name="customTags")
512
+ def custom_tags(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
513
+ """
514
+ Custom tags to set on the secret managed at the destination.
515
+ """
516
+ return pulumi.get(self, "custom_tags")
517
+
518
+ @_builtins.property
519
+ @pulumi.getter
520
+ def granularity(self) -> pulumi.Output[Optional[_builtins.str]]:
521
+ """
522
+ Determines what level of information is synced as a distinct resource
523
+ at the destination. Supports `secret-path` and `secret-key`.
524
+ """
525
+ return pulumi.get(self, "granularity")
526
+
527
+ @_builtins.property
528
+ @pulumi.getter
529
+ def name(self) -> pulumi.Output[_builtins.str]:
530
+ """
531
+ Unique name of the GCP destination.
532
+ """
533
+ return pulumi.get(self, "name")
534
+
535
+ @_builtins.property
536
+ @pulumi.getter
537
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
538
+ """
539
+ The namespace to provision the resource in.
540
+ The value should not contain leading or trailing forward slashes.
541
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
542
+ """
543
+ return pulumi.get(self, "namespace")
544
+
545
+ @_builtins.property
546
+ @pulumi.getter(name="projectId")
547
+ def project_id(self) -> pulumi.Output[Optional[_builtins.str]]:
548
+ """
549
+ The target project to manage secrets in. If set,
550
+ overrides the project ID derived from the service account JSON credentials or application
551
+ default credentials. The service account must be [authorized](https://cloud.google.com/iam/docs/service-account-overview#locations)
552
+ to perform Secret Manager actions in the target project.
553
+ """
554
+ return pulumi.get(self, "project_id")
555
+
556
+ @_builtins.property
557
+ @pulumi.getter(name="secretNameTemplate")
558
+ def secret_name_template(self) -> pulumi.Output[_builtins.str]:
559
+ """
560
+ Template describing how to generate external secret names.
561
+ Supports a subset of the Go Template syntax.
562
+ """
563
+ return pulumi.get(self, "secret_name_template")
564
+
565
+ @_builtins.property
566
+ @pulumi.getter
567
+ def type(self) -> pulumi.Output[_builtins.str]:
568
+ """
569
+ The type of the secrets destination (`gcp-sm`).
570
+ """
571
+ return pulumi.get(self, "type")
572
+