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,592 @@
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__ = ['TemplateArgs', 'Template']
18
+
19
+ @pulumi.input_type
20
+ class TemplateArgs:
21
+ def __init__(__self__, *,
22
+ path: pulumi.Input[_builtins.str],
23
+ alphabet: Optional[pulumi.Input[_builtins.str]] = None,
24
+ decode_formats: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
25
+ encode_format: Optional[pulumi.Input[_builtins.str]] = None,
26
+ name: Optional[pulumi.Input[_builtins.str]] = None,
27
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
28
+ pattern: Optional[pulumi.Input[_builtins.str]] = None,
29
+ type: Optional[pulumi.Input[_builtins.str]] = None):
30
+ """
31
+ The set of arguments for constructing a Template resource.
32
+ :param pulumi.Input[_builtins.str] path: Path to where the back-end is mounted within Vault.
33
+ :param pulumi.Input[_builtins.str] alphabet: The alphabet to use for this template. This is only used during FPE transformations.
34
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] decode_formats: Optional mapping of name to regular expression template, used to customize
35
+ the decoded output. (requires Vault Enterprise 1.9+)
36
+ :param pulumi.Input[_builtins.str] encode_format: The regular expression template used to format encoded values.
37
+ (requires Vault Enterprise 1.9+)
38
+ :param pulumi.Input[_builtins.str] name: The name of the template.
39
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
40
+ The value should not contain leading or trailing forward slashes.
41
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
42
+ *Available only for Vault Enterprise*.
43
+ :param pulumi.Input[_builtins.str] pattern: The pattern used for matching. Currently, only regular expression pattern is supported.
44
+ :param pulumi.Input[_builtins.str] type: The pattern type to use for match detection. Currently, only regex is supported.
45
+ """
46
+ pulumi.set(__self__, "path", path)
47
+ if alphabet is not None:
48
+ pulumi.set(__self__, "alphabet", alphabet)
49
+ if decode_formats is not None:
50
+ pulumi.set(__self__, "decode_formats", decode_formats)
51
+ if encode_format is not None:
52
+ pulumi.set(__self__, "encode_format", encode_format)
53
+ if name is not None:
54
+ pulumi.set(__self__, "name", name)
55
+ if namespace is not None:
56
+ pulumi.set(__self__, "namespace", namespace)
57
+ if pattern is not None:
58
+ pulumi.set(__self__, "pattern", pattern)
59
+ if type is not None:
60
+ pulumi.set(__self__, "type", type)
61
+
62
+ @_builtins.property
63
+ @pulumi.getter
64
+ def path(self) -> pulumi.Input[_builtins.str]:
65
+ """
66
+ Path to where the back-end is mounted within Vault.
67
+ """
68
+ return pulumi.get(self, "path")
69
+
70
+ @path.setter
71
+ def path(self, value: pulumi.Input[_builtins.str]):
72
+ pulumi.set(self, "path", value)
73
+
74
+ @_builtins.property
75
+ @pulumi.getter
76
+ def alphabet(self) -> Optional[pulumi.Input[_builtins.str]]:
77
+ """
78
+ The alphabet to use for this template. This is only used during FPE transformations.
79
+ """
80
+ return pulumi.get(self, "alphabet")
81
+
82
+ @alphabet.setter
83
+ def alphabet(self, value: Optional[pulumi.Input[_builtins.str]]):
84
+ pulumi.set(self, "alphabet", value)
85
+
86
+ @_builtins.property
87
+ @pulumi.getter(name="decodeFormats")
88
+ def decode_formats(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
89
+ """
90
+ Optional mapping of name to regular expression template, used to customize
91
+ the decoded output. (requires Vault Enterprise 1.9+)
92
+ """
93
+ return pulumi.get(self, "decode_formats")
94
+
95
+ @decode_formats.setter
96
+ def decode_formats(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
97
+ pulumi.set(self, "decode_formats", value)
98
+
99
+ @_builtins.property
100
+ @pulumi.getter(name="encodeFormat")
101
+ def encode_format(self) -> Optional[pulumi.Input[_builtins.str]]:
102
+ """
103
+ The regular expression template used to format encoded values.
104
+ (requires Vault Enterprise 1.9+)
105
+ """
106
+ return pulumi.get(self, "encode_format")
107
+
108
+ @encode_format.setter
109
+ def encode_format(self, value: Optional[pulumi.Input[_builtins.str]]):
110
+ pulumi.set(self, "encode_format", value)
111
+
112
+ @_builtins.property
113
+ @pulumi.getter
114
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
115
+ """
116
+ The name of the template.
117
+ """
118
+ return pulumi.get(self, "name")
119
+
120
+ @name.setter
121
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
122
+ pulumi.set(self, "name", value)
123
+
124
+ @_builtins.property
125
+ @pulumi.getter
126
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
127
+ """
128
+ The namespace to provision the resource in.
129
+ The value should not contain leading or trailing forward slashes.
130
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
131
+ *Available only for Vault Enterprise*.
132
+ """
133
+ return pulumi.get(self, "namespace")
134
+
135
+ @namespace.setter
136
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
137
+ pulumi.set(self, "namespace", value)
138
+
139
+ @_builtins.property
140
+ @pulumi.getter
141
+ def pattern(self) -> Optional[pulumi.Input[_builtins.str]]:
142
+ """
143
+ The pattern used for matching. Currently, only regular expression pattern is supported.
144
+ """
145
+ return pulumi.get(self, "pattern")
146
+
147
+ @pattern.setter
148
+ def pattern(self, value: Optional[pulumi.Input[_builtins.str]]):
149
+ pulumi.set(self, "pattern", value)
150
+
151
+ @_builtins.property
152
+ @pulumi.getter
153
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
154
+ """
155
+ The pattern type to use for match detection. Currently, only regex is supported.
156
+ """
157
+ return pulumi.get(self, "type")
158
+
159
+ @type.setter
160
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
161
+ pulumi.set(self, "type", value)
162
+
163
+
164
+ @pulumi.input_type
165
+ class _TemplateState:
166
+ def __init__(__self__, *,
167
+ alphabet: Optional[pulumi.Input[_builtins.str]] = None,
168
+ decode_formats: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
169
+ encode_format: Optional[pulumi.Input[_builtins.str]] = None,
170
+ name: Optional[pulumi.Input[_builtins.str]] = None,
171
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
172
+ path: Optional[pulumi.Input[_builtins.str]] = None,
173
+ pattern: Optional[pulumi.Input[_builtins.str]] = None,
174
+ type: Optional[pulumi.Input[_builtins.str]] = None):
175
+ """
176
+ Input properties used for looking up and filtering Template resources.
177
+ :param pulumi.Input[_builtins.str] alphabet: The alphabet to use for this template. This is only used during FPE transformations.
178
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] decode_formats: Optional mapping of name to regular expression template, used to customize
179
+ the decoded output. (requires Vault Enterprise 1.9+)
180
+ :param pulumi.Input[_builtins.str] encode_format: The regular expression template used to format encoded values.
181
+ (requires Vault Enterprise 1.9+)
182
+ :param pulumi.Input[_builtins.str] name: The name of the template.
183
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
184
+ The value should not contain leading or trailing forward slashes.
185
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
186
+ *Available only for Vault Enterprise*.
187
+ :param pulumi.Input[_builtins.str] path: Path to where the back-end is mounted within Vault.
188
+ :param pulumi.Input[_builtins.str] pattern: The pattern used for matching. Currently, only regular expression pattern is supported.
189
+ :param pulumi.Input[_builtins.str] type: The pattern type to use for match detection. Currently, only regex is supported.
190
+ """
191
+ if alphabet is not None:
192
+ pulumi.set(__self__, "alphabet", alphabet)
193
+ if decode_formats is not None:
194
+ pulumi.set(__self__, "decode_formats", decode_formats)
195
+ if encode_format is not None:
196
+ pulumi.set(__self__, "encode_format", encode_format)
197
+ if name is not None:
198
+ pulumi.set(__self__, "name", name)
199
+ if namespace is not None:
200
+ pulumi.set(__self__, "namespace", namespace)
201
+ if path is not None:
202
+ pulumi.set(__self__, "path", path)
203
+ if pattern is not None:
204
+ pulumi.set(__self__, "pattern", pattern)
205
+ if type is not None:
206
+ pulumi.set(__self__, "type", type)
207
+
208
+ @_builtins.property
209
+ @pulumi.getter
210
+ def alphabet(self) -> Optional[pulumi.Input[_builtins.str]]:
211
+ """
212
+ The alphabet to use for this template. This is only used during FPE transformations.
213
+ """
214
+ return pulumi.get(self, "alphabet")
215
+
216
+ @alphabet.setter
217
+ def alphabet(self, value: Optional[pulumi.Input[_builtins.str]]):
218
+ pulumi.set(self, "alphabet", value)
219
+
220
+ @_builtins.property
221
+ @pulumi.getter(name="decodeFormats")
222
+ def decode_formats(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
223
+ """
224
+ Optional mapping of name to regular expression template, used to customize
225
+ the decoded output. (requires Vault Enterprise 1.9+)
226
+ """
227
+ return pulumi.get(self, "decode_formats")
228
+
229
+ @decode_formats.setter
230
+ def decode_formats(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
231
+ pulumi.set(self, "decode_formats", value)
232
+
233
+ @_builtins.property
234
+ @pulumi.getter(name="encodeFormat")
235
+ def encode_format(self) -> Optional[pulumi.Input[_builtins.str]]:
236
+ """
237
+ The regular expression template used to format encoded values.
238
+ (requires Vault Enterprise 1.9+)
239
+ """
240
+ return pulumi.get(self, "encode_format")
241
+
242
+ @encode_format.setter
243
+ def encode_format(self, value: Optional[pulumi.Input[_builtins.str]]):
244
+ pulumi.set(self, "encode_format", value)
245
+
246
+ @_builtins.property
247
+ @pulumi.getter
248
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
249
+ """
250
+ The name of the template.
251
+ """
252
+ return pulumi.get(self, "name")
253
+
254
+ @name.setter
255
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
256
+ pulumi.set(self, "name", value)
257
+
258
+ @_builtins.property
259
+ @pulumi.getter
260
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
261
+ """
262
+ The namespace to provision the resource in.
263
+ The value should not contain leading or trailing forward slashes.
264
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
265
+ *Available only for Vault Enterprise*.
266
+ """
267
+ return pulumi.get(self, "namespace")
268
+
269
+ @namespace.setter
270
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
271
+ pulumi.set(self, "namespace", value)
272
+
273
+ @_builtins.property
274
+ @pulumi.getter
275
+ def path(self) -> Optional[pulumi.Input[_builtins.str]]:
276
+ """
277
+ Path to where the back-end is mounted within Vault.
278
+ """
279
+ return pulumi.get(self, "path")
280
+
281
+ @path.setter
282
+ def path(self, value: Optional[pulumi.Input[_builtins.str]]):
283
+ pulumi.set(self, "path", value)
284
+
285
+ @_builtins.property
286
+ @pulumi.getter
287
+ def pattern(self) -> Optional[pulumi.Input[_builtins.str]]:
288
+ """
289
+ The pattern used for matching. Currently, only regular expression pattern is supported.
290
+ """
291
+ return pulumi.get(self, "pattern")
292
+
293
+ @pattern.setter
294
+ def pattern(self, value: Optional[pulumi.Input[_builtins.str]]):
295
+ pulumi.set(self, "pattern", value)
296
+
297
+ @_builtins.property
298
+ @pulumi.getter
299
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
300
+ """
301
+ The pattern type to use for match detection. Currently, only regex is supported.
302
+ """
303
+ return pulumi.get(self, "type")
304
+
305
+ @type.setter
306
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
307
+ pulumi.set(self, "type", value)
308
+
309
+
310
+ @pulumi.type_token("vault:transform/template:Template")
311
+ class Template(pulumi.CustomResource):
312
+ @overload
313
+ def __init__(__self__,
314
+ resource_name: str,
315
+ opts: Optional[pulumi.ResourceOptions] = None,
316
+ alphabet: Optional[pulumi.Input[_builtins.str]] = None,
317
+ decode_formats: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
318
+ encode_format: Optional[pulumi.Input[_builtins.str]] = None,
319
+ name: Optional[pulumi.Input[_builtins.str]] = None,
320
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
321
+ path: Optional[pulumi.Input[_builtins.str]] = None,
322
+ pattern: Optional[pulumi.Input[_builtins.str]] = None,
323
+ type: Optional[pulumi.Input[_builtins.str]] = None,
324
+ __props__=None):
325
+ """
326
+ This resource supports the `/transform/template/{name}` Vault endpoint.
327
+
328
+ It creates or updates a template with the given name. If a template with the name does not exist,
329
+ it will be created. If the template exists, it will be updated with the new attributes.
330
+
331
+ > Requires _Vault Enterprise with the Advanced Data Protection Transform Module_.
332
+ See [Transform Secrets Engine](https://www.vaultproject.io/docs/secrets/transform)
333
+ for more information.
334
+
335
+ ## Example Usage
336
+
337
+ Please note that the `pattern` below holds a regex. The regex shown
338
+ is identical to the one in our [Setup](https://www.vaultproject.io/docs/secrets/transform#setup)
339
+ docs, `(\\d{4})-(\\d{4})-(\\d{4})-(\\d{4})`. However, due to HCL, the
340
+ backslashes must be escaped to appear correctly in Vault. For further
341
+ assistance escaping your own custom regex, see String Literals.
342
+
343
+ ```python
344
+ import pulumi
345
+ import pulumi_vault as vault
346
+
347
+ transform = vault.Mount("transform",
348
+ path="transform",
349
+ type="transform")
350
+ numerics = vault.transform.Alphabet("numerics",
351
+ path=transform.path,
352
+ name="numerics",
353
+ alphabet="0123456789")
354
+ test = vault.transform.Template("test",
355
+ path=numerics.path,
356
+ name="ccn",
357
+ type="regex",
358
+ pattern="(\\\\d{4})[- ](\\\\d{4})[- ](\\\\d{4})[- ](\\\\d{4})",
359
+ alphabet="numerics",
360
+ encode_format="$1-$2-$3-$4",
361
+ decode_formats={
362
+ "last-four-digits": "$4",
363
+ })
364
+ ```
365
+
366
+ :param str resource_name: The name of the resource.
367
+ :param pulumi.ResourceOptions opts: Options for the resource.
368
+ :param pulumi.Input[_builtins.str] alphabet: The alphabet to use for this template. This is only used during FPE transformations.
369
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] decode_formats: Optional mapping of name to regular expression template, used to customize
370
+ the decoded output. (requires Vault Enterprise 1.9+)
371
+ :param pulumi.Input[_builtins.str] encode_format: The regular expression template used to format encoded values.
372
+ (requires Vault Enterprise 1.9+)
373
+ :param pulumi.Input[_builtins.str] name: The name of the template.
374
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
375
+ The value should not contain leading or trailing forward slashes.
376
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
377
+ *Available only for Vault Enterprise*.
378
+ :param pulumi.Input[_builtins.str] path: Path to where the back-end is mounted within Vault.
379
+ :param pulumi.Input[_builtins.str] pattern: The pattern used for matching. Currently, only regular expression pattern is supported.
380
+ :param pulumi.Input[_builtins.str] type: The pattern type to use for match detection. Currently, only regex is supported.
381
+ """
382
+ ...
383
+ @overload
384
+ def __init__(__self__,
385
+ resource_name: str,
386
+ args: TemplateArgs,
387
+ opts: Optional[pulumi.ResourceOptions] = None):
388
+ """
389
+ This resource supports the `/transform/template/{name}` Vault endpoint.
390
+
391
+ It creates or updates a template with the given name. If a template with the name does not exist,
392
+ it will be created. If the template exists, it will be updated with the new attributes.
393
+
394
+ > Requires _Vault Enterprise with the Advanced Data Protection Transform Module_.
395
+ See [Transform Secrets Engine](https://www.vaultproject.io/docs/secrets/transform)
396
+ for more information.
397
+
398
+ ## Example Usage
399
+
400
+ Please note that the `pattern` below holds a regex. The regex shown
401
+ is identical to the one in our [Setup](https://www.vaultproject.io/docs/secrets/transform#setup)
402
+ docs, `(\\d{4})-(\\d{4})-(\\d{4})-(\\d{4})`. However, due to HCL, the
403
+ backslashes must be escaped to appear correctly in Vault. For further
404
+ assistance escaping your own custom regex, see String Literals.
405
+
406
+ ```python
407
+ import pulumi
408
+ import pulumi_vault as vault
409
+
410
+ transform = vault.Mount("transform",
411
+ path="transform",
412
+ type="transform")
413
+ numerics = vault.transform.Alphabet("numerics",
414
+ path=transform.path,
415
+ name="numerics",
416
+ alphabet="0123456789")
417
+ test = vault.transform.Template("test",
418
+ path=numerics.path,
419
+ name="ccn",
420
+ type="regex",
421
+ pattern="(\\\\d{4})[- ](\\\\d{4})[- ](\\\\d{4})[- ](\\\\d{4})",
422
+ alphabet="numerics",
423
+ encode_format="$1-$2-$3-$4",
424
+ decode_formats={
425
+ "last-four-digits": "$4",
426
+ })
427
+ ```
428
+
429
+ :param str resource_name: The name of the resource.
430
+ :param TemplateArgs args: The arguments to use to populate this resource's properties.
431
+ :param pulumi.ResourceOptions opts: Options for the resource.
432
+ """
433
+ ...
434
+ def __init__(__self__, resource_name: str, *args, **kwargs):
435
+ resource_args, opts = _utilities.get_resource_args_opts(TemplateArgs, pulumi.ResourceOptions, *args, **kwargs)
436
+ if resource_args is not None:
437
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
438
+ else:
439
+ __self__._internal_init(resource_name, *args, **kwargs)
440
+
441
+ def _internal_init(__self__,
442
+ resource_name: str,
443
+ opts: Optional[pulumi.ResourceOptions] = None,
444
+ alphabet: Optional[pulumi.Input[_builtins.str]] = None,
445
+ decode_formats: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
446
+ encode_format: Optional[pulumi.Input[_builtins.str]] = None,
447
+ name: Optional[pulumi.Input[_builtins.str]] = None,
448
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
449
+ path: Optional[pulumi.Input[_builtins.str]] = None,
450
+ pattern: Optional[pulumi.Input[_builtins.str]] = None,
451
+ type: Optional[pulumi.Input[_builtins.str]] = None,
452
+ __props__=None):
453
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
454
+ if not isinstance(opts, pulumi.ResourceOptions):
455
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
456
+ if opts.id is None:
457
+ if __props__ is not None:
458
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
459
+ __props__ = TemplateArgs.__new__(TemplateArgs)
460
+
461
+ __props__.__dict__["alphabet"] = alphabet
462
+ __props__.__dict__["decode_formats"] = decode_formats
463
+ __props__.__dict__["encode_format"] = encode_format
464
+ __props__.__dict__["name"] = name
465
+ __props__.__dict__["namespace"] = namespace
466
+ if path is None and not opts.urn:
467
+ raise TypeError("Missing required property 'path'")
468
+ __props__.__dict__["path"] = path
469
+ __props__.__dict__["pattern"] = pattern
470
+ __props__.__dict__["type"] = type
471
+ super(Template, __self__).__init__(
472
+ 'vault:transform/template:Template',
473
+ resource_name,
474
+ __props__,
475
+ opts)
476
+
477
+ @staticmethod
478
+ def get(resource_name: str,
479
+ id: pulumi.Input[str],
480
+ opts: Optional[pulumi.ResourceOptions] = None,
481
+ alphabet: Optional[pulumi.Input[_builtins.str]] = None,
482
+ decode_formats: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
483
+ encode_format: Optional[pulumi.Input[_builtins.str]] = None,
484
+ name: Optional[pulumi.Input[_builtins.str]] = None,
485
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
486
+ path: Optional[pulumi.Input[_builtins.str]] = None,
487
+ pattern: Optional[pulumi.Input[_builtins.str]] = None,
488
+ type: Optional[pulumi.Input[_builtins.str]] = None) -> 'Template':
489
+ """
490
+ Get an existing Template resource's state with the given name, id, and optional extra
491
+ properties used to qualify the lookup.
492
+
493
+ :param str resource_name: The unique name of the resulting resource.
494
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
495
+ :param pulumi.ResourceOptions opts: Options for the resource.
496
+ :param pulumi.Input[_builtins.str] alphabet: The alphabet to use for this template. This is only used during FPE transformations.
497
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] decode_formats: Optional mapping of name to regular expression template, used to customize
498
+ the decoded output. (requires Vault Enterprise 1.9+)
499
+ :param pulumi.Input[_builtins.str] encode_format: The regular expression template used to format encoded values.
500
+ (requires Vault Enterprise 1.9+)
501
+ :param pulumi.Input[_builtins.str] name: The name of the template.
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
+ *Available only for Vault Enterprise*.
506
+ :param pulumi.Input[_builtins.str] path: Path to where the back-end is mounted within Vault.
507
+ :param pulumi.Input[_builtins.str] pattern: The pattern used for matching. Currently, only regular expression pattern is supported.
508
+ :param pulumi.Input[_builtins.str] type: The pattern type to use for match detection. Currently, only regex is supported.
509
+ """
510
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
511
+
512
+ __props__ = _TemplateState.__new__(_TemplateState)
513
+
514
+ __props__.__dict__["alphabet"] = alphabet
515
+ __props__.__dict__["decode_formats"] = decode_formats
516
+ __props__.__dict__["encode_format"] = encode_format
517
+ __props__.__dict__["name"] = name
518
+ __props__.__dict__["namespace"] = namespace
519
+ __props__.__dict__["path"] = path
520
+ __props__.__dict__["pattern"] = pattern
521
+ __props__.__dict__["type"] = type
522
+ return Template(resource_name, opts=opts, __props__=__props__)
523
+
524
+ @_builtins.property
525
+ @pulumi.getter
526
+ def alphabet(self) -> pulumi.Output[Optional[_builtins.str]]:
527
+ """
528
+ The alphabet to use for this template. This is only used during FPE transformations.
529
+ """
530
+ return pulumi.get(self, "alphabet")
531
+
532
+ @_builtins.property
533
+ @pulumi.getter(name="decodeFormats")
534
+ def decode_formats(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
535
+ """
536
+ Optional mapping of name to regular expression template, used to customize
537
+ the decoded output. (requires Vault Enterprise 1.9+)
538
+ """
539
+ return pulumi.get(self, "decode_formats")
540
+
541
+ @_builtins.property
542
+ @pulumi.getter(name="encodeFormat")
543
+ def encode_format(self) -> pulumi.Output[Optional[_builtins.str]]:
544
+ """
545
+ The regular expression template used to format encoded values.
546
+ (requires Vault Enterprise 1.9+)
547
+ """
548
+ return pulumi.get(self, "encode_format")
549
+
550
+ @_builtins.property
551
+ @pulumi.getter
552
+ def name(self) -> pulumi.Output[_builtins.str]:
553
+ """
554
+ The name of the template.
555
+ """
556
+ return pulumi.get(self, "name")
557
+
558
+ @_builtins.property
559
+ @pulumi.getter
560
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
561
+ """
562
+ The namespace to provision the resource in.
563
+ The value should not contain leading or trailing forward slashes.
564
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
565
+ *Available only for Vault Enterprise*.
566
+ """
567
+ return pulumi.get(self, "namespace")
568
+
569
+ @_builtins.property
570
+ @pulumi.getter
571
+ def path(self) -> pulumi.Output[_builtins.str]:
572
+ """
573
+ Path to where the back-end is mounted within Vault.
574
+ """
575
+ return pulumi.get(self, "path")
576
+
577
+ @_builtins.property
578
+ @pulumi.getter
579
+ def pattern(self) -> pulumi.Output[Optional[_builtins.str]]:
580
+ """
581
+ The pattern used for matching. Currently, only regular expression pattern is supported.
582
+ """
583
+ return pulumi.get(self, "pattern")
584
+
585
+ @_builtins.property
586
+ @pulumi.getter
587
+ def type(self) -> pulumi.Output[Optional[_builtins.str]]:
588
+ """
589
+ The pattern type to use for match detection. Currently, only regex is supported.
590
+ """
591
+ return pulumi.get(self, "type")
592
+