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,780 @@
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__ = ['SyncAwsDestinationArgs', 'SyncAwsDestination']
18
+
19
+ @pulumi.input_type
20
+ class SyncAwsDestinationArgs:
21
+ def __init__(__self__, *,
22
+ access_key_id: Optional[pulumi.Input[_builtins.str]] = None,
23
+ custom_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
24
+ external_id: Optional[pulumi.Input[_builtins.str]] = None,
25
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
26
+ name: Optional[pulumi.Input[_builtins.str]] = None,
27
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
28
+ region: Optional[pulumi.Input[_builtins.str]] = None,
29
+ role_arn: Optional[pulumi.Input[_builtins.str]] = None,
30
+ secret_access_key: Optional[pulumi.Input[_builtins.str]] = None,
31
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None):
32
+ """
33
+ The set of arguments for constructing a SyncAwsDestination resource.
34
+ :param pulumi.Input[_builtins.str] access_key_id: Access key id to authenticate against the AWS secrets manager.
35
+ Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment
36
+ variable.
37
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] custom_tags: Custom tags to set on the secret managed at the destination.
38
+ :param pulumi.Input[_builtins.str] external_id: Optional extra protection that must match the trust policy granting access to the
39
+ AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
40
+ The field is mutable with no special condition, but users must be careful that the new value fits with the trust
41
+ relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
42
+ denied errors. Ignored if the `role_arn` field is empty.
43
+ :param pulumi.Input[_builtins.str] granularity: Determines what level of information is synced as a distinct resource
44
+ at the destination. Supports `secret-path` and `secret-key`.
45
+ :param pulumi.Input[_builtins.str] name: Unique name of the AWS destination.
46
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
47
+ The value should not contain leading or trailing forward slashes.
48
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
49
+ :param pulumi.Input[_builtins.str] region: Region where to manage the secrets manager entries.
50
+ Can be omitted and directly provided to Vault using the `AWS_REGION` environment
51
+ variable.
52
+ :param pulumi.Input[_builtins.str] role_arn: Specifies a role to assume when connecting to AWS. When assuming a role,
53
+ Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
54
+ exist for Vault to be able to assume this role. The role can be in a different account.
55
+ The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
56
+ It is possible to provide both an access key pair and a role to assume.
57
+ :param pulumi.Input[_builtins.str] secret_access_key: Secret access key to authenticate against the AWS secrets manager.
58
+ Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment
59
+ variable.
60
+ :param pulumi.Input[_builtins.str] secret_name_template: Template describing how to generate external secret names.
61
+ Supports a subset of the Go Template syntax.
62
+ """
63
+ if access_key_id is not None:
64
+ pulumi.set(__self__, "access_key_id", access_key_id)
65
+ if custom_tags is not None:
66
+ pulumi.set(__self__, "custom_tags", custom_tags)
67
+ if external_id is not None:
68
+ pulumi.set(__self__, "external_id", external_id)
69
+ if granularity is not None:
70
+ pulumi.set(__self__, "granularity", granularity)
71
+ if name is not None:
72
+ pulumi.set(__self__, "name", name)
73
+ if namespace is not None:
74
+ pulumi.set(__self__, "namespace", namespace)
75
+ if region is not None:
76
+ pulumi.set(__self__, "region", region)
77
+ if role_arn is not None:
78
+ pulumi.set(__self__, "role_arn", role_arn)
79
+ if secret_access_key is not None:
80
+ pulumi.set(__self__, "secret_access_key", secret_access_key)
81
+ if secret_name_template is not None:
82
+ pulumi.set(__self__, "secret_name_template", secret_name_template)
83
+
84
+ @_builtins.property
85
+ @pulumi.getter(name="accessKeyId")
86
+ def access_key_id(self) -> Optional[pulumi.Input[_builtins.str]]:
87
+ """
88
+ Access key id to authenticate against the AWS secrets manager.
89
+ Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment
90
+ variable.
91
+ """
92
+ return pulumi.get(self, "access_key_id")
93
+
94
+ @access_key_id.setter
95
+ def access_key_id(self, value: Optional[pulumi.Input[_builtins.str]]):
96
+ pulumi.set(self, "access_key_id", value)
97
+
98
+ @_builtins.property
99
+ @pulumi.getter(name="customTags")
100
+ def custom_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
101
+ """
102
+ Custom tags to set on the secret managed at the destination.
103
+ """
104
+ return pulumi.get(self, "custom_tags")
105
+
106
+ @custom_tags.setter
107
+ def custom_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
108
+ pulumi.set(self, "custom_tags", value)
109
+
110
+ @_builtins.property
111
+ @pulumi.getter(name="externalId")
112
+ def external_id(self) -> Optional[pulumi.Input[_builtins.str]]:
113
+ """
114
+ Optional extra protection that must match the trust policy granting access to the
115
+ AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
116
+ The field is mutable with no special condition, but users must be careful that the new value fits with the trust
117
+ relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
118
+ denied errors. Ignored if the `role_arn` field is empty.
119
+ """
120
+ return pulumi.get(self, "external_id")
121
+
122
+ @external_id.setter
123
+ def external_id(self, value: Optional[pulumi.Input[_builtins.str]]):
124
+ pulumi.set(self, "external_id", value)
125
+
126
+ @_builtins.property
127
+ @pulumi.getter
128
+ def granularity(self) -> Optional[pulumi.Input[_builtins.str]]:
129
+ """
130
+ Determines what level of information is synced as a distinct resource
131
+ at the destination. Supports `secret-path` and `secret-key`.
132
+ """
133
+ return pulumi.get(self, "granularity")
134
+
135
+ @granularity.setter
136
+ def granularity(self, value: Optional[pulumi.Input[_builtins.str]]):
137
+ pulumi.set(self, "granularity", value)
138
+
139
+ @_builtins.property
140
+ @pulumi.getter
141
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
142
+ """
143
+ Unique name of the AWS destination.
144
+ """
145
+ return pulumi.get(self, "name")
146
+
147
+ @name.setter
148
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
149
+ pulumi.set(self, "name", value)
150
+
151
+ @_builtins.property
152
+ @pulumi.getter
153
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
154
+ """
155
+ The namespace to provision the resource in.
156
+ The value should not contain leading or trailing forward slashes.
157
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
158
+ """
159
+ return pulumi.get(self, "namespace")
160
+
161
+ @namespace.setter
162
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
163
+ pulumi.set(self, "namespace", value)
164
+
165
+ @_builtins.property
166
+ @pulumi.getter
167
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
168
+ """
169
+ Region where to manage the secrets manager entries.
170
+ Can be omitted and directly provided to Vault using the `AWS_REGION` environment
171
+ variable.
172
+ """
173
+ return pulumi.get(self, "region")
174
+
175
+ @region.setter
176
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
177
+ pulumi.set(self, "region", value)
178
+
179
+ @_builtins.property
180
+ @pulumi.getter(name="roleArn")
181
+ def role_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
182
+ """
183
+ Specifies a role to assume when connecting to AWS. When assuming a role,
184
+ Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
185
+ exist for Vault to be able to assume this role. The role can be in a different account.
186
+ The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
187
+ It is possible to provide both an access key pair and a role to assume.
188
+ """
189
+ return pulumi.get(self, "role_arn")
190
+
191
+ @role_arn.setter
192
+ def role_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
193
+ pulumi.set(self, "role_arn", value)
194
+
195
+ @_builtins.property
196
+ @pulumi.getter(name="secretAccessKey")
197
+ def secret_access_key(self) -> Optional[pulumi.Input[_builtins.str]]:
198
+ """
199
+ Secret access key to authenticate against the AWS secrets manager.
200
+ Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment
201
+ variable.
202
+ """
203
+ return pulumi.get(self, "secret_access_key")
204
+
205
+ @secret_access_key.setter
206
+ def secret_access_key(self, value: Optional[pulumi.Input[_builtins.str]]):
207
+ pulumi.set(self, "secret_access_key", value)
208
+
209
+ @_builtins.property
210
+ @pulumi.getter(name="secretNameTemplate")
211
+ def secret_name_template(self) -> Optional[pulumi.Input[_builtins.str]]:
212
+ """
213
+ Template describing how to generate external secret names.
214
+ Supports a subset of the Go Template syntax.
215
+ """
216
+ return pulumi.get(self, "secret_name_template")
217
+
218
+ @secret_name_template.setter
219
+ def secret_name_template(self, value: Optional[pulumi.Input[_builtins.str]]):
220
+ pulumi.set(self, "secret_name_template", value)
221
+
222
+
223
+ @pulumi.input_type
224
+ class _SyncAwsDestinationState:
225
+ def __init__(__self__, *,
226
+ access_key_id: Optional[pulumi.Input[_builtins.str]] = None,
227
+ custom_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
228
+ external_id: Optional[pulumi.Input[_builtins.str]] = None,
229
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
230
+ name: Optional[pulumi.Input[_builtins.str]] = None,
231
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
232
+ region: Optional[pulumi.Input[_builtins.str]] = None,
233
+ role_arn: Optional[pulumi.Input[_builtins.str]] = None,
234
+ secret_access_key: Optional[pulumi.Input[_builtins.str]] = None,
235
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None,
236
+ type: Optional[pulumi.Input[_builtins.str]] = None):
237
+ """
238
+ Input properties used for looking up and filtering SyncAwsDestination resources.
239
+ :param pulumi.Input[_builtins.str] access_key_id: Access key id to authenticate against the AWS secrets manager.
240
+ Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment
241
+ variable.
242
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] custom_tags: Custom tags to set on the secret managed at the destination.
243
+ :param pulumi.Input[_builtins.str] external_id: Optional extra protection that must match the trust policy granting access to the
244
+ AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
245
+ The field is mutable with no special condition, but users must be careful that the new value fits with the trust
246
+ relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
247
+ denied errors. Ignored if the `role_arn` field is empty.
248
+ :param pulumi.Input[_builtins.str] granularity: Determines what level of information is synced as a distinct resource
249
+ at the destination. Supports `secret-path` and `secret-key`.
250
+ :param pulumi.Input[_builtins.str] name: Unique name of the AWS destination.
251
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
252
+ The value should not contain leading or trailing forward slashes.
253
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
254
+ :param pulumi.Input[_builtins.str] region: Region where to manage the secrets manager entries.
255
+ Can be omitted and directly provided to Vault using the `AWS_REGION` environment
256
+ variable.
257
+ :param pulumi.Input[_builtins.str] role_arn: Specifies a role to assume when connecting to AWS. When assuming a role,
258
+ Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
259
+ exist for Vault to be able to assume this role. The role can be in a different account.
260
+ The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
261
+ It is possible to provide both an access key pair and a role to assume.
262
+ :param pulumi.Input[_builtins.str] secret_access_key: Secret access key to authenticate against the AWS secrets manager.
263
+ Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment
264
+ variable.
265
+ :param pulumi.Input[_builtins.str] secret_name_template: Template describing how to generate external secret names.
266
+ Supports a subset of the Go Template syntax.
267
+ :param pulumi.Input[_builtins.str] type: The type of the secrets destination (`aws-sm`).
268
+ """
269
+ if access_key_id is not None:
270
+ pulumi.set(__self__, "access_key_id", access_key_id)
271
+ if custom_tags is not None:
272
+ pulumi.set(__self__, "custom_tags", custom_tags)
273
+ if external_id is not None:
274
+ pulumi.set(__self__, "external_id", external_id)
275
+ if granularity is not None:
276
+ pulumi.set(__self__, "granularity", granularity)
277
+ if name is not None:
278
+ pulumi.set(__self__, "name", name)
279
+ if namespace is not None:
280
+ pulumi.set(__self__, "namespace", namespace)
281
+ if region is not None:
282
+ pulumi.set(__self__, "region", region)
283
+ if role_arn is not None:
284
+ pulumi.set(__self__, "role_arn", role_arn)
285
+ if secret_access_key is not None:
286
+ pulumi.set(__self__, "secret_access_key", secret_access_key)
287
+ if secret_name_template is not None:
288
+ pulumi.set(__self__, "secret_name_template", secret_name_template)
289
+ if type is not None:
290
+ pulumi.set(__self__, "type", type)
291
+
292
+ @_builtins.property
293
+ @pulumi.getter(name="accessKeyId")
294
+ def access_key_id(self) -> Optional[pulumi.Input[_builtins.str]]:
295
+ """
296
+ Access key id to authenticate against the AWS secrets manager.
297
+ Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment
298
+ variable.
299
+ """
300
+ return pulumi.get(self, "access_key_id")
301
+
302
+ @access_key_id.setter
303
+ def access_key_id(self, value: Optional[pulumi.Input[_builtins.str]]):
304
+ pulumi.set(self, "access_key_id", value)
305
+
306
+ @_builtins.property
307
+ @pulumi.getter(name="customTags")
308
+ def custom_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
309
+ """
310
+ Custom tags to set on the secret managed at the destination.
311
+ """
312
+ return pulumi.get(self, "custom_tags")
313
+
314
+ @custom_tags.setter
315
+ def custom_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
316
+ pulumi.set(self, "custom_tags", value)
317
+
318
+ @_builtins.property
319
+ @pulumi.getter(name="externalId")
320
+ def external_id(self) -> Optional[pulumi.Input[_builtins.str]]:
321
+ """
322
+ Optional extra protection that must match the trust policy granting access to the
323
+ AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
324
+ The field is mutable with no special condition, but users must be careful that the new value fits with the trust
325
+ relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
326
+ denied errors. Ignored if the `role_arn` field is empty.
327
+ """
328
+ return pulumi.get(self, "external_id")
329
+
330
+ @external_id.setter
331
+ def external_id(self, value: Optional[pulumi.Input[_builtins.str]]):
332
+ pulumi.set(self, "external_id", value)
333
+
334
+ @_builtins.property
335
+ @pulumi.getter
336
+ def granularity(self) -> Optional[pulumi.Input[_builtins.str]]:
337
+ """
338
+ Determines what level of information is synced as a distinct resource
339
+ at the destination. Supports `secret-path` and `secret-key`.
340
+ """
341
+ return pulumi.get(self, "granularity")
342
+
343
+ @granularity.setter
344
+ def granularity(self, value: Optional[pulumi.Input[_builtins.str]]):
345
+ pulumi.set(self, "granularity", value)
346
+
347
+ @_builtins.property
348
+ @pulumi.getter
349
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
350
+ """
351
+ Unique name of the AWS destination.
352
+ """
353
+ return pulumi.get(self, "name")
354
+
355
+ @name.setter
356
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
357
+ pulumi.set(self, "name", value)
358
+
359
+ @_builtins.property
360
+ @pulumi.getter
361
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
362
+ """
363
+ The namespace to provision the resource in.
364
+ The value should not contain leading or trailing forward slashes.
365
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
366
+ """
367
+ return pulumi.get(self, "namespace")
368
+
369
+ @namespace.setter
370
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
371
+ pulumi.set(self, "namespace", value)
372
+
373
+ @_builtins.property
374
+ @pulumi.getter
375
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
376
+ """
377
+ Region where to manage the secrets manager entries.
378
+ Can be omitted and directly provided to Vault using the `AWS_REGION` environment
379
+ variable.
380
+ """
381
+ return pulumi.get(self, "region")
382
+
383
+ @region.setter
384
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
385
+ pulumi.set(self, "region", value)
386
+
387
+ @_builtins.property
388
+ @pulumi.getter(name="roleArn")
389
+ def role_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
390
+ """
391
+ Specifies a role to assume when connecting to AWS. When assuming a role,
392
+ Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
393
+ exist for Vault to be able to assume this role. The role can be in a different account.
394
+ The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
395
+ It is possible to provide both an access key pair and a role to assume.
396
+ """
397
+ return pulumi.get(self, "role_arn")
398
+
399
+ @role_arn.setter
400
+ def role_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
401
+ pulumi.set(self, "role_arn", value)
402
+
403
+ @_builtins.property
404
+ @pulumi.getter(name="secretAccessKey")
405
+ def secret_access_key(self) -> Optional[pulumi.Input[_builtins.str]]:
406
+ """
407
+ Secret access key to authenticate against the AWS secrets manager.
408
+ Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment
409
+ variable.
410
+ """
411
+ return pulumi.get(self, "secret_access_key")
412
+
413
+ @secret_access_key.setter
414
+ def secret_access_key(self, value: Optional[pulumi.Input[_builtins.str]]):
415
+ pulumi.set(self, "secret_access_key", value)
416
+
417
+ @_builtins.property
418
+ @pulumi.getter(name="secretNameTemplate")
419
+ def secret_name_template(self) -> Optional[pulumi.Input[_builtins.str]]:
420
+ """
421
+ Template describing how to generate external secret names.
422
+ Supports a subset of the Go Template syntax.
423
+ """
424
+ return pulumi.get(self, "secret_name_template")
425
+
426
+ @secret_name_template.setter
427
+ def secret_name_template(self, value: Optional[pulumi.Input[_builtins.str]]):
428
+ pulumi.set(self, "secret_name_template", value)
429
+
430
+ @_builtins.property
431
+ @pulumi.getter
432
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
433
+ """
434
+ The type of the secrets destination (`aws-sm`).
435
+ """
436
+ return pulumi.get(self, "type")
437
+
438
+ @type.setter
439
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
440
+ pulumi.set(self, "type", value)
441
+
442
+
443
+ @pulumi.type_token("vault:secrets/syncAwsDestination:SyncAwsDestination")
444
+ class SyncAwsDestination(pulumi.CustomResource):
445
+ @overload
446
+ def __init__(__self__,
447
+ resource_name: str,
448
+ opts: Optional[pulumi.ResourceOptions] = None,
449
+ access_key_id: Optional[pulumi.Input[_builtins.str]] = None,
450
+ custom_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
451
+ external_id: Optional[pulumi.Input[_builtins.str]] = None,
452
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
453
+ name: Optional[pulumi.Input[_builtins.str]] = None,
454
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
455
+ region: Optional[pulumi.Input[_builtins.str]] = None,
456
+ role_arn: Optional[pulumi.Input[_builtins.str]] = None,
457
+ secret_access_key: Optional[pulumi.Input[_builtins.str]] = None,
458
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None,
459
+ __props__=None):
460
+ """
461
+ ## Example Usage
462
+
463
+ ```python
464
+ import pulumi
465
+ import pulumi_vault as vault
466
+
467
+ aws = vault.secrets.SyncAwsDestination("aws",
468
+ name="aws-dest",
469
+ access_key_id=access_key_id,
470
+ secret_access_key=secret_access_key,
471
+ region="us-east-1",
472
+ role_arn="role-arn",
473
+ external_id="external-id",
474
+ secret_name_template="vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}",
475
+ custom_tags={
476
+ "foo": "bar",
477
+ })
478
+ ```
479
+
480
+ ## Import
481
+
482
+ AWS Secrets sync destinations can be imported using the `name`, e.g.
483
+
484
+ ```sh
485
+ $ pulumi import vault:secrets/syncAwsDestination:SyncAwsDestination aws aws-dest
486
+ ```
487
+
488
+ :param str resource_name: The name of the resource.
489
+ :param pulumi.ResourceOptions opts: Options for the resource.
490
+ :param pulumi.Input[_builtins.str] access_key_id: Access key id to authenticate against the AWS secrets manager.
491
+ Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment
492
+ variable.
493
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] custom_tags: Custom tags to set on the secret managed at the destination.
494
+ :param pulumi.Input[_builtins.str] external_id: Optional extra protection that must match the trust policy granting access to the
495
+ AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
496
+ The field is mutable with no special condition, but users must be careful that the new value fits with the trust
497
+ relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
498
+ denied errors. Ignored if the `role_arn` field is empty.
499
+ :param pulumi.Input[_builtins.str] granularity: Determines what level of information is synced as a distinct resource
500
+ at the destination. Supports `secret-path` and `secret-key`.
501
+ :param pulumi.Input[_builtins.str] name: Unique name of the AWS destination.
502
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
503
+ The value should not contain leading or trailing forward slashes.
504
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
505
+ :param pulumi.Input[_builtins.str] region: Region where to manage the secrets manager entries.
506
+ Can be omitted and directly provided to Vault using the `AWS_REGION` environment
507
+ variable.
508
+ :param pulumi.Input[_builtins.str] role_arn: Specifies a role to assume when connecting to AWS. When assuming a role,
509
+ Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
510
+ exist for Vault to be able to assume this role. The role can be in a different account.
511
+ The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
512
+ It is possible to provide both an access key pair and a role to assume.
513
+ :param pulumi.Input[_builtins.str] secret_access_key: Secret access key to authenticate against the AWS secrets manager.
514
+ Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment
515
+ variable.
516
+ :param pulumi.Input[_builtins.str] secret_name_template: Template describing how to generate external secret names.
517
+ Supports a subset of the Go Template syntax.
518
+ """
519
+ ...
520
+ @overload
521
+ def __init__(__self__,
522
+ resource_name: str,
523
+ args: Optional[SyncAwsDestinationArgs] = None,
524
+ opts: Optional[pulumi.ResourceOptions] = None):
525
+ """
526
+ ## Example Usage
527
+
528
+ ```python
529
+ import pulumi
530
+ import pulumi_vault as vault
531
+
532
+ aws = vault.secrets.SyncAwsDestination("aws",
533
+ name="aws-dest",
534
+ access_key_id=access_key_id,
535
+ secret_access_key=secret_access_key,
536
+ region="us-east-1",
537
+ role_arn="role-arn",
538
+ external_id="external-id",
539
+ secret_name_template="vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}",
540
+ custom_tags={
541
+ "foo": "bar",
542
+ })
543
+ ```
544
+
545
+ ## Import
546
+
547
+ AWS Secrets sync destinations can be imported using the `name`, e.g.
548
+
549
+ ```sh
550
+ $ pulumi import vault:secrets/syncAwsDestination:SyncAwsDestination aws aws-dest
551
+ ```
552
+
553
+ :param str resource_name: The name of the resource.
554
+ :param SyncAwsDestinationArgs args: The arguments to use to populate this resource's properties.
555
+ :param pulumi.ResourceOptions opts: Options for the resource.
556
+ """
557
+ ...
558
+ def __init__(__self__, resource_name: str, *args, **kwargs):
559
+ resource_args, opts = _utilities.get_resource_args_opts(SyncAwsDestinationArgs, pulumi.ResourceOptions, *args, **kwargs)
560
+ if resource_args is not None:
561
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
562
+ else:
563
+ __self__._internal_init(resource_name, *args, **kwargs)
564
+
565
+ def _internal_init(__self__,
566
+ resource_name: str,
567
+ opts: Optional[pulumi.ResourceOptions] = None,
568
+ access_key_id: Optional[pulumi.Input[_builtins.str]] = None,
569
+ custom_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
570
+ external_id: Optional[pulumi.Input[_builtins.str]] = None,
571
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
572
+ name: Optional[pulumi.Input[_builtins.str]] = None,
573
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
574
+ region: Optional[pulumi.Input[_builtins.str]] = None,
575
+ role_arn: Optional[pulumi.Input[_builtins.str]] = None,
576
+ secret_access_key: Optional[pulumi.Input[_builtins.str]] = None,
577
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None,
578
+ __props__=None):
579
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
580
+ if not isinstance(opts, pulumi.ResourceOptions):
581
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
582
+ if opts.id is None:
583
+ if __props__ is not None:
584
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
585
+ __props__ = SyncAwsDestinationArgs.__new__(SyncAwsDestinationArgs)
586
+
587
+ __props__.__dict__["access_key_id"] = access_key_id
588
+ __props__.__dict__["custom_tags"] = custom_tags
589
+ __props__.__dict__["external_id"] = external_id
590
+ __props__.__dict__["granularity"] = granularity
591
+ __props__.__dict__["name"] = name
592
+ __props__.__dict__["namespace"] = namespace
593
+ __props__.__dict__["region"] = region
594
+ __props__.__dict__["role_arn"] = role_arn
595
+ __props__.__dict__["secret_access_key"] = None if secret_access_key is None else pulumi.Output.secret(secret_access_key)
596
+ __props__.__dict__["secret_name_template"] = secret_name_template
597
+ __props__.__dict__["type"] = None
598
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["secretAccessKey"])
599
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
600
+ super(SyncAwsDestination, __self__).__init__(
601
+ 'vault:secrets/syncAwsDestination:SyncAwsDestination',
602
+ resource_name,
603
+ __props__,
604
+ opts)
605
+
606
+ @staticmethod
607
+ def get(resource_name: str,
608
+ id: pulumi.Input[str],
609
+ opts: Optional[pulumi.ResourceOptions] = None,
610
+ access_key_id: Optional[pulumi.Input[_builtins.str]] = None,
611
+ custom_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
612
+ external_id: Optional[pulumi.Input[_builtins.str]] = None,
613
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
614
+ name: Optional[pulumi.Input[_builtins.str]] = None,
615
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
616
+ region: Optional[pulumi.Input[_builtins.str]] = None,
617
+ role_arn: Optional[pulumi.Input[_builtins.str]] = None,
618
+ secret_access_key: Optional[pulumi.Input[_builtins.str]] = None,
619
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None,
620
+ type: Optional[pulumi.Input[_builtins.str]] = None) -> 'SyncAwsDestination':
621
+ """
622
+ Get an existing SyncAwsDestination resource's state with the given name, id, and optional extra
623
+ properties used to qualify the lookup.
624
+
625
+ :param str resource_name: The unique name of the resulting resource.
626
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
627
+ :param pulumi.ResourceOptions opts: Options for the resource.
628
+ :param pulumi.Input[_builtins.str] access_key_id: Access key id to authenticate against the AWS secrets manager.
629
+ Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment
630
+ variable.
631
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] custom_tags: Custom tags to set on the secret managed at the destination.
632
+ :param pulumi.Input[_builtins.str] external_id: Optional extra protection that must match the trust policy granting access to the
633
+ AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
634
+ The field is mutable with no special condition, but users must be careful that the new value fits with the trust
635
+ relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
636
+ denied errors. Ignored if the `role_arn` field is empty.
637
+ :param pulumi.Input[_builtins.str] granularity: Determines what level of information is synced as a distinct resource
638
+ at the destination. Supports `secret-path` and `secret-key`.
639
+ :param pulumi.Input[_builtins.str] name: Unique name of the AWS destination.
640
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
641
+ The value should not contain leading or trailing forward slashes.
642
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
643
+ :param pulumi.Input[_builtins.str] region: Region where to manage the secrets manager entries.
644
+ Can be omitted and directly provided to Vault using the `AWS_REGION` environment
645
+ variable.
646
+ :param pulumi.Input[_builtins.str] role_arn: Specifies a role to assume when connecting to AWS. When assuming a role,
647
+ Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
648
+ exist for Vault to be able to assume this role. The role can be in a different account.
649
+ The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
650
+ It is possible to provide both an access key pair and a role to assume.
651
+ :param pulumi.Input[_builtins.str] secret_access_key: Secret access key to authenticate against the AWS secrets manager.
652
+ Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment
653
+ variable.
654
+ :param pulumi.Input[_builtins.str] secret_name_template: Template describing how to generate external secret names.
655
+ Supports a subset of the Go Template syntax.
656
+ :param pulumi.Input[_builtins.str] type: The type of the secrets destination (`aws-sm`).
657
+ """
658
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
659
+
660
+ __props__ = _SyncAwsDestinationState.__new__(_SyncAwsDestinationState)
661
+
662
+ __props__.__dict__["access_key_id"] = access_key_id
663
+ __props__.__dict__["custom_tags"] = custom_tags
664
+ __props__.__dict__["external_id"] = external_id
665
+ __props__.__dict__["granularity"] = granularity
666
+ __props__.__dict__["name"] = name
667
+ __props__.__dict__["namespace"] = namespace
668
+ __props__.__dict__["region"] = region
669
+ __props__.__dict__["role_arn"] = role_arn
670
+ __props__.__dict__["secret_access_key"] = secret_access_key
671
+ __props__.__dict__["secret_name_template"] = secret_name_template
672
+ __props__.__dict__["type"] = type
673
+ return SyncAwsDestination(resource_name, opts=opts, __props__=__props__)
674
+
675
+ @_builtins.property
676
+ @pulumi.getter(name="accessKeyId")
677
+ def access_key_id(self) -> pulumi.Output[Optional[_builtins.str]]:
678
+ """
679
+ Access key id to authenticate against the AWS secrets manager.
680
+ Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment
681
+ variable.
682
+ """
683
+ return pulumi.get(self, "access_key_id")
684
+
685
+ @_builtins.property
686
+ @pulumi.getter(name="customTags")
687
+ def custom_tags(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
688
+ """
689
+ Custom tags to set on the secret managed at the destination.
690
+ """
691
+ return pulumi.get(self, "custom_tags")
692
+
693
+ @_builtins.property
694
+ @pulumi.getter(name="externalId")
695
+ def external_id(self) -> pulumi.Output[Optional[_builtins.str]]:
696
+ """
697
+ Optional extra protection that must match the trust policy granting access to the
698
+ AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
699
+ The field is mutable with no special condition, but users must be careful that the new value fits with the trust
700
+ relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
701
+ denied errors. Ignored if the `role_arn` field is empty.
702
+ """
703
+ return pulumi.get(self, "external_id")
704
+
705
+ @_builtins.property
706
+ @pulumi.getter
707
+ def granularity(self) -> pulumi.Output[Optional[_builtins.str]]:
708
+ """
709
+ Determines what level of information is synced as a distinct resource
710
+ at the destination. Supports `secret-path` and `secret-key`.
711
+ """
712
+ return pulumi.get(self, "granularity")
713
+
714
+ @_builtins.property
715
+ @pulumi.getter
716
+ def name(self) -> pulumi.Output[_builtins.str]:
717
+ """
718
+ Unique name of the AWS destination.
719
+ """
720
+ return pulumi.get(self, "name")
721
+
722
+ @_builtins.property
723
+ @pulumi.getter
724
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
725
+ """
726
+ The namespace to provision the resource in.
727
+ The value should not contain leading or trailing forward slashes.
728
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
729
+ """
730
+ return pulumi.get(self, "namespace")
731
+
732
+ @_builtins.property
733
+ @pulumi.getter
734
+ def region(self) -> pulumi.Output[Optional[_builtins.str]]:
735
+ """
736
+ Region where to manage the secrets manager entries.
737
+ Can be omitted and directly provided to Vault using the `AWS_REGION` environment
738
+ variable.
739
+ """
740
+ return pulumi.get(self, "region")
741
+
742
+ @_builtins.property
743
+ @pulumi.getter(name="roleArn")
744
+ def role_arn(self) -> pulumi.Output[Optional[_builtins.str]]:
745
+ """
746
+ Specifies a role to assume when connecting to AWS. When assuming a role,
747
+ Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
748
+ exist for Vault to be able to assume this role. The role can be in a different account.
749
+ The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
750
+ It is possible to provide both an access key pair and a role to assume.
751
+ """
752
+ return pulumi.get(self, "role_arn")
753
+
754
+ @_builtins.property
755
+ @pulumi.getter(name="secretAccessKey")
756
+ def secret_access_key(self) -> pulumi.Output[Optional[_builtins.str]]:
757
+ """
758
+ Secret access key to authenticate against the AWS secrets manager.
759
+ Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment
760
+ variable.
761
+ """
762
+ return pulumi.get(self, "secret_access_key")
763
+
764
+ @_builtins.property
765
+ @pulumi.getter(name="secretNameTemplate")
766
+ def secret_name_template(self) -> pulumi.Output[_builtins.str]:
767
+ """
768
+ Template describing how to generate external secret names.
769
+ Supports a subset of the Go Template syntax.
770
+ """
771
+ return pulumi.get(self, "secret_name_template")
772
+
773
+ @_builtins.property
774
+ @pulumi.getter
775
+ def type(self) -> pulumi.Output[_builtins.str]:
776
+ """
777
+ The type of the secrets destination (`aws-sm`).
778
+ """
779
+ return pulumi.get(self, "type")
780
+