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,786 @@
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__ = ['EndpointArgs', 'Endpoint']
18
+
19
+ @pulumi.input_type
20
+ class EndpointArgs:
21
+ def __init__(__self__, *,
22
+ data_json: pulumi.Input[_builtins.str],
23
+ path: pulumi.Input[_builtins.str],
24
+ disable_delete: Optional[pulumi.Input[_builtins.bool]] = None,
25
+ disable_read: Optional[pulumi.Input[_builtins.bool]] = None,
26
+ ignore_absent_fields: Optional[pulumi.Input[_builtins.bool]] = None,
27
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
28
+ write_fields: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
29
+ """
30
+ The set of arguments for constructing a Endpoint resource.
31
+ :param pulumi.Input[_builtins.str] data_json: String containing a JSON-encoded object that will be
32
+ written to the given path as the secret data.
33
+ :param pulumi.Input[_builtins.str] path: The full logical path at which to write the given
34
+ data. Consult each backend's documentation to see which endpoints
35
+ support the `PUT` methods and to determine whether they also support
36
+ `DELETE` and `GET`.
37
+ :param pulumi.Input[_builtins.bool] disable_delete: - (Optional) True/false. Set this to true if your
38
+ vault authentication is not able to delete the data or if the endpoint
39
+ does not support the `DELETE` method. Defaults to false.
40
+ :param pulumi.Input[_builtins.bool] disable_read: True/false. Set this to true if your vault
41
+ authentication is not able to read the data or if the endpoint does
42
+ not support the `GET` method. Setting this to `true` will break drift
43
+ detection. You should set this to `true` for endpoints that are
44
+ write-only. Defaults to false.
45
+ :param pulumi.Input[_builtins.bool] ignore_absent_fields: - (Optional) True/false. If set to true,
46
+ ignore any fields present when the endpoint is read but that were not
47
+ in `data_json`. Also, if a field that was written is not returned when
48
+ the endpoint is read, treat that field as being up to date. You should
49
+ set this to `true` when writing to endpoint that, when read, returns a
50
+ different set of fields from the ones you wrote, as is common with
51
+ many configuration endpoints. Defaults to false.
52
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
53
+ The value should not contain leading or trailing forward slashes.
54
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
55
+ *Available only for Vault Enterprise*.
56
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] write_fields: - (Optional). A list of fields that should be returned
57
+ in `write_data_json` and `write_data`. If omitted, data returned by
58
+ the write operation is not available to the resource or included in
59
+ state. This helps to avoid accidental storage of sensitive values in
60
+ state. Some endpoints, such as many dynamic secrets endpoints, return
61
+ data from writing to an endpoint rather than reading it. You should
62
+ use `write_fields` if you need information returned in this way.
63
+ """
64
+ pulumi.set(__self__, "data_json", data_json)
65
+ pulumi.set(__self__, "path", path)
66
+ if disable_delete is not None:
67
+ pulumi.set(__self__, "disable_delete", disable_delete)
68
+ if disable_read is not None:
69
+ pulumi.set(__self__, "disable_read", disable_read)
70
+ if ignore_absent_fields is not None:
71
+ pulumi.set(__self__, "ignore_absent_fields", ignore_absent_fields)
72
+ if namespace is not None:
73
+ pulumi.set(__self__, "namespace", namespace)
74
+ if write_fields is not None:
75
+ pulumi.set(__self__, "write_fields", write_fields)
76
+
77
+ @_builtins.property
78
+ @pulumi.getter(name="dataJson")
79
+ def data_json(self) -> pulumi.Input[_builtins.str]:
80
+ """
81
+ String containing a JSON-encoded object that will be
82
+ written to the given path as the secret data.
83
+ """
84
+ return pulumi.get(self, "data_json")
85
+
86
+ @data_json.setter
87
+ def data_json(self, value: pulumi.Input[_builtins.str]):
88
+ pulumi.set(self, "data_json", value)
89
+
90
+ @_builtins.property
91
+ @pulumi.getter
92
+ def path(self) -> pulumi.Input[_builtins.str]:
93
+ """
94
+ The full logical path at which to write the given
95
+ data. Consult each backend's documentation to see which endpoints
96
+ support the `PUT` methods and to determine whether they also support
97
+ `DELETE` and `GET`.
98
+ """
99
+ return pulumi.get(self, "path")
100
+
101
+ @path.setter
102
+ def path(self, value: pulumi.Input[_builtins.str]):
103
+ pulumi.set(self, "path", value)
104
+
105
+ @_builtins.property
106
+ @pulumi.getter(name="disableDelete")
107
+ def disable_delete(self) -> Optional[pulumi.Input[_builtins.bool]]:
108
+ """
109
+ - (Optional) True/false. Set this to true if your
110
+ vault authentication is not able to delete the data or if the endpoint
111
+ does not support the `DELETE` method. Defaults to false.
112
+ """
113
+ return pulumi.get(self, "disable_delete")
114
+
115
+ @disable_delete.setter
116
+ def disable_delete(self, value: Optional[pulumi.Input[_builtins.bool]]):
117
+ pulumi.set(self, "disable_delete", value)
118
+
119
+ @_builtins.property
120
+ @pulumi.getter(name="disableRead")
121
+ def disable_read(self) -> Optional[pulumi.Input[_builtins.bool]]:
122
+ """
123
+ True/false. Set this to true if your vault
124
+ authentication is not able to read the data or if the endpoint does
125
+ not support the `GET` method. Setting this to `true` will break drift
126
+ detection. You should set this to `true` for endpoints that are
127
+ write-only. Defaults to false.
128
+ """
129
+ return pulumi.get(self, "disable_read")
130
+
131
+ @disable_read.setter
132
+ def disable_read(self, value: Optional[pulumi.Input[_builtins.bool]]):
133
+ pulumi.set(self, "disable_read", value)
134
+
135
+ @_builtins.property
136
+ @pulumi.getter(name="ignoreAbsentFields")
137
+ def ignore_absent_fields(self) -> Optional[pulumi.Input[_builtins.bool]]:
138
+ """
139
+ - (Optional) True/false. If set to true,
140
+ ignore any fields present when the endpoint is read but that were not
141
+ in `data_json`. Also, if a field that was written is not returned when
142
+ the endpoint is read, treat that field as being up to date. You should
143
+ set this to `true` when writing to endpoint that, when read, returns a
144
+ different set of fields from the ones you wrote, as is common with
145
+ many configuration endpoints. Defaults to false.
146
+ """
147
+ return pulumi.get(self, "ignore_absent_fields")
148
+
149
+ @ignore_absent_fields.setter
150
+ def ignore_absent_fields(self, value: Optional[pulumi.Input[_builtins.bool]]):
151
+ pulumi.set(self, "ignore_absent_fields", value)
152
+
153
+ @_builtins.property
154
+ @pulumi.getter
155
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
156
+ """
157
+ The namespace to provision the resource in.
158
+ The value should not contain leading or trailing forward slashes.
159
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
160
+ *Available only for Vault Enterprise*.
161
+ """
162
+ return pulumi.get(self, "namespace")
163
+
164
+ @namespace.setter
165
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
166
+ pulumi.set(self, "namespace", value)
167
+
168
+ @_builtins.property
169
+ @pulumi.getter(name="writeFields")
170
+ def write_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
171
+ """
172
+ - (Optional). A list of fields that should be returned
173
+ in `write_data_json` and `write_data`. If omitted, data returned by
174
+ the write operation is not available to the resource or included in
175
+ state. This helps to avoid accidental storage of sensitive values in
176
+ state. Some endpoints, such as many dynamic secrets endpoints, return
177
+ data from writing to an endpoint rather than reading it. You should
178
+ use `write_fields` if you need information returned in this way.
179
+ """
180
+ return pulumi.get(self, "write_fields")
181
+
182
+ @write_fields.setter
183
+ def write_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
184
+ pulumi.set(self, "write_fields", value)
185
+
186
+
187
+ @pulumi.input_type
188
+ class _EndpointState:
189
+ def __init__(__self__, *,
190
+ data_json: Optional[pulumi.Input[_builtins.str]] = None,
191
+ disable_delete: Optional[pulumi.Input[_builtins.bool]] = None,
192
+ disable_read: Optional[pulumi.Input[_builtins.bool]] = None,
193
+ ignore_absent_fields: Optional[pulumi.Input[_builtins.bool]] = None,
194
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
195
+ path: Optional[pulumi.Input[_builtins.str]] = None,
196
+ write_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
197
+ write_data_json: Optional[pulumi.Input[_builtins.str]] = None,
198
+ write_fields: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
199
+ """
200
+ Input properties used for looking up and filtering Endpoint resources.
201
+ :param pulumi.Input[_builtins.str] data_json: String containing a JSON-encoded object that will be
202
+ written to the given path as the secret data.
203
+ :param pulumi.Input[_builtins.bool] disable_delete: - (Optional) True/false. Set this to true if your
204
+ vault authentication is not able to delete the data or if the endpoint
205
+ does not support the `DELETE` method. Defaults to false.
206
+ :param pulumi.Input[_builtins.bool] disable_read: True/false. Set this to true if your vault
207
+ authentication is not able to read the data or if the endpoint does
208
+ not support the `GET` method. Setting this to `true` will break drift
209
+ detection. You should set this to `true` for endpoints that are
210
+ write-only. Defaults to false.
211
+ :param pulumi.Input[_builtins.bool] ignore_absent_fields: - (Optional) True/false. If set to true,
212
+ ignore any fields present when the endpoint is read but that were not
213
+ in `data_json`. Also, if a field that was written is not returned when
214
+ the endpoint is read, treat that field as being up to date. You should
215
+ set this to `true` when writing to endpoint that, when read, returns a
216
+ different set of fields from the ones you wrote, as is common with
217
+ many configuration endpoints. Defaults to false.
218
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
219
+ The value should not contain leading or trailing forward slashes.
220
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
221
+ *Available only for Vault Enterprise*.
222
+ :param pulumi.Input[_builtins.str] path: The full logical path at which to write the given
223
+ data. Consult each backend's documentation to see which endpoints
224
+ support the `PUT` methods and to determine whether they also support
225
+ `DELETE` and `GET`.
226
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] write_data: - A map whose keys are the top-level data keys
227
+ returned from Vault by the write operation and whose values are the
228
+ corresponding values. This map can only represent string data, so
229
+ any non-string values returned from Vault are serialized as JSON.
230
+ Only fields set in `write_fields` are present in the JSON data.
231
+ :param pulumi.Input[_builtins.str] write_data_json: - The JSON data returned by the write operation.
232
+ Only fields set in `write_fields` are present in the JSON data.
233
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] write_fields: - (Optional). A list of fields that should be returned
234
+ in `write_data_json` and `write_data`. If omitted, data returned by
235
+ the write operation is not available to the resource or included in
236
+ state. This helps to avoid accidental storage of sensitive values in
237
+ state. Some endpoints, such as many dynamic secrets endpoints, return
238
+ data from writing to an endpoint rather than reading it. You should
239
+ use `write_fields` if you need information returned in this way.
240
+ """
241
+ if data_json is not None:
242
+ pulumi.set(__self__, "data_json", data_json)
243
+ if disable_delete is not None:
244
+ pulumi.set(__self__, "disable_delete", disable_delete)
245
+ if disable_read is not None:
246
+ pulumi.set(__self__, "disable_read", disable_read)
247
+ if ignore_absent_fields is not None:
248
+ pulumi.set(__self__, "ignore_absent_fields", ignore_absent_fields)
249
+ if namespace is not None:
250
+ pulumi.set(__self__, "namespace", namespace)
251
+ if path is not None:
252
+ pulumi.set(__self__, "path", path)
253
+ if write_data is not None:
254
+ pulumi.set(__self__, "write_data", write_data)
255
+ if write_data_json is not None:
256
+ pulumi.set(__self__, "write_data_json", write_data_json)
257
+ if write_fields is not None:
258
+ pulumi.set(__self__, "write_fields", write_fields)
259
+
260
+ @_builtins.property
261
+ @pulumi.getter(name="dataJson")
262
+ def data_json(self) -> Optional[pulumi.Input[_builtins.str]]:
263
+ """
264
+ String containing a JSON-encoded object that will be
265
+ written to the given path as the secret data.
266
+ """
267
+ return pulumi.get(self, "data_json")
268
+
269
+ @data_json.setter
270
+ def data_json(self, value: Optional[pulumi.Input[_builtins.str]]):
271
+ pulumi.set(self, "data_json", value)
272
+
273
+ @_builtins.property
274
+ @pulumi.getter(name="disableDelete")
275
+ def disable_delete(self) -> Optional[pulumi.Input[_builtins.bool]]:
276
+ """
277
+ - (Optional) True/false. Set this to true if your
278
+ vault authentication is not able to delete the data or if the endpoint
279
+ does not support the `DELETE` method. Defaults to false.
280
+ """
281
+ return pulumi.get(self, "disable_delete")
282
+
283
+ @disable_delete.setter
284
+ def disable_delete(self, value: Optional[pulumi.Input[_builtins.bool]]):
285
+ pulumi.set(self, "disable_delete", value)
286
+
287
+ @_builtins.property
288
+ @pulumi.getter(name="disableRead")
289
+ def disable_read(self) -> Optional[pulumi.Input[_builtins.bool]]:
290
+ """
291
+ True/false. Set this to true if your vault
292
+ authentication is not able to read the data or if the endpoint does
293
+ not support the `GET` method. Setting this to `true` will break drift
294
+ detection. You should set this to `true` for endpoints that are
295
+ write-only. Defaults to false.
296
+ """
297
+ return pulumi.get(self, "disable_read")
298
+
299
+ @disable_read.setter
300
+ def disable_read(self, value: Optional[pulumi.Input[_builtins.bool]]):
301
+ pulumi.set(self, "disable_read", value)
302
+
303
+ @_builtins.property
304
+ @pulumi.getter(name="ignoreAbsentFields")
305
+ def ignore_absent_fields(self) -> Optional[pulumi.Input[_builtins.bool]]:
306
+ """
307
+ - (Optional) True/false. If set to true,
308
+ ignore any fields present when the endpoint is read but that were not
309
+ in `data_json`. Also, if a field that was written is not returned when
310
+ the endpoint is read, treat that field as being up to date. You should
311
+ set this to `true` when writing to endpoint that, when read, returns a
312
+ different set of fields from the ones you wrote, as is common with
313
+ many configuration endpoints. Defaults to false.
314
+ """
315
+ return pulumi.get(self, "ignore_absent_fields")
316
+
317
+ @ignore_absent_fields.setter
318
+ def ignore_absent_fields(self, value: Optional[pulumi.Input[_builtins.bool]]):
319
+ pulumi.set(self, "ignore_absent_fields", value)
320
+
321
+ @_builtins.property
322
+ @pulumi.getter
323
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
324
+ """
325
+ The namespace to provision the resource in.
326
+ The value should not contain leading or trailing forward slashes.
327
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
328
+ *Available only for Vault Enterprise*.
329
+ """
330
+ return pulumi.get(self, "namespace")
331
+
332
+ @namespace.setter
333
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
334
+ pulumi.set(self, "namespace", value)
335
+
336
+ @_builtins.property
337
+ @pulumi.getter
338
+ def path(self) -> Optional[pulumi.Input[_builtins.str]]:
339
+ """
340
+ The full logical path at which to write the given
341
+ data. Consult each backend's documentation to see which endpoints
342
+ support the `PUT` methods and to determine whether they also support
343
+ `DELETE` and `GET`.
344
+ """
345
+ return pulumi.get(self, "path")
346
+
347
+ @path.setter
348
+ def path(self, value: Optional[pulumi.Input[_builtins.str]]):
349
+ pulumi.set(self, "path", value)
350
+
351
+ @_builtins.property
352
+ @pulumi.getter(name="writeData")
353
+ def write_data(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
354
+ """
355
+ - A map whose keys are the top-level data keys
356
+ returned from Vault by the write operation and whose values are the
357
+ corresponding values. This map can only represent string data, so
358
+ any non-string values returned from Vault are serialized as JSON.
359
+ Only fields set in `write_fields` are present in the JSON data.
360
+ """
361
+ return pulumi.get(self, "write_data")
362
+
363
+ @write_data.setter
364
+ def write_data(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
365
+ pulumi.set(self, "write_data", value)
366
+
367
+ @_builtins.property
368
+ @pulumi.getter(name="writeDataJson")
369
+ def write_data_json(self) -> Optional[pulumi.Input[_builtins.str]]:
370
+ """
371
+ - The JSON data returned by the write operation.
372
+ Only fields set in `write_fields` are present in the JSON data.
373
+ """
374
+ return pulumi.get(self, "write_data_json")
375
+
376
+ @write_data_json.setter
377
+ def write_data_json(self, value: Optional[pulumi.Input[_builtins.str]]):
378
+ pulumi.set(self, "write_data_json", value)
379
+
380
+ @_builtins.property
381
+ @pulumi.getter(name="writeFields")
382
+ def write_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
383
+ """
384
+ - (Optional). A list of fields that should be returned
385
+ in `write_data_json` and `write_data`. If omitted, data returned by
386
+ the write operation is not available to the resource or included in
387
+ state. This helps to avoid accidental storage of sensitive values in
388
+ state. Some endpoints, such as many dynamic secrets endpoints, return
389
+ data from writing to an endpoint rather than reading it. You should
390
+ use `write_fields` if you need information returned in this way.
391
+ """
392
+ return pulumi.get(self, "write_fields")
393
+
394
+ @write_fields.setter
395
+ def write_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
396
+ pulumi.set(self, "write_fields", value)
397
+
398
+
399
+ @pulumi.type_token("vault:generic/endpoint:Endpoint")
400
+ class Endpoint(pulumi.CustomResource):
401
+ @overload
402
+ def __init__(__self__,
403
+ resource_name: str,
404
+ opts: Optional[pulumi.ResourceOptions] = None,
405
+ data_json: Optional[pulumi.Input[_builtins.str]] = None,
406
+ disable_delete: Optional[pulumi.Input[_builtins.bool]] = None,
407
+ disable_read: Optional[pulumi.Input[_builtins.bool]] = None,
408
+ ignore_absent_fields: Optional[pulumi.Input[_builtins.bool]] = None,
409
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
410
+ path: Optional[pulumi.Input[_builtins.str]] = None,
411
+ write_fields: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
412
+ __props__=None):
413
+ """
414
+ ## Example Usage
415
+
416
+ ```python
417
+ import pulumi
418
+ import pulumi_vault as vault
419
+
420
+ userpass = vault.AuthBackend("userpass", type="userpass")
421
+ u1 = vault.generic.Endpoint("u1",
422
+ path="auth/userpass/users/u1",
423
+ ignore_absent_fields=True,
424
+ data_json=\"\"\"{
425
+ \\"policies\\": [\\"p1\\"],
426
+ \\"password\\": \\"changeme\\"
427
+ }
428
+ \"\"\",
429
+ opts = pulumi.ResourceOptions(depends_on=[userpass]))
430
+ u1_token = vault.generic.Endpoint("u1_token",
431
+ path="auth/userpass/login/u1",
432
+ disable_read=True,
433
+ disable_delete=True,
434
+ data_json=\"\"\"{
435
+ \\"password\\": \\"changeme\\"
436
+ }
437
+ \"\"\",
438
+ opts = pulumi.ResourceOptions(depends_on=[u1]))
439
+ u1_entity = vault.generic.Endpoint("u1_entity",
440
+ disable_read=True,
441
+ disable_delete=True,
442
+ path="identity/lookup/entity",
443
+ ignore_absent_fields=True,
444
+ write_fields=["id"],
445
+ data_json=\"\"\"{
446
+ \\"alias_name\\": \\"u1\\",
447
+ \\"alias_mount_accessor\\": vault_auth_backend.userpass.accessor
448
+ }
449
+ \"\"\",
450
+ opts = pulumi.ResourceOptions(depends_on=[u1_token]))
451
+ pulumi.export("u1Id", u1_entity.write_data["id"])
452
+ ```
453
+
454
+ ## Required Vault Capabilities
455
+
456
+ Use of this resource requires the `create` or `update` capability
457
+ (depending on whether the resource already exists) on the given path. If
458
+ `disable_delete` is false, the `delete` capability is also required. If
459
+ `disable_read` is false, the `read` capability is required.
460
+
461
+ ## Import
462
+
463
+ Import is not supported for this resource.
464
+
465
+ :param str resource_name: The name of the resource.
466
+ :param pulumi.ResourceOptions opts: Options for the resource.
467
+ :param pulumi.Input[_builtins.str] data_json: String containing a JSON-encoded object that will be
468
+ written to the given path as the secret data.
469
+ :param pulumi.Input[_builtins.bool] disable_delete: - (Optional) True/false. Set this to true if your
470
+ vault authentication is not able to delete the data or if the endpoint
471
+ does not support the `DELETE` method. Defaults to false.
472
+ :param pulumi.Input[_builtins.bool] disable_read: True/false. Set this to true if your vault
473
+ authentication is not able to read the data or if the endpoint does
474
+ not support the `GET` method. Setting this to `true` will break drift
475
+ detection. You should set this to `true` for endpoints that are
476
+ write-only. Defaults to false.
477
+ :param pulumi.Input[_builtins.bool] ignore_absent_fields: - (Optional) True/false. If set to true,
478
+ ignore any fields present when the endpoint is read but that were not
479
+ in `data_json`. Also, if a field that was written is not returned when
480
+ the endpoint is read, treat that field as being up to date. You should
481
+ set this to `true` when writing to endpoint that, when read, returns a
482
+ different set of fields from the ones you wrote, as is common with
483
+ many configuration endpoints. Defaults to false.
484
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
485
+ The value should not contain leading or trailing forward slashes.
486
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
487
+ *Available only for Vault Enterprise*.
488
+ :param pulumi.Input[_builtins.str] path: The full logical path at which to write the given
489
+ data. Consult each backend's documentation to see which endpoints
490
+ support the `PUT` methods and to determine whether they also support
491
+ `DELETE` and `GET`.
492
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] write_fields: - (Optional). A list of fields that should be returned
493
+ in `write_data_json` and `write_data`. If omitted, data returned by
494
+ the write operation is not available to the resource or included in
495
+ state. This helps to avoid accidental storage of sensitive values in
496
+ state. Some endpoints, such as many dynamic secrets endpoints, return
497
+ data from writing to an endpoint rather than reading it. You should
498
+ use `write_fields` if you need information returned in this way.
499
+ """
500
+ ...
501
+ @overload
502
+ def __init__(__self__,
503
+ resource_name: str,
504
+ args: EndpointArgs,
505
+ opts: Optional[pulumi.ResourceOptions] = None):
506
+ """
507
+ ## Example Usage
508
+
509
+ ```python
510
+ import pulumi
511
+ import pulumi_vault as vault
512
+
513
+ userpass = vault.AuthBackend("userpass", type="userpass")
514
+ u1 = vault.generic.Endpoint("u1",
515
+ path="auth/userpass/users/u1",
516
+ ignore_absent_fields=True,
517
+ data_json=\"\"\"{
518
+ \\"policies\\": [\\"p1\\"],
519
+ \\"password\\": \\"changeme\\"
520
+ }
521
+ \"\"\",
522
+ opts = pulumi.ResourceOptions(depends_on=[userpass]))
523
+ u1_token = vault.generic.Endpoint("u1_token",
524
+ path="auth/userpass/login/u1",
525
+ disable_read=True,
526
+ disable_delete=True,
527
+ data_json=\"\"\"{
528
+ \\"password\\": \\"changeme\\"
529
+ }
530
+ \"\"\",
531
+ opts = pulumi.ResourceOptions(depends_on=[u1]))
532
+ u1_entity = vault.generic.Endpoint("u1_entity",
533
+ disable_read=True,
534
+ disable_delete=True,
535
+ path="identity/lookup/entity",
536
+ ignore_absent_fields=True,
537
+ write_fields=["id"],
538
+ data_json=\"\"\"{
539
+ \\"alias_name\\": \\"u1\\",
540
+ \\"alias_mount_accessor\\": vault_auth_backend.userpass.accessor
541
+ }
542
+ \"\"\",
543
+ opts = pulumi.ResourceOptions(depends_on=[u1_token]))
544
+ pulumi.export("u1Id", u1_entity.write_data["id"])
545
+ ```
546
+
547
+ ## Required Vault Capabilities
548
+
549
+ Use of this resource requires the `create` or `update` capability
550
+ (depending on whether the resource already exists) on the given path. If
551
+ `disable_delete` is false, the `delete` capability is also required. If
552
+ `disable_read` is false, the `read` capability is required.
553
+
554
+ ## Import
555
+
556
+ Import is not supported for this resource.
557
+
558
+ :param str resource_name: The name of the resource.
559
+ :param EndpointArgs args: The arguments to use to populate this resource's properties.
560
+ :param pulumi.ResourceOptions opts: Options for the resource.
561
+ """
562
+ ...
563
+ def __init__(__self__, resource_name: str, *args, **kwargs):
564
+ resource_args, opts = _utilities.get_resource_args_opts(EndpointArgs, pulumi.ResourceOptions, *args, **kwargs)
565
+ if resource_args is not None:
566
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
567
+ else:
568
+ __self__._internal_init(resource_name, *args, **kwargs)
569
+
570
+ def _internal_init(__self__,
571
+ resource_name: str,
572
+ opts: Optional[pulumi.ResourceOptions] = None,
573
+ data_json: Optional[pulumi.Input[_builtins.str]] = None,
574
+ disable_delete: Optional[pulumi.Input[_builtins.bool]] = None,
575
+ disable_read: Optional[pulumi.Input[_builtins.bool]] = None,
576
+ ignore_absent_fields: Optional[pulumi.Input[_builtins.bool]] = None,
577
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
578
+ path: Optional[pulumi.Input[_builtins.str]] = None,
579
+ write_fields: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
580
+ __props__=None):
581
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
582
+ if not isinstance(opts, pulumi.ResourceOptions):
583
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
584
+ if opts.id is None:
585
+ if __props__ is not None:
586
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
587
+ __props__ = EndpointArgs.__new__(EndpointArgs)
588
+
589
+ if data_json is None and not opts.urn:
590
+ raise TypeError("Missing required property 'data_json'")
591
+ __props__.__dict__["data_json"] = None if data_json is None else pulumi.Output.secret(data_json)
592
+ __props__.__dict__["disable_delete"] = disable_delete
593
+ __props__.__dict__["disable_read"] = disable_read
594
+ __props__.__dict__["ignore_absent_fields"] = ignore_absent_fields
595
+ __props__.__dict__["namespace"] = namespace
596
+ if path is None and not opts.urn:
597
+ raise TypeError("Missing required property 'path'")
598
+ __props__.__dict__["path"] = path
599
+ __props__.__dict__["write_fields"] = write_fields
600
+ __props__.__dict__["write_data"] = None
601
+ __props__.__dict__["write_data_json"] = None
602
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["dataJson"])
603
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
604
+ super(Endpoint, __self__).__init__(
605
+ 'vault:generic/endpoint:Endpoint',
606
+ resource_name,
607
+ __props__,
608
+ opts)
609
+
610
+ @staticmethod
611
+ def get(resource_name: str,
612
+ id: pulumi.Input[str],
613
+ opts: Optional[pulumi.ResourceOptions] = None,
614
+ data_json: Optional[pulumi.Input[_builtins.str]] = None,
615
+ disable_delete: Optional[pulumi.Input[_builtins.bool]] = None,
616
+ disable_read: Optional[pulumi.Input[_builtins.bool]] = None,
617
+ ignore_absent_fields: Optional[pulumi.Input[_builtins.bool]] = None,
618
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
619
+ path: Optional[pulumi.Input[_builtins.str]] = None,
620
+ write_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
621
+ write_data_json: Optional[pulumi.Input[_builtins.str]] = None,
622
+ write_fields: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'Endpoint':
623
+ """
624
+ Get an existing Endpoint resource's state with the given name, id, and optional extra
625
+ properties used to qualify the lookup.
626
+
627
+ :param str resource_name: The unique name of the resulting resource.
628
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
629
+ :param pulumi.ResourceOptions opts: Options for the resource.
630
+ :param pulumi.Input[_builtins.str] data_json: String containing a JSON-encoded object that will be
631
+ written to the given path as the secret data.
632
+ :param pulumi.Input[_builtins.bool] disable_delete: - (Optional) True/false. Set this to true if your
633
+ vault authentication is not able to delete the data or if the endpoint
634
+ does not support the `DELETE` method. Defaults to false.
635
+ :param pulumi.Input[_builtins.bool] disable_read: True/false. Set this to true if your vault
636
+ authentication is not able to read the data or if the endpoint does
637
+ not support the `GET` method. Setting this to `true` will break drift
638
+ detection. You should set this to `true` for endpoints that are
639
+ write-only. Defaults to false.
640
+ :param pulumi.Input[_builtins.bool] ignore_absent_fields: - (Optional) True/false. If set to true,
641
+ ignore any fields present when the endpoint is read but that were not
642
+ in `data_json`. Also, if a field that was written is not returned when
643
+ the endpoint is read, treat that field as being up to date. You should
644
+ set this to `true` when writing to endpoint that, when read, returns a
645
+ different set of fields from the ones you wrote, as is common with
646
+ many configuration endpoints. Defaults to false.
647
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
648
+ The value should not contain leading or trailing forward slashes.
649
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
650
+ *Available only for Vault Enterprise*.
651
+ :param pulumi.Input[_builtins.str] path: The full logical path at which to write the given
652
+ data. Consult each backend's documentation to see which endpoints
653
+ support the `PUT` methods and to determine whether they also support
654
+ `DELETE` and `GET`.
655
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] write_data: - A map whose keys are the top-level data keys
656
+ returned from Vault by the write operation and whose values are the
657
+ corresponding values. This map can only represent string data, so
658
+ any non-string values returned from Vault are serialized as JSON.
659
+ Only fields set in `write_fields` are present in the JSON data.
660
+ :param pulumi.Input[_builtins.str] write_data_json: - The JSON data returned by the write operation.
661
+ Only fields set in `write_fields` are present in the JSON data.
662
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] write_fields: - (Optional). A list of fields that should be returned
663
+ in `write_data_json` and `write_data`. If omitted, data returned by
664
+ the write operation is not available to the resource or included in
665
+ state. This helps to avoid accidental storage of sensitive values in
666
+ state. Some endpoints, such as many dynamic secrets endpoints, return
667
+ data from writing to an endpoint rather than reading it. You should
668
+ use `write_fields` if you need information returned in this way.
669
+ """
670
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
671
+
672
+ __props__ = _EndpointState.__new__(_EndpointState)
673
+
674
+ __props__.__dict__["data_json"] = data_json
675
+ __props__.__dict__["disable_delete"] = disable_delete
676
+ __props__.__dict__["disable_read"] = disable_read
677
+ __props__.__dict__["ignore_absent_fields"] = ignore_absent_fields
678
+ __props__.__dict__["namespace"] = namespace
679
+ __props__.__dict__["path"] = path
680
+ __props__.__dict__["write_data"] = write_data
681
+ __props__.__dict__["write_data_json"] = write_data_json
682
+ __props__.__dict__["write_fields"] = write_fields
683
+ return Endpoint(resource_name, opts=opts, __props__=__props__)
684
+
685
+ @_builtins.property
686
+ @pulumi.getter(name="dataJson")
687
+ def data_json(self) -> pulumi.Output[_builtins.str]:
688
+ """
689
+ String containing a JSON-encoded object that will be
690
+ written to the given path as the secret data.
691
+ """
692
+ return pulumi.get(self, "data_json")
693
+
694
+ @_builtins.property
695
+ @pulumi.getter(name="disableDelete")
696
+ def disable_delete(self) -> pulumi.Output[Optional[_builtins.bool]]:
697
+ """
698
+ - (Optional) True/false. Set this to true if your
699
+ vault authentication is not able to delete the data or if the endpoint
700
+ does not support the `DELETE` method. Defaults to false.
701
+ """
702
+ return pulumi.get(self, "disable_delete")
703
+
704
+ @_builtins.property
705
+ @pulumi.getter(name="disableRead")
706
+ def disable_read(self) -> pulumi.Output[Optional[_builtins.bool]]:
707
+ """
708
+ True/false. Set this to true if your vault
709
+ authentication is not able to read the data or if the endpoint does
710
+ not support the `GET` method. Setting this to `true` will break drift
711
+ detection. You should set this to `true` for endpoints that are
712
+ write-only. Defaults to false.
713
+ """
714
+ return pulumi.get(self, "disable_read")
715
+
716
+ @_builtins.property
717
+ @pulumi.getter(name="ignoreAbsentFields")
718
+ def ignore_absent_fields(self) -> pulumi.Output[Optional[_builtins.bool]]:
719
+ """
720
+ - (Optional) True/false. If set to true,
721
+ ignore any fields present when the endpoint is read but that were not
722
+ in `data_json`. Also, if a field that was written is not returned when
723
+ the endpoint is read, treat that field as being up to date. You should
724
+ set this to `true` when writing to endpoint that, when read, returns a
725
+ different set of fields from the ones you wrote, as is common with
726
+ many configuration endpoints. Defaults to false.
727
+ """
728
+ return pulumi.get(self, "ignore_absent_fields")
729
+
730
+ @_builtins.property
731
+ @pulumi.getter
732
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
733
+ """
734
+ The namespace to provision the resource in.
735
+ The value should not contain leading or trailing forward slashes.
736
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
737
+ *Available only for Vault Enterprise*.
738
+ """
739
+ return pulumi.get(self, "namespace")
740
+
741
+ @_builtins.property
742
+ @pulumi.getter
743
+ def path(self) -> pulumi.Output[_builtins.str]:
744
+ """
745
+ The full logical path at which to write the given
746
+ data. Consult each backend's documentation to see which endpoints
747
+ support the `PUT` methods and to determine whether they also support
748
+ `DELETE` and `GET`.
749
+ """
750
+ return pulumi.get(self, "path")
751
+
752
+ @_builtins.property
753
+ @pulumi.getter(name="writeData")
754
+ def write_data(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
755
+ """
756
+ - A map whose keys are the top-level data keys
757
+ returned from Vault by the write operation and whose values are the
758
+ corresponding values. This map can only represent string data, so
759
+ any non-string values returned from Vault are serialized as JSON.
760
+ Only fields set in `write_fields` are present in the JSON data.
761
+ """
762
+ return pulumi.get(self, "write_data")
763
+
764
+ @_builtins.property
765
+ @pulumi.getter(name="writeDataJson")
766
+ def write_data_json(self) -> pulumi.Output[_builtins.str]:
767
+ """
768
+ - The JSON data returned by the write operation.
769
+ Only fields set in `write_fields` are present in the JSON data.
770
+ """
771
+ return pulumi.get(self, "write_data_json")
772
+
773
+ @_builtins.property
774
+ @pulumi.getter(name="writeFields")
775
+ def write_fields(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
776
+ """
777
+ - (Optional). A list of fields that should be returned
778
+ in `write_data_json` and `write_data`. If omitted, data returned by
779
+ the write operation is not available to the resource or included in
780
+ state. This helps to avoid accidental storage of sensitive values in
781
+ state. Some endpoints, such as many dynamic secrets endpoints, return
782
+ data from writing to an endpoint rather than reading it. You should
783
+ use `write_fields` if you need information returned in this way.
784
+ """
785
+ return pulumi.get(self, "write_fields")
786
+