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.
- pulumi_vault/__init__.py +1399 -0
- pulumi_vault/_inputs.py +2701 -0
- pulumi_vault/_utilities.py +331 -0
- pulumi_vault/ad/__init__.py +12 -0
- pulumi_vault/ad/get_access_credentials.py +177 -0
- pulumi_vault/ad/secret_backend.py +1916 -0
- pulumi_vault/ad/secret_library.py +546 -0
- pulumi_vault/ad/secret_role.py +499 -0
- pulumi_vault/alicloud/__init__.py +9 -0
- pulumi_vault/alicloud/auth_backend_role.py +866 -0
- pulumi_vault/approle/__init__.py +12 -0
- pulumi_vault/approle/auth_backend_login.py +571 -0
- pulumi_vault/approle/auth_backend_role.py +1082 -0
- pulumi_vault/approle/auth_backend_role_secret_id.py +796 -0
- pulumi_vault/approle/get_auth_backend_role_id.py +169 -0
- pulumi_vault/audit.py +499 -0
- pulumi_vault/audit_request_header.py +277 -0
- pulumi_vault/auth_backend.py +565 -0
- pulumi_vault/aws/__init__.py +22 -0
- pulumi_vault/aws/auth_backend_cert.py +420 -0
- pulumi_vault/aws/auth_backend_client.py +1259 -0
- pulumi_vault/aws/auth_backend_config_identity.py +494 -0
- pulumi_vault/aws/auth_backend_identity_whitelist.py +380 -0
- pulumi_vault/aws/auth_backend_login.py +1046 -0
- pulumi_vault/aws/auth_backend_role.py +1961 -0
- pulumi_vault/aws/auth_backend_role_tag.py +638 -0
- pulumi_vault/aws/auth_backend_roletag_blacklist.py +366 -0
- pulumi_vault/aws/auth_backend_sts_role.py +414 -0
- pulumi_vault/aws/get_access_credentials.py +369 -0
- pulumi_vault/aws/get_static_access_credentials.py +137 -0
- pulumi_vault/aws/secret_backend.py +2018 -0
- pulumi_vault/aws/secret_backend_role.py +1188 -0
- pulumi_vault/aws/secret_backend_static_role.py +639 -0
- pulumi_vault/azure/__init__.py +15 -0
- pulumi_vault/azure/_inputs.py +108 -0
- pulumi_vault/azure/auth_backend_config.py +1096 -0
- pulumi_vault/azure/auth_backend_role.py +1176 -0
- pulumi_vault/azure/backend.py +1793 -0
- pulumi_vault/azure/backend_role.py +883 -0
- pulumi_vault/azure/get_access_credentials.py +400 -0
- pulumi_vault/azure/outputs.py +107 -0
- pulumi_vault/cert_auth_backend_role.py +1539 -0
- pulumi_vault/config/__init__.py +9 -0
- pulumi_vault/config/__init__.pyi +164 -0
- pulumi_vault/config/_inputs.py +73 -0
- pulumi_vault/config/outputs.py +1225 -0
- pulumi_vault/config/ui_custom_message.py +530 -0
- pulumi_vault/config/vars.py +230 -0
- pulumi_vault/consul/__init__.py +10 -0
- pulumi_vault/consul/secret_backend.py +1517 -0
- pulumi_vault/consul/secret_backend_role.py +847 -0
- pulumi_vault/database/__init__.py +14 -0
- pulumi_vault/database/_inputs.py +11907 -0
- pulumi_vault/database/outputs.py +8496 -0
- pulumi_vault/database/secret_backend_connection.py +1676 -0
- pulumi_vault/database/secret_backend_role.py +840 -0
- pulumi_vault/database/secret_backend_static_role.py +881 -0
- pulumi_vault/database/secrets_mount.py +2160 -0
- pulumi_vault/egp_policy.py +399 -0
- pulumi_vault/gcp/__init__.py +17 -0
- pulumi_vault/gcp/_inputs.py +441 -0
- pulumi_vault/gcp/auth_backend.py +1486 -0
- pulumi_vault/gcp/auth_backend_role.py +1235 -0
- pulumi_vault/gcp/get_auth_backend_role.py +514 -0
- pulumi_vault/gcp/outputs.py +302 -0
- pulumi_vault/gcp/secret_backend.py +1807 -0
- pulumi_vault/gcp/secret_impersonated_account.py +484 -0
- pulumi_vault/gcp/secret_roleset.py +554 -0
- pulumi_vault/gcp/secret_static_account.py +557 -0
- pulumi_vault/generic/__init__.py +11 -0
- pulumi_vault/generic/endpoint.py +786 -0
- pulumi_vault/generic/get_secret.py +306 -0
- pulumi_vault/generic/secret.py +486 -0
- pulumi_vault/get_auth_backend.py +226 -0
- pulumi_vault/get_auth_backends.py +170 -0
- pulumi_vault/get_namespace.py +226 -0
- pulumi_vault/get_namespaces.py +202 -0
- pulumi_vault/get_nomad_access_token.py +210 -0
- pulumi_vault/get_policy_document.py +160 -0
- pulumi_vault/get_raft_autopilot_state.py +267 -0
- pulumi_vault/github/__init__.py +13 -0
- pulumi_vault/github/_inputs.py +225 -0
- pulumi_vault/github/auth_backend.py +1194 -0
- pulumi_vault/github/outputs.py +174 -0
- pulumi_vault/github/team.py +380 -0
- pulumi_vault/github/user.py +380 -0
- pulumi_vault/identity/__init__.py +35 -0
- pulumi_vault/identity/entity.py +447 -0
- pulumi_vault/identity/entity_alias.py +398 -0
- pulumi_vault/identity/entity_policies.py +455 -0
- pulumi_vault/identity/get_entity.py +384 -0
- pulumi_vault/identity/get_group.py +467 -0
- pulumi_vault/identity/get_oidc_client_creds.py +175 -0
- pulumi_vault/identity/get_oidc_openid_config.py +334 -0
- pulumi_vault/identity/get_oidc_public_keys.py +179 -0
- pulumi_vault/identity/group.py +805 -0
- pulumi_vault/identity/group_alias.py +386 -0
- pulumi_vault/identity/group_member_entity_ids.py +444 -0
- pulumi_vault/identity/group_member_group_ids.py +467 -0
- pulumi_vault/identity/group_policies.py +471 -0
- pulumi_vault/identity/mfa_duo.py +674 -0
- pulumi_vault/identity/mfa_login_enforcement.py +566 -0
- pulumi_vault/identity/mfa_okta.py +626 -0
- pulumi_vault/identity/mfa_pingid.py +616 -0
- pulumi_vault/identity/mfa_totp.py +758 -0
- pulumi_vault/identity/oidc.py +268 -0
- pulumi_vault/identity/oidc_assignment.py +375 -0
- pulumi_vault/identity/oidc_client.py +667 -0
- pulumi_vault/identity/oidc_key.py +474 -0
- pulumi_vault/identity/oidc_key_allowed_client_id.py +298 -0
- pulumi_vault/identity/oidc_provider.py +550 -0
- pulumi_vault/identity/oidc_role.py +543 -0
- pulumi_vault/identity/oidc_scope.py +355 -0
- pulumi_vault/identity/outputs.py +137 -0
- pulumi_vault/jwt/__init__.py +12 -0
- pulumi_vault/jwt/_inputs.py +225 -0
- pulumi_vault/jwt/auth_backend.py +1347 -0
- pulumi_vault/jwt/auth_backend_role.py +1847 -0
- pulumi_vault/jwt/outputs.py +174 -0
- pulumi_vault/kmip/__init__.py +11 -0
- pulumi_vault/kmip/secret_backend.py +1591 -0
- pulumi_vault/kmip/secret_role.py +1194 -0
- pulumi_vault/kmip/secret_scope.py +372 -0
- pulumi_vault/kubernetes/__init__.py +15 -0
- pulumi_vault/kubernetes/auth_backend_config.py +654 -0
- pulumi_vault/kubernetes/auth_backend_role.py +1031 -0
- pulumi_vault/kubernetes/get_auth_backend_config.py +280 -0
- pulumi_vault/kubernetes/get_auth_backend_role.py +470 -0
- pulumi_vault/kubernetes/get_service_account_token.py +344 -0
- pulumi_vault/kubernetes/secret_backend.py +1341 -0
- pulumi_vault/kubernetes/secret_backend_role.py +1140 -0
- pulumi_vault/kv/__init__.py +18 -0
- pulumi_vault/kv/_inputs.py +124 -0
- pulumi_vault/kv/get_secret.py +240 -0
- pulumi_vault/kv/get_secret_subkeys_v2.py +275 -0
- pulumi_vault/kv/get_secret_v2.py +315 -0
- pulumi_vault/kv/get_secrets_list.py +186 -0
- pulumi_vault/kv/get_secrets_list_v2.py +243 -0
- pulumi_vault/kv/outputs.py +102 -0
- pulumi_vault/kv/secret.py +397 -0
- pulumi_vault/kv/secret_backend_v2.py +455 -0
- pulumi_vault/kv/secret_v2.py +970 -0
- pulumi_vault/ldap/__init__.py +19 -0
- pulumi_vault/ldap/_inputs.py +225 -0
- pulumi_vault/ldap/auth_backend.py +2520 -0
- pulumi_vault/ldap/auth_backend_group.py +386 -0
- pulumi_vault/ldap/auth_backend_user.py +439 -0
- pulumi_vault/ldap/get_dynamic_credentials.py +181 -0
- pulumi_vault/ldap/get_static_credentials.py +192 -0
- pulumi_vault/ldap/outputs.py +174 -0
- pulumi_vault/ldap/secret_backend.py +2207 -0
- pulumi_vault/ldap/secret_backend_dynamic_role.py +767 -0
- pulumi_vault/ldap/secret_backend_library_set.py +552 -0
- pulumi_vault/ldap/secret_backend_static_role.py +541 -0
- pulumi_vault/managed/__init__.py +11 -0
- pulumi_vault/managed/_inputs.py +944 -0
- pulumi_vault/managed/keys.py +398 -0
- pulumi_vault/managed/outputs.py +667 -0
- pulumi_vault/mfa_duo.py +589 -0
- pulumi_vault/mfa_okta.py +623 -0
- pulumi_vault/mfa_pingid.py +670 -0
- pulumi_vault/mfa_totp.py +620 -0
- pulumi_vault/mongodbatlas/__init__.py +10 -0
- pulumi_vault/mongodbatlas/secret_backend.py +388 -0
- pulumi_vault/mongodbatlas/secret_role.py +726 -0
- pulumi_vault/mount.py +1262 -0
- pulumi_vault/namespace.py +452 -0
- pulumi_vault/nomad_secret_backend.py +1559 -0
- pulumi_vault/nomad_secret_role.py +489 -0
- pulumi_vault/oci_auth_backend.py +676 -0
- pulumi_vault/oci_auth_backend_role.py +852 -0
- pulumi_vault/okta/__init__.py +13 -0
- pulumi_vault/okta/_inputs.py +320 -0
- pulumi_vault/okta/auth_backend.py +1231 -0
- pulumi_vault/okta/auth_backend_group.py +369 -0
- pulumi_vault/okta/auth_backend_user.py +416 -0
- pulumi_vault/okta/outputs.py +244 -0
- pulumi_vault/outputs.py +502 -0
- pulumi_vault/pkisecret/__init__.py +38 -0
- pulumi_vault/pkisecret/_inputs.py +270 -0
- pulumi_vault/pkisecret/backend_acme_eab.py +550 -0
- pulumi_vault/pkisecret/backend_config_acme.py +690 -0
- pulumi_vault/pkisecret/backend_config_auto_tidy.py +1370 -0
- pulumi_vault/pkisecret/backend_config_cluster.py +370 -0
- pulumi_vault/pkisecret/backend_config_cmpv2.py +693 -0
- pulumi_vault/pkisecret/backend_config_est.py +756 -0
- pulumi_vault/pkisecret/backend_config_scep.py +738 -0
- pulumi_vault/pkisecret/get_backend_cert_metadata.py +277 -0
- pulumi_vault/pkisecret/get_backend_config_cmpv2.py +226 -0
- pulumi_vault/pkisecret/get_backend_config_est.py +251 -0
- pulumi_vault/pkisecret/get_backend_config_scep.py +271 -0
- pulumi_vault/pkisecret/get_backend_issuer.py +395 -0
- pulumi_vault/pkisecret/get_backend_issuers.py +192 -0
- pulumi_vault/pkisecret/get_backend_key.py +211 -0
- pulumi_vault/pkisecret/get_backend_keys.py +192 -0
- pulumi_vault/pkisecret/outputs.py +270 -0
- pulumi_vault/pkisecret/secret_backend_cert.py +1315 -0
- pulumi_vault/pkisecret/secret_backend_config_ca.py +386 -0
- pulumi_vault/pkisecret/secret_backend_config_issuers.py +392 -0
- pulumi_vault/pkisecret/secret_backend_config_urls.py +462 -0
- pulumi_vault/pkisecret/secret_backend_crl_config.py +846 -0
- pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +1629 -0
- pulumi_vault/pkisecret/secret_backend_intermediate_set_signed.py +444 -0
- pulumi_vault/pkisecret/secret_backend_issuer.py +1089 -0
- pulumi_vault/pkisecret/secret_backend_key.py +613 -0
- pulumi_vault/pkisecret/secret_backend_role.py +2694 -0
- pulumi_vault/pkisecret/secret_backend_root_cert.py +2134 -0
- pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +2031 -0
- pulumi_vault/pkisecret/secret_backend_sign.py +1194 -0
- pulumi_vault/plugin.py +596 -0
- pulumi_vault/plugin_pinned_version.py +299 -0
- pulumi_vault/policy.py +279 -0
- pulumi_vault/provider.py +781 -0
- pulumi_vault/pulumi-plugin.json +5 -0
- pulumi_vault/py.typed +0 -0
- pulumi_vault/quota_lease_count.py +504 -0
- pulumi_vault/quota_rate_limit.py +751 -0
- pulumi_vault/rabbitmq/__init__.py +12 -0
- pulumi_vault/rabbitmq/_inputs.py +235 -0
- pulumi_vault/rabbitmq/outputs.py +144 -0
- pulumi_vault/rabbitmq/secret_backend.py +1437 -0
- pulumi_vault/rabbitmq/secret_backend_role.py +496 -0
- pulumi_vault/raft_autopilot.py +609 -0
- pulumi_vault/raft_snapshot_agent_config.py +1591 -0
- pulumi_vault/rgp_policy.py +349 -0
- pulumi_vault/saml/__init__.py +12 -0
- pulumi_vault/saml/_inputs.py +225 -0
- pulumi_vault/saml/auth_backend.py +811 -0
- pulumi_vault/saml/auth_backend_role.py +1068 -0
- pulumi_vault/saml/outputs.py +174 -0
- pulumi_vault/scep_auth_backend_role.py +908 -0
- pulumi_vault/secrets/__init__.py +18 -0
- pulumi_vault/secrets/_inputs.py +110 -0
- pulumi_vault/secrets/outputs.py +94 -0
- pulumi_vault/secrets/sync_association.py +450 -0
- pulumi_vault/secrets/sync_aws_destination.py +780 -0
- pulumi_vault/secrets/sync_azure_destination.py +736 -0
- pulumi_vault/secrets/sync_config.py +303 -0
- pulumi_vault/secrets/sync_gcp_destination.py +572 -0
- pulumi_vault/secrets/sync_gh_destination.py +688 -0
- pulumi_vault/secrets/sync_github_apps.py +376 -0
- pulumi_vault/secrets/sync_vercel_destination.py +603 -0
- pulumi_vault/ssh/__init__.py +13 -0
- pulumi_vault/ssh/_inputs.py +76 -0
- pulumi_vault/ssh/get_secret_backend_sign.py +294 -0
- pulumi_vault/ssh/outputs.py +51 -0
- pulumi_vault/ssh/secret_backend_ca.py +588 -0
- pulumi_vault/ssh/secret_backend_role.py +1493 -0
- pulumi_vault/terraformcloud/__init__.py +11 -0
- pulumi_vault/terraformcloud/secret_backend.py +1321 -0
- pulumi_vault/terraformcloud/secret_creds.py +445 -0
- pulumi_vault/terraformcloud/secret_role.py +563 -0
- pulumi_vault/token.py +1026 -0
- pulumi_vault/tokenauth/__init__.py +9 -0
- pulumi_vault/tokenauth/auth_backend_role.py +1135 -0
- pulumi_vault/transform/__init__.py +14 -0
- pulumi_vault/transform/alphabet.py +348 -0
- pulumi_vault/transform/get_decode.py +287 -0
- pulumi_vault/transform/get_encode.py +291 -0
- pulumi_vault/transform/role.py +350 -0
- pulumi_vault/transform/template.py +592 -0
- pulumi_vault/transform/transformation.py +608 -0
- pulumi_vault/transit/__init__.py +15 -0
- pulumi_vault/transit/get_cmac.py +256 -0
- pulumi_vault/transit/get_decrypt.py +181 -0
- pulumi_vault/transit/get_encrypt.py +174 -0
- pulumi_vault/transit/get_sign.py +328 -0
- pulumi_vault/transit/get_verify.py +373 -0
- pulumi_vault/transit/secret_backend_key.py +1202 -0
- pulumi_vault/transit/secret_cache_config.py +302 -0
- pulumi_vault-7.6.0a1764657486.dist-info/METADATA +92 -0
- pulumi_vault-7.6.0a1764657486.dist-info/RECORD +274 -0
- pulumi_vault-7.6.0a1764657486.dist-info/WHEEL +5 -0
- 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
|
+
|