pulumi-vault 6.7.0a1743576047__py3-none-any.whl → 6.7.0a1744267302__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 (264) hide show
  1. pulumi_vault/__init__.py +1 -0
  2. pulumi_vault/_inputs.py +554 -553
  3. pulumi_vault/ad/__init__.py +1 -0
  4. pulumi_vault/ad/get_access_credentials.py +20 -19
  5. pulumi_vault/ad/secret_backend.py +477 -476
  6. pulumi_vault/ad/secret_library.py +99 -98
  7. pulumi_vault/ad/secret_role.py +85 -84
  8. pulumi_vault/alicloud/__init__.py +1 -0
  9. pulumi_vault/alicloud/auth_backend_role.py +183 -182
  10. pulumi_vault/approle/__init__.py +1 -0
  11. pulumi_vault/approle/auth_backend_login.py +106 -105
  12. pulumi_vault/approle/auth_backend_role.py +239 -238
  13. pulumi_vault/approle/auth_backend_role_secret_id.py +162 -161
  14. pulumi_vault/approle/get_auth_backend_role_id.py +18 -17
  15. pulumi_vault/audit.py +85 -84
  16. pulumi_vault/audit_request_header.py +43 -42
  17. pulumi_vault/auth_backend.py +106 -105
  18. pulumi_vault/aws/__init__.py +1 -0
  19. pulumi_vault/aws/auth_backend_cert.py +71 -70
  20. pulumi_vault/aws/auth_backend_client.py +253 -252
  21. pulumi_vault/aws/auth_backend_config_identity.py +85 -84
  22. pulumi_vault/aws/auth_backend_identity_whitelist.py +57 -56
  23. pulumi_vault/aws/auth_backend_login.py +209 -208
  24. pulumi_vault/aws/auth_backend_role.py +400 -399
  25. pulumi_vault/aws/auth_backend_role_tag.py +127 -126
  26. pulumi_vault/aws/auth_backend_roletag_blacklist.py +57 -56
  27. pulumi_vault/aws/auth_backend_sts_role.py +71 -70
  28. pulumi_vault/aws/get_access_credentials.py +44 -43
  29. pulumi_vault/aws/get_static_access_credentials.py +13 -12
  30. pulumi_vault/aws/secret_backend.py +337 -336
  31. pulumi_vault/aws/secret_backend_role.py +211 -210
  32. pulumi_vault/aws/secret_backend_static_role.py +113 -112
  33. pulumi_vault/azure/__init__.py +1 -0
  34. pulumi_vault/azure/_inputs.py +21 -20
  35. pulumi_vault/azure/auth_backend_config.py +183 -182
  36. pulumi_vault/azure/auth_backend_role.py +253 -252
  37. pulumi_vault/azure/backend.py +239 -238
  38. pulumi_vault/azure/backend_role.py +141 -140
  39. pulumi_vault/azure/get_access_credentials.py +58 -57
  40. pulumi_vault/azure/outputs.py +11 -10
  41. pulumi_vault/cert_auth_backend_role.py +365 -364
  42. pulumi_vault/config/__init__.py +1 -0
  43. pulumi_vault/config/__init__.pyi +1 -0
  44. pulumi_vault/config/_inputs.py +11 -10
  45. pulumi_vault/config/outputs.py +287 -286
  46. pulumi_vault/config/ui_custom_message.py +113 -112
  47. pulumi_vault/config/vars.py +1 -0
  48. pulumi_vault/consul/__init__.py +1 -0
  49. pulumi_vault/consul/secret_backend.py +197 -196
  50. pulumi_vault/consul/secret_backend_role.py +183 -182
  51. pulumi_vault/database/__init__.py +1 -0
  52. pulumi_vault/database/_inputs.py +2525 -2524
  53. pulumi_vault/database/outputs.py +1529 -1528
  54. pulumi_vault/database/secret_backend_connection.py +169 -168
  55. pulumi_vault/database/secret_backend_role.py +169 -168
  56. pulumi_vault/database/secret_backend_static_role.py +179 -178
  57. pulumi_vault/database/secrets_mount.py +267 -266
  58. pulumi_vault/egp_policy.py +71 -70
  59. pulumi_vault/gcp/__init__.py +1 -0
  60. pulumi_vault/gcp/_inputs.py +82 -81
  61. pulumi_vault/gcp/auth_backend.py +260 -259
  62. pulumi_vault/gcp/auth_backend_role.py +281 -280
  63. pulumi_vault/gcp/get_auth_backend_role.py +70 -69
  64. pulumi_vault/gcp/outputs.py +50 -49
  65. pulumi_vault/gcp/secret_backend.py +232 -231
  66. pulumi_vault/gcp/secret_impersonated_account.py +92 -91
  67. pulumi_vault/gcp/secret_roleset.py +92 -91
  68. pulumi_vault/gcp/secret_static_account.py +92 -91
  69. pulumi_vault/generic/__init__.py +1 -0
  70. pulumi_vault/generic/endpoint.py +113 -112
  71. pulumi_vault/generic/get_secret.py +28 -27
  72. pulumi_vault/generic/secret.py +78 -77
  73. pulumi_vault/get_auth_backend.py +19 -18
  74. pulumi_vault/get_auth_backends.py +14 -13
  75. pulumi_vault/get_namespace.py +15 -14
  76. pulumi_vault/get_namespaces.py +8 -7
  77. pulumi_vault/get_nomad_access_token.py +19 -18
  78. pulumi_vault/get_policy_document.py +6 -5
  79. pulumi_vault/get_raft_autopilot_state.py +18 -17
  80. pulumi_vault/github/__init__.py +1 -0
  81. pulumi_vault/github/_inputs.py +42 -41
  82. pulumi_vault/github/auth_backend.py +232 -231
  83. pulumi_vault/github/outputs.py +26 -25
  84. pulumi_vault/github/team.py +57 -56
  85. pulumi_vault/github/user.py +57 -56
  86. pulumi_vault/identity/__init__.py +1 -0
  87. pulumi_vault/identity/entity.py +85 -84
  88. pulumi_vault/identity/entity_alias.py +71 -70
  89. pulumi_vault/identity/entity_policies.py +64 -63
  90. pulumi_vault/identity/get_entity.py +43 -42
  91. pulumi_vault/identity/get_group.py +50 -49
  92. pulumi_vault/identity/get_oidc_client_creds.py +14 -13
  93. pulumi_vault/identity/get_oidc_openid_config.py +24 -23
  94. pulumi_vault/identity/get_oidc_public_keys.py +13 -12
  95. pulumi_vault/identity/group.py +141 -140
  96. pulumi_vault/identity/group_alias.py +57 -56
  97. pulumi_vault/identity/group_member_entity_ids.py +57 -56
  98. pulumi_vault/identity/group_member_group_ids.py +57 -56
  99. pulumi_vault/identity/group_policies.py +64 -63
  100. pulumi_vault/identity/mfa_duo.py +148 -147
  101. pulumi_vault/identity/mfa_login_enforcement.py +120 -119
  102. pulumi_vault/identity/mfa_okta.py +134 -133
  103. pulumi_vault/identity/mfa_pingid.py +127 -126
  104. pulumi_vault/identity/mfa_totp.py +176 -175
  105. pulumi_vault/identity/oidc.py +29 -28
  106. pulumi_vault/identity/oidc_assignment.py +57 -56
  107. pulumi_vault/identity/oidc_client.py +127 -126
  108. pulumi_vault/identity/oidc_key.py +85 -84
  109. pulumi_vault/identity/oidc_key_allowed_client_id.py +43 -42
  110. pulumi_vault/identity/oidc_provider.py +92 -91
  111. pulumi_vault/identity/oidc_role.py +85 -84
  112. pulumi_vault/identity/oidc_scope.py +57 -56
  113. pulumi_vault/identity/outputs.py +32 -31
  114. pulumi_vault/jwt/__init__.py +1 -0
  115. pulumi_vault/jwt/_inputs.py +42 -41
  116. pulumi_vault/jwt/auth_backend.py +288 -287
  117. pulumi_vault/jwt/auth_backend_role.py +407 -406
  118. pulumi_vault/jwt/outputs.py +26 -25
  119. pulumi_vault/kmip/__init__.py +1 -0
  120. pulumi_vault/kmip/secret_backend.py +183 -182
  121. pulumi_vault/kmip/secret_role.py +295 -294
  122. pulumi_vault/kmip/secret_scope.py +57 -56
  123. pulumi_vault/kubernetes/__init__.py +1 -0
  124. pulumi_vault/kubernetes/auth_backend_config.py +141 -140
  125. pulumi_vault/kubernetes/auth_backend_role.py +225 -224
  126. pulumi_vault/kubernetes/get_auth_backend_config.py +47 -46
  127. pulumi_vault/kubernetes/get_auth_backend_role.py +70 -69
  128. pulumi_vault/kubernetes/get_service_account_token.py +38 -37
  129. pulumi_vault/kubernetes/secret_backend.py +316 -315
  130. pulumi_vault/kubernetes/secret_backend_role.py +197 -196
  131. pulumi_vault/kv/__init__.py +1 -0
  132. pulumi_vault/kv/_inputs.py +21 -20
  133. pulumi_vault/kv/get_secret.py +17 -16
  134. pulumi_vault/kv/get_secret_subkeys_v2.py +30 -29
  135. pulumi_vault/kv/get_secret_v2.py +29 -28
  136. pulumi_vault/kv/get_secrets_list.py +13 -12
  137. pulumi_vault/kv/get_secrets_list_v2.py +19 -18
  138. pulumi_vault/kv/outputs.py +13 -12
  139. pulumi_vault/kv/secret.py +50 -49
  140. pulumi_vault/kv/secret_backend_v2.py +71 -70
  141. pulumi_vault/kv/secret_v2.py +134 -133
  142. pulumi_vault/ldap/__init__.py +1 -0
  143. pulumi_vault/ldap/auth_backend.py +588 -587
  144. pulumi_vault/ldap/auth_backend_group.py +57 -56
  145. pulumi_vault/ldap/auth_backend_user.py +71 -70
  146. pulumi_vault/ldap/get_dynamic_credentials.py +17 -16
  147. pulumi_vault/ldap/get_static_credentials.py +18 -17
  148. pulumi_vault/ldap/secret_backend.py +554 -553
  149. pulumi_vault/ldap/secret_backend_dynamic_role.py +127 -126
  150. pulumi_vault/ldap/secret_backend_library_set.py +99 -98
  151. pulumi_vault/ldap/secret_backend_static_role.py +99 -98
  152. pulumi_vault/managed/__init__.py +1 -0
  153. pulumi_vault/managed/_inputs.py +229 -228
  154. pulumi_vault/managed/keys.py +15 -14
  155. pulumi_vault/managed/outputs.py +139 -138
  156. pulumi_vault/mfa_duo.py +113 -112
  157. pulumi_vault/mfa_okta.py +113 -112
  158. pulumi_vault/mfa_pingid.py +120 -119
  159. pulumi_vault/mfa_totp.py +127 -126
  160. pulumi_vault/mongodbatlas/__init__.py +1 -0
  161. pulumi_vault/mongodbatlas/secret_backend.py +64 -63
  162. pulumi_vault/mongodbatlas/secret_role.py +155 -154
  163. pulumi_vault/mount.py +274 -273
  164. pulumi_vault/namespace.py +64 -63
  165. pulumi_vault/nomad_secret_backend.py +211 -210
  166. pulumi_vault/nomad_secret_role.py +85 -84
  167. pulumi_vault/okta/__init__.py +1 -0
  168. pulumi_vault/okta/_inputs.py +26 -25
  169. pulumi_vault/okta/auth_backend.py +274 -273
  170. pulumi_vault/okta/auth_backend_group.py +57 -56
  171. pulumi_vault/okta/auth_backend_user.py +71 -70
  172. pulumi_vault/okta/outputs.py +16 -15
  173. pulumi_vault/outputs.py +56 -55
  174. pulumi_vault/password_policy.py +43 -42
  175. pulumi_vault/pkisecret/__init__.py +1 -0
  176. pulumi_vault/pkisecret/_inputs.py +31 -30
  177. pulumi_vault/pkisecret/backend_acme_eab.py +92 -91
  178. pulumi_vault/pkisecret/backend_config_acme.py +141 -140
  179. pulumi_vault/pkisecret/backend_config_auto_tidy.py +323 -322
  180. pulumi_vault/pkisecret/backend_config_cluster.py +57 -56
  181. pulumi_vault/pkisecret/backend_config_cmpv2.py +106 -105
  182. pulumi_vault/pkisecret/backend_config_est.py +120 -119
  183. pulumi_vault/pkisecret/get_backend_cert_metadata.py +22 -21
  184. pulumi_vault/pkisecret/get_backend_config_cmpv2.py +22 -21
  185. pulumi_vault/pkisecret/get_backend_config_est.py +19 -18
  186. pulumi_vault/pkisecret/get_backend_issuer.py +45 -44
  187. pulumi_vault/pkisecret/get_backend_issuers.py +15 -14
  188. pulumi_vault/pkisecret/get_backend_key.py +20 -19
  189. pulumi_vault/pkisecret/get_backend_keys.py +15 -14
  190. pulumi_vault/pkisecret/outputs.py +28 -27
  191. pulumi_vault/pkisecret/secret_backend_cert.py +337 -336
  192. pulumi_vault/pkisecret/secret_backend_config_ca.py +43 -42
  193. pulumi_vault/pkisecret/secret_backend_config_issuers.py +57 -56
  194. pulumi_vault/pkisecret/secret_backend_config_urls.py +85 -84
  195. pulumi_vault/pkisecret/secret_backend_crl_config.py +197 -196
  196. pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +421 -420
  197. pulumi_vault/pkisecret/secret_backend_intermediate_set_signed.py +57 -56
  198. pulumi_vault/pkisecret/secret_backend_issuer.py +232 -231
  199. pulumi_vault/pkisecret/secret_backend_key.py +120 -119
  200. pulumi_vault/pkisecret/secret_backend_role.py +715 -714
  201. pulumi_vault/pkisecret/secret_backend_root_cert.py +554 -553
  202. pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +526 -525
  203. pulumi_vault/pkisecret/secret_backend_sign.py +281 -280
  204. pulumi_vault/plugin.py +127 -126
  205. pulumi_vault/plugin_pinned_version.py +43 -42
  206. pulumi_vault/policy.py +43 -42
  207. pulumi_vault/provider.py +120 -119
  208. pulumi_vault/pulumi-plugin.json +1 -1
  209. pulumi_vault/quota_lease_count.py +85 -84
  210. pulumi_vault/quota_rate_limit.py +113 -112
  211. pulumi_vault/rabbitmq/__init__.py +1 -0
  212. pulumi_vault/rabbitmq/_inputs.py +41 -40
  213. pulumi_vault/rabbitmq/outputs.py +25 -24
  214. pulumi_vault/rabbitmq/secret_backend.py +169 -168
  215. pulumi_vault/rabbitmq/secret_backend_role.py +57 -56
  216. pulumi_vault/raft_autopilot.py +113 -112
  217. pulumi_vault/raft_snapshot_agent_config.py +393 -392
  218. pulumi_vault/rgp_policy.py +57 -56
  219. pulumi_vault/saml/__init__.py +1 -0
  220. pulumi_vault/saml/auth_backend.py +155 -154
  221. pulumi_vault/saml/auth_backend_role.py +239 -238
  222. pulumi_vault/secrets/__init__.py +1 -0
  223. pulumi_vault/secrets/_inputs.py +16 -15
  224. pulumi_vault/secrets/outputs.py +10 -9
  225. pulumi_vault/secrets/sync_association.py +71 -70
  226. pulumi_vault/secrets/sync_aws_destination.py +148 -147
  227. pulumi_vault/secrets/sync_azure_destination.py +148 -147
  228. pulumi_vault/secrets/sync_config.py +43 -42
  229. pulumi_vault/secrets/sync_gcp_destination.py +106 -105
  230. pulumi_vault/secrets/sync_gh_destination.py +134 -133
  231. pulumi_vault/secrets/sync_github_apps.py +64 -63
  232. pulumi_vault/secrets/sync_vercel_destination.py +120 -119
  233. pulumi_vault/ssh/__init__.py +1 -0
  234. pulumi_vault/ssh/_inputs.py +11 -10
  235. pulumi_vault/ssh/get_secret_backend_sign.py +52 -51
  236. pulumi_vault/ssh/outputs.py +7 -6
  237. pulumi_vault/ssh/secret_backend_ca.py +99 -98
  238. pulumi_vault/ssh/secret_backend_role.py +365 -364
  239. pulumi_vault/terraformcloud/__init__.py +1 -0
  240. pulumi_vault/terraformcloud/secret_backend.py +111 -110
  241. pulumi_vault/terraformcloud/secret_creds.py +74 -73
  242. pulumi_vault/terraformcloud/secret_role.py +93 -92
  243. pulumi_vault/token.py +246 -245
  244. pulumi_vault/tokenauth/__init__.py +1 -0
  245. pulumi_vault/tokenauth/auth_backend_role.py +267 -266
  246. pulumi_vault/transform/__init__.py +1 -0
  247. pulumi_vault/transform/alphabet.py +57 -56
  248. pulumi_vault/transform/get_decode.py +47 -46
  249. pulumi_vault/transform/get_encode.py +47 -46
  250. pulumi_vault/transform/role.py +57 -56
  251. pulumi_vault/transform/template.py +113 -112
  252. pulumi_vault/transform/transformation.py +141 -140
  253. pulumi_vault/transit/__init__.py +1 -0
  254. pulumi_vault/transit/get_decrypt.py +18 -17
  255. pulumi_vault/transit/get_encrypt.py +21 -20
  256. pulumi_vault/transit/get_sign.py +54 -53
  257. pulumi_vault/transit/get_verify.py +60 -59
  258. pulumi_vault/transit/secret_backend_key.py +274 -273
  259. pulumi_vault/transit/secret_cache_config.py +43 -42
  260. {pulumi_vault-6.7.0a1743576047.dist-info → pulumi_vault-6.7.0a1744267302.dist-info}/METADATA +1 -1
  261. pulumi_vault-6.7.0a1744267302.dist-info/RECORD +265 -0
  262. pulumi_vault-6.7.0a1743576047.dist-info/RECORD +0 -265
  263. {pulumi_vault-6.7.0a1743576047.dist-info → pulumi_vault-6.7.0a1744267302.dist-info}/WHEEL +0 -0
  264. {pulumi_vault-6.7.0a1743576047.dist-info → pulumi_vault-6.7.0a1744267302.dist-info}/top_level.txt +0 -0
@@ -2,6 +2,7 @@
2
2
  # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
+ import builtins
5
6
  import copy
6
7
  import warnings
7
8
  import sys
@@ -19,29 +20,29 @@ __all__ = ['TemplateArgs', 'Template']
19
20
  @pulumi.input_type
20
21
  class TemplateArgs:
21
22
  def __init__(__self__, *,
22
- path: pulumi.Input[str],
23
- alphabet: Optional[pulumi.Input[str]] = None,
24
- decode_formats: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
25
- encode_format: Optional[pulumi.Input[str]] = None,
26
- name: Optional[pulumi.Input[str]] = None,
27
- namespace: Optional[pulumi.Input[str]] = None,
28
- pattern: Optional[pulumi.Input[str]] = None,
29
- type: Optional[pulumi.Input[str]] = None):
23
+ path: pulumi.Input[builtins.str],
24
+ alphabet: Optional[pulumi.Input[builtins.str]] = None,
25
+ decode_formats: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
26
+ encode_format: Optional[pulumi.Input[builtins.str]] = None,
27
+ name: Optional[pulumi.Input[builtins.str]] = None,
28
+ namespace: Optional[pulumi.Input[builtins.str]] = None,
29
+ pattern: Optional[pulumi.Input[builtins.str]] = None,
30
+ type: Optional[pulumi.Input[builtins.str]] = None):
30
31
  """
31
32
  The set of arguments for constructing a Template resource.
32
- :param pulumi.Input[str] path: Path to where the back-end is mounted within Vault.
33
- :param pulumi.Input[str] alphabet: The alphabet to use for this template. This is only used during FPE transformations.
34
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] decode_formats: Optional mapping of name to regular expression template, used to customize
33
+ :param pulumi.Input[builtins.str] path: Path to where the back-end is mounted within Vault.
34
+ :param pulumi.Input[builtins.str] alphabet: The alphabet to use for this template. This is only used during FPE transformations.
35
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] decode_formats: Optional mapping of name to regular expression template, used to customize
35
36
  the decoded output. (requires Vault Enterprise 1.9+)
36
- :param pulumi.Input[str] encode_format: The regular expression template used to format encoded values.
37
+ :param pulumi.Input[builtins.str] encode_format: The regular expression template used to format encoded values.
37
38
  (requires Vault Enterprise 1.9+)
38
- :param pulumi.Input[str] name: The name of the template.
39
- :param pulumi.Input[str] namespace: The namespace to provision the resource in.
39
+ :param pulumi.Input[builtins.str] name: The name of the template.
40
+ :param pulumi.Input[builtins.str] namespace: The namespace to provision the resource in.
40
41
  The value should not contain leading or trailing forward slashes.
41
42
  The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
42
43
  *Available only for Vault Enterprise*.
43
- :param pulumi.Input[str] pattern: The pattern used for matching. Currently, only regular expression pattern is supported.
44
- :param pulumi.Input[str] type: The pattern type to use for match detection. Currently, only regex is supported.
44
+ :param pulumi.Input[builtins.str] pattern: The pattern used for matching. Currently, only regular expression pattern is supported.
45
+ :param pulumi.Input[builtins.str] type: The pattern type to use for match detection. Currently, only regex is supported.
45
46
  """
46
47
  pulumi.set(__self__, "path", path)
47
48
  if alphabet is not None:
@@ -61,31 +62,31 @@ class TemplateArgs:
61
62
 
62
63
  @property
63
64
  @pulumi.getter
64
- def path(self) -> pulumi.Input[str]:
65
+ def path(self) -> pulumi.Input[builtins.str]:
65
66
  """
66
67
  Path to where the back-end is mounted within Vault.
67
68
  """
68
69
  return pulumi.get(self, "path")
69
70
 
70
71
  @path.setter
71
- def path(self, value: pulumi.Input[str]):
72
+ def path(self, value: pulumi.Input[builtins.str]):
72
73
  pulumi.set(self, "path", value)
73
74
 
74
75
  @property
75
76
  @pulumi.getter
76
- def alphabet(self) -> Optional[pulumi.Input[str]]:
77
+ def alphabet(self) -> Optional[pulumi.Input[builtins.str]]:
77
78
  """
78
79
  The alphabet to use for this template. This is only used during FPE transformations.
79
80
  """
80
81
  return pulumi.get(self, "alphabet")
81
82
 
82
83
  @alphabet.setter
83
- def alphabet(self, value: Optional[pulumi.Input[str]]):
84
+ def alphabet(self, value: Optional[pulumi.Input[builtins.str]]):
84
85
  pulumi.set(self, "alphabet", value)
85
86
 
86
87
  @property
87
88
  @pulumi.getter(name="decodeFormats")
88
- def decode_formats(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
89
+ def decode_formats(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
89
90
  """
90
91
  Optional mapping of name to regular expression template, used to customize
91
92
  the decoded output. (requires Vault Enterprise 1.9+)
@@ -93,12 +94,12 @@ class TemplateArgs:
93
94
  return pulumi.get(self, "decode_formats")
94
95
 
95
96
  @decode_formats.setter
96
- def decode_formats(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
97
+ def decode_formats(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
97
98
  pulumi.set(self, "decode_formats", value)
98
99
 
99
100
  @property
100
101
  @pulumi.getter(name="encodeFormat")
101
- def encode_format(self) -> Optional[pulumi.Input[str]]:
102
+ def encode_format(self) -> Optional[pulumi.Input[builtins.str]]:
102
103
  """
103
104
  The regular expression template used to format encoded values.
104
105
  (requires Vault Enterprise 1.9+)
@@ -106,24 +107,24 @@ class TemplateArgs:
106
107
  return pulumi.get(self, "encode_format")
107
108
 
108
109
  @encode_format.setter
109
- def encode_format(self, value: Optional[pulumi.Input[str]]):
110
+ def encode_format(self, value: Optional[pulumi.Input[builtins.str]]):
110
111
  pulumi.set(self, "encode_format", value)
111
112
 
112
113
  @property
113
114
  @pulumi.getter
114
- def name(self) -> Optional[pulumi.Input[str]]:
115
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
115
116
  """
116
117
  The name of the template.
117
118
  """
118
119
  return pulumi.get(self, "name")
119
120
 
120
121
  @name.setter
121
- def name(self, value: Optional[pulumi.Input[str]]):
122
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
122
123
  pulumi.set(self, "name", value)
123
124
 
124
125
  @property
125
126
  @pulumi.getter
126
- def namespace(self) -> Optional[pulumi.Input[str]]:
127
+ def namespace(self) -> Optional[pulumi.Input[builtins.str]]:
127
128
  """
128
129
  The namespace to provision the resource in.
129
130
  The value should not contain leading or trailing forward slashes.
@@ -133,60 +134,60 @@ class TemplateArgs:
133
134
  return pulumi.get(self, "namespace")
134
135
 
135
136
  @namespace.setter
136
- def namespace(self, value: Optional[pulumi.Input[str]]):
137
+ def namespace(self, value: Optional[pulumi.Input[builtins.str]]):
137
138
  pulumi.set(self, "namespace", value)
138
139
 
139
140
  @property
140
141
  @pulumi.getter
141
- def pattern(self) -> Optional[pulumi.Input[str]]:
142
+ def pattern(self) -> Optional[pulumi.Input[builtins.str]]:
142
143
  """
143
144
  The pattern used for matching. Currently, only regular expression pattern is supported.
144
145
  """
145
146
  return pulumi.get(self, "pattern")
146
147
 
147
148
  @pattern.setter
148
- def pattern(self, value: Optional[pulumi.Input[str]]):
149
+ def pattern(self, value: Optional[pulumi.Input[builtins.str]]):
149
150
  pulumi.set(self, "pattern", value)
150
151
 
151
152
  @property
152
153
  @pulumi.getter
153
- def type(self) -> Optional[pulumi.Input[str]]:
154
+ def type(self) -> Optional[pulumi.Input[builtins.str]]:
154
155
  """
155
156
  The pattern type to use for match detection. Currently, only regex is supported.
156
157
  """
157
158
  return pulumi.get(self, "type")
158
159
 
159
160
  @type.setter
160
- def type(self, value: Optional[pulumi.Input[str]]):
161
+ def type(self, value: Optional[pulumi.Input[builtins.str]]):
161
162
  pulumi.set(self, "type", value)
162
163
 
163
164
 
164
165
  @pulumi.input_type
165
166
  class _TemplateState:
166
167
  def __init__(__self__, *,
167
- alphabet: Optional[pulumi.Input[str]] = None,
168
- decode_formats: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
169
- encode_format: Optional[pulumi.Input[str]] = None,
170
- name: Optional[pulumi.Input[str]] = None,
171
- namespace: Optional[pulumi.Input[str]] = None,
172
- path: Optional[pulumi.Input[str]] = None,
173
- pattern: Optional[pulumi.Input[str]] = None,
174
- type: Optional[pulumi.Input[str]] = None):
168
+ alphabet: Optional[pulumi.Input[builtins.str]] = None,
169
+ decode_formats: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
170
+ encode_format: Optional[pulumi.Input[builtins.str]] = None,
171
+ name: Optional[pulumi.Input[builtins.str]] = None,
172
+ namespace: Optional[pulumi.Input[builtins.str]] = None,
173
+ path: Optional[pulumi.Input[builtins.str]] = None,
174
+ pattern: Optional[pulumi.Input[builtins.str]] = None,
175
+ type: Optional[pulumi.Input[builtins.str]] = None):
175
176
  """
176
177
  Input properties used for looking up and filtering Template resources.
177
- :param pulumi.Input[str] alphabet: The alphabet to use for this template. This is only used during FPE transformations.
178
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] decode_formats: Optional mapping of name to regular expression template, used to customize
178
+ :param pulumi.Input[builtins.str] alphabet: The alphabet to use for this template. This is only used during FPE transformations.
179
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] decode_formats: Optional mapping of name to regular expression template, used to customize
179
180
  the decoded output. (requires Vault Enterprise 1.9+)
180
- :param pulumi.Input[str] encode_format: The regular expression template used to format encoded values.
181
+ :param pulumi.Input[builtins.str] encode_format: The regular expression template used to format encoded values.
181
182
  (requires Vault Enterprise 1.9+)
182
- :param pulumi.Input[str] name: The name of the template.
183
- :param pulumi.Input[str] namespace: The namespace to provision the resource in.
183
+ :param pulumi.Input[builtins.str] name: The name of the template.
184
+ :param pulumi.Input[builtins.str] namespace: The namespace to provision the resource in.
184
185
  The value should not contain leading or trailing forward slashes.
185
186
  The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
186
187
  *Available only for Vault Enterprise*.
187
- :param pulumi.Input[str] path: Path to where the back-end is mounted within Vault.
188
- :param pulumi.Input[str] pattern: The pattern used for matching. Currently, only regular expression pattern is supported.
189
- :param pulumi.Input[str] type: The pattern type to use for match detection. Currently, only regex is supported.
188
+ :param pulumi.Input[builtins.str] path: Path to where the back-end is mounted within Vault.
189
+ :param pulumi.Input[builtins.str] pattern: The pattern used for matching. Currently, only regular expression pattern is supported.
190
+ :param pulumi.Input[builtins.str] type: The pattern type to use for match detection. Currently, only regex is supported.
190
191
  """
191
192
  if alphabet is not None:
192
193
  pulumi.set(__self__, "alphabet", alphabet)
@@ -207,19 +208,19 @@ class _TemplateState:
207
208
 
208
209
  @property
209
210
  @pulumi.getter
210
- def alphabet(self) -> Optional[pulumi.Input[str]]:
211
+ def alphabet(self) -> Optional[pulumi.Input[builtins.str]]:
211
212
  """
212
213
  The alphabet to use for this template. This is only used during FPE transformations.
213
214
  """
214
215
  return pulumi.get(self, "alphabet")
215
216
 
216
217
  @alphabet.setter
217
- def alphabet(self, value: Optional[pulumi.Input[str]]):
218
+ def alphabet(self, value: Optional[pulumi.Input[builtins.str]]):
218
219
  pulumi.set(self, "alphabet", value)
219
220
 
220
221
  @property
221
222
  @pulumi.getter(name="decodeFormats")
222
- def decode_formats(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
223
+ def decode_formats(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
223
224
  """
224
225
  Optional mapping of name to regular expression template, used to customize
225
226
  the decoded output. (requires Vault Enterprise 1.9+)
@@ -227,12 +228,12 @@ class _TemplateState:
227
228
  return pulumi.get(self, "decode_formats")
228
229
 
229
230
  @decode_formats.setter
230
- def decode_formats(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
231
+ def decode_formats(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
231
232
  pulumi.set(self, "decode_formats", value)
232
233
 
233
234
  @property
234
235
  @pulumi.getter(name="encodeFormat")
235
- def encode_format(self) -> Optional[pulumi.Input[str]]:
236
+ def encode_format(self) -> Optional[pulumi.Input[builtins.str]]:
236
237
  """
237
238
  The regular expression template used to format encoded values.
238
239
  (requires Vault Enterprise 1.9+)
@@ -240,24 +241,24 @@ class _TemplateState:
240
241
  return pulumi.get(self, "encode_format")
241
242
 
242
243
  @encode_format.setter
243
- def encode_format(self, value: Optional[pulumi.Input[str]]):
244
+ def encode_format(self, value: Optional[pulumi.Input[builtins.str]]):
244
245
  pulumi.set(self, "encode_format", value)
245
246
 
246
247
  @property
247
248
  @pulumi.getter
248
- def name(self) -> Optional[pulumi.Input[str]]:
249
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
249
250
  """
250
251
  The name of the template.
251
252
  """
252
253
  return pulumi.get(self, "name")
253
254
 
254
255
  @name.setter
255
- def name(self, value: Optional[pulumi.Input[str]]):
256
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
256
257
  pulumi.set(self, "name", value)
257
258
 
258
259
  @property
259
260
  @pulumi.getter
260
- def namespace(self) -> Optional[pulumi.Input[str]]:
261
+ def namespace(self) -> Optional[pulumi.Input[builtins.str]]:
261
262
  """
262
263
  The namespace to provision the resource in.
263
264
  The value should not contain leading or trailing forward slashes.
@@ -267,43 +268,43 @@ class _TemplateState:
267
268
  return pulumi.get(self, "namespace")
268
269
 
269
270
  @namespace.setter
270
- def namespace(self, value: Optional[pulumi.Input[str]]):
271
+ def namespace(self, value: Optional[pulumi.Input[builtins.str]]):
271
272
  pulumi.set(self, "namespace", value)
272
273
 
273
274
  @property
274
275
  @pulumi.getter
275
- def path(self) -> Optional[pulumi.Input[str]]:
276
+ def path(self) -> Optional[pulumi.Input[builtins.str]]:
276
277
  """
277
278
  Path to where the back-end is mounted within Vault.
278
279
  """
279
280
  return pulumi.get(self, "path")
280
281
 
281
282
  @path.setter
282
- def path(self, value: Optional[pulumi.Input[str]]):
283
+ def path(self, value: Optional[pulumi.Input[builtins.str]]):
283
284
  pulumi.set(self, "path", value)
284
285
 
285
286
  @property
286
287
  @pulumi.getter
287
- def pattern(self) -> Optional[pulumi.Input[str]]:
288
+ def pattern(self) -> Optional[pulumi.Input[builtins.str]]:
288
289
  """
289
290
  The pattern used for matching. Currently, only regular expression pattern is supported.
290
291
  """
291
292
  return pulumi.get(self, "pattern")
292
293
 
293
294
  @pattern.setter
294
- def pattern(self, value: Optional[pulumi.Input[str]]):
295
+ def pattern(self, value: Optional[pulumi.Input[builtins.str]]):
295
296
  pulumi.set(self, "pattern", value)
296
297
 
297
298
  @property
298
299
  @pulumi.getter
299
- def type(self) -> Optional[pulumi.Input[str]]:
300
+ def type(self) -> Optional[pulumi.Input[builtins.str]]:
300
301
  """
301
302
  The pattern type to use for match detection. Currently, only regex is supported.
302
303
  """
303
304
  return pulumi.get(self, "type")
304
305
 
305
306
  @type.setter
306
- def type(self, value: Optional[pulumi.Input[str]]):
307
+ def type(self, value: Optional[pulumi.Input[builtins.str]]):
307
308
  pulumi.set(self, "type", value)
308
309
 
309
310
 
@@ -312,14 +313,14 @@ class Template(pulumi.CustomResource):
312
313
  def __init__(__self__,
313
314
  resource_name: str,
314
315
  opts: Optional[pulumi.ResourceOptions] = None,
315
- alphabet: Optional[pulumi.Input[str]] = None,
316
- decode_formats: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
317
- encode_format: Optional[pulumi.Input[str]] = None,
318
- name: Optional[pulumi.Input[str]] = None,
319
- namespace: Optional[pulumi.Input[str]] = None,
320
- path: Optional[pulumi.Input[str]] = None,
321
- pattern: Optional[pulumi.Input[str]] = None,
322
- type: Optional[pulumi.Input[str]] = 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,
323
324
  __props__=None):
324
325
  """
325
326
  This resource supports the `/transform/template/{name}` Vault endpoint.
@@ -364,19 +365,19 @@ class Template(pulumi.CustomResource):
364
365
 
365
366
  :param str resource_name: The name of the resource.
366
367
  :param pulumi.ResourceOptions opts: Options for the resource.
367
- :param pulumi.Input[str] alphabet: The alphabet to use for this template. This is only used during FPE transformations.
368
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] decode_formats: Optional mapping of name to regular expression template, used to customize
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
369
370
  the decoded output. (requires Vault Enterprise 1.9+)
370
- :param pulumi.Input[str] encode_format: The regular expression template used to format encoded values.
371
+ :param pulumi.Input[builtins.str] encode_format: The regular expression template used to format encoded values.
371
372
  (requires Vault Enterprise 1.9+)
372
- :param pulumi.Input[str] name: The name of the template.
373
- :param pulumi.Input[str] namespace: The namespace to provision the resource in.
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.
374
375
  The value should not contain leading or trailing forward slashes.
375
376
  The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
376
377
  *Available only for Vault Enterprise*.
377
- :param pulumi.Input[str] path: Path to where the back-end is mounted within Vault.
378
- :param pulumi.Input[str] pattern: The pattern used for matching. Currently, only regular expression pattern is supported.
379
- :param pulumi.Input[str] type: The pattern type to use for match detection. Currently, only regex is supported.
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.
380
381
  """
381
382
  ...
382
383
  @overload
@@ -440,14 +441,14 @@ class Template(pulumi.CustomResource):
440
441
  def _internal_init(__self__,
441
442
  resource_name: str,
442
443
  opts: Optional[pulumi.ResourceOptions] = None,
443
- alphabet: Optional[pulumi.Input[str]] = None,
444
- decode_formats: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
445
- encode_format: Optional[pulumi.Input[str]] = None,
446
- name: Optional[pulumi.Input[str]] = None,
447
- namespace: Optional[pulumi.Input[str]] = None,
448
- path: Optional[pulumi.Input[str]] = None,
449
- pattern: Optional[pulumi.Input[str]] = None,
450
- type: Optional[pulumi.Input[str]] = 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,
451
452
  __props__=None):
452
453
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
453
454
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -477,14 +478,14 @@ class Template(pulumi.CustomResource):
477
478
  def get(resource_name: str,
478
479
  id: pulumi.Input[str],
479
480
  opts: Optional[pulumi.ResourceOptions] = None,
480
- alphabet: Optional[pulumi.Input[str]] = None,
481
- decode_formats: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
482
- encode_format: Optional[pulumi.Input[str]] = None,
483
- name: Optional[pulumi.Input[str]] = None,
484
- namespace: Optional[pulumi.Input[str]] = None,
485
- path: Optional[pulumi.Input[str]] = None,
486
- pattern: Optional[pulumi.Input[str]] = None,
487
- type: Optional[pulumi.Input[str]] = None) -> 'Template':
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':
488
489
  """
489
490
  Get an existing Template resource's state with the given name, id, and optional extra
490
491
  properties used to qualify the lookup.
@@ -492,19 +493,19 @@ class Template(pulumi.CustomResource):
492
493
  :param str resource_name: The unique name of the resulting resource.
493
494
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
494
495
  :param pulumi.ResourceOptions opts: Options for the resource.
495
- :param pulumi.Input[str] alphabet: The alphabet to use for this template. This is only used during FPE transformations.
496
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] decode_formats: Optional mapping of name to regular expression template, used to customize
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
497
498
  the decoded output. (requires Vault Enterprise 1.9+)
498
- :param pulumi.Input[str] encode_format: The regular expression template used to format encoded values.
499
+ :param pulumi.Input[builtins.str] encode_format: The regular expression template used to format encoded values.
499
500
  (requires Vault Enterprise 1.9+)
500
- :param pulumi.Input[str] name: The name of the template.
501
- :param pulumi.Input[str] namespace: The namespace to provision the resource in.
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.
502
503
  The value should not contain leading or trailing forward slashes.
503
504
  The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
504
505
  *Available only for Vault Enterprise*.
505
- :param pulumi.Input[str] path: Path to where the back-end is mounted within Vault.
506
- :param pulumi.Input[str] pattern: The pattern used for matching. Currently, only regular expression pattern is supported.
507
- :param pulumi.Input[str] type: The pattern type to use for match detection. Currently, only regex is supported.
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.
508
509
  """
509
510
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
510
511
 
@@ -522,7 +523,7 @@ class Template(pulumi.CustomResource):
522
523
 
523
524
  @property
524
525
  @pulumi.getter
525
- def alphabet(self) -> pulumi.Output[Optional[str]]:
526
+ def alphabet(self) -> pulumi.Output[Optional[builtins.str]]:
526
527
  """
527
528
  The alphabet to use for this template. This is only used during FPE transformations.
528
529
  """
@@ -530,7 +531,7 @@ class Template(pulumi.CustomResource):
530
531
 
531
532
  @property
532
533
  @pulumi.getter(name="decodeFormats")
533
- def decode_formats(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
534
+ def decode_formats(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
534
535
  """
535
536
  Optional mapping of name to regular expression template, used to customize
536
537
  the decoded output. (requires Vault Enterprise 1.9+)
@@ -539,7 +540,7 @@ class Template(pulumi.CustomResource):
539
540
 
540
541
  @property
541
542
  @pulumi.getter(name="encodeFormat")
542
- def encode_format(self) -> pulumi.Output[Optional[str]]:
543
+ def encode_format(self) -> pulumi.Output[Optional[builtins.str]]:
543
544
  """
544
545
  The regular expression template used to format encoded values.
545
546
  (requires Vault Enterprise 1.9+)
@@ -548,7 +549,7 @@ class Template(pulumi.CustomResource):
548
549
 
549
550
  @property
550
551
  @pulumi.getter
551
- def name(self) -> pulumi.Output[str]:
552
+ def name(self) -> pulumi.Output[builtins.str]:
552
553
  """
553
554
  The name of the template.
554
555
  """
@@ -556,7 +557,7 @@ class Template(pulumi.CustomResource):
556
557
 
557
558
  @property
558
559
  @pulumi.getter
559
- def namespace(self) -> pulumi.Output[Optional[str]]:
560
+ def namespace(self) -> pulumi.Output[Optional[builtins.str]]:
560
561
  """
561
562
  The namespace to provision the resource in.
562
563
  The value should not contain leading or trailing forward slashes.
@@ -567,7 +568,7 @@ class Template(pulumi.CustomResource):
567
568
 
568
569
  @property
569
570
  @pulumi.getter
570
- def path(self) -> pulumi.Output[str]:
571
+ def path(self) -> pulumi.Output[builtins.str]:
571
572
  """
572
573
  Path to where the back-end is mounted within Vault.
573
574
  """
@@ -575,7 +576,7 @@ class Template(pulumi.CustomResource):
575
576
 
576
577
  @property
577
578
  @pulumi.getter
578
- def pattern(self) -> pulumi.Output[Optional[str]]:
579
+ def pattern(self) -> pulumi.Output[Optional[builtins.str]]:
579
580
  """
580
581
  The pattern used for matching. Currently, only regular expression pattern is supported.
581
582
  """
@@ -583,7 +584,7 @@ class Template(pulumi.CustomResource):
583
584
 
584
585
  @property
585
586
  @pulumi.getter
586
- def type(self) -> pulumi.Output[Optional[str]]:
587
+ def type(self) -> pulumi.Output[Optional[builtins.str]]:
587
588
  """
588
589
  The pattern type to use for match detection. Currently, only regex is supported.
589
590
  """