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,397 @@
|
|
|
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__ = ['SecretArgs', 'Secret']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class SecretArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
data_json: pulumi.Input[_builtins.str],
|
|
23
|
+
path: pulumi.Input[_builtins.str],
|
|
24
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None):
|
|
25
|
+
"""
|
|
26
|
+
The set of arguments for constructing a Secret resource.
|
|
27
|
+
:param pulumi.Input[_builtins.str] data_json: JSON-encoded string that will be
|
|
28
|
+
written as the secret data at the given path.
|
|
29
|
+
:param pulumi.Input[_builtins.str] path: Full path of the KV-V1 secret.
|
|
30
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
31
|
+
The value should not contain leading or trailing forward slashes.
|
|
32
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
33
|
+
*Available only for Vault Enterprise*.
|
|
34
|
+
"""
|
|
35
|
+
pulumi.set(__self__, "data_json", data_json)
|
|
36
|
+
pulumi.set(__self__, "path", path)
|
|
37
|
+
if namespace is not None:
|
|
38
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
39
|
+
|
|
40
|
+
@_builtins.property
|
|
41
|
+
@pulumi.getter(name="dataJson")
|
|
42
|
+
def data_json(self) -> pulumi.Input[_builtins.str]:
|
|
43
|
+
"""
|
|
44
|
+
JSON-encoded string that will be
|
|
45
|
+
written as the secret data at the given path.
|
|
46
|
+
"""
|
|
47
|
+
return pulumi.get(self, "data_json")
|
|
48
|
+
|
|
49
|
+
@data_json.setter
|
|
50
|
+
def data_json(self, value: pulumi.Input[_builtins.str]):
|
|
51
|
+
pulumi.set(self, "data_json", value)
|
|
52
|
+
|
|
53
|
+
@_builtins.property
|
|
54
|
+
@pulumi.getter
|
|
55
|
+
def path(self) -> pulumi.Input[_builtins.str]:
|
|
56
|
+
"""
|
|
57
|
+
Full path of the KV-V1 secret.
|
|
58
|
+
"""
|
|
59
|
+
return pulumi.get(self, "path")
|
|
60
|
+
|
|
61
|
+
@path.setter
|
|
62
|
+
def path(self, value: pulumi.Input[_builtins.str]):
|
|
63
|
+
pulumi.set(self, "path", value)
|
|
64
|
+
|
|
65
|
+
@_builtins.property
|
|
66
|
+
@pulumi.getter
|
|
67
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
68
|
+
"""
|
|
69
|
+
The namespace to provision the resource in.
|
|
70
|
+
The value should not contain leading or trailing forward slashes.
|
|
71
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
72
|
+
*Available only for Vault Enterprise*.
|
|
73
|
+
"""
|
|
74
|
+
return pulumi.get(self, "namespace")
|
|
75
|
+
|
|
76
|
+
@namespace.setter
|
|
77
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
78
|
+
pulumi.set(self, "namespace", value)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
@pulumi.input_type
|
|
82
|
+
class _SecretState:
|
|
83
|
+
def __init__(__self__, *,
|
|
84
|
+
data: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
85
|
+
data_json: Optional[pulumi.Input[_builtins.str]] = None,
|
|
86
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
87
|
+
path: Optional[pulumi.Input[_builtins.str]] = None):
|
|
88
|
+
"""
|
|
89
|
+
Input properties used for looking up and filtering Secret resources.
|
|
90
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] data: A mapping whose keys are the top-level data keys returned from
|
|
91
|
+
Vault and whose values are the corresponding values. This map can only
|
|
92
|
+
represent string data, so any non-string values returned from Vault are
|
|
93
|
+
serialized as JSON.
|
|
94
|
+
:param pulumi.Input[_builtins.str] data_json: JSON-encoded string that will be
|
|
95
|
+
written as the secret data at the given path.
|
|
96
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
97
|
+
The value should not contain leading or trailing forward slashes.
|
|
98
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
99
|
+
*Available only for Vault Enterprise*.
|
|
100
|
+
:param pulumi.Input[_builtins.str] path: Full path of the KV-V1 secret.
|
|
101
|
+
"""
|
|
102
|
+
if data is not None:
|
|
103
|
+
pulumi.set(__self__, "data", data)
|
|
104
|
+
if data_json is not None:
|
|
105
|
+
pulumi.set(__self__, "data_json", data_json)
|
|
106
|
+
if namespace is not None:
|
|
107
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
108
|
+
if path is not None:
|
|
109
|
+
pulumi.set(__self__, "path", path)
|
|
110
|
+
|
|
111
|
+
@_builtins.property
|
|
112
|
+
@pulumi.getter
|
|
113
|
+
def data(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
114
|
+
"""
|
|
115
|
+
A mapping whose keys are the top-level data keys returned from
|
|
116
|
+
Vault and whose values are the corresponding values. This map can only
|
|
117
|
+
represent string data, so any non-string values returned from Vault are
|
|
118
|
+
serialized as JSON.
|
|
119
|
+
"""
|
|
120
|
+
return pulumi.get(self, "data")
|
|
121
|
+
|
|
122
|
+
@data.setter
|
|
123
|
+
def data(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
124
|
+
pulumi.set(self, "data", value)
|
|
125
|
+
|
|
126
|
+
@_builtins.property
|
|
127
|
+
@pulumi.getter(name="dataJson")
|
|
128
|
+
def data_json(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
129
|
+
"""
|
|
130
|
+
JSON-encoded string that will be
|
|
131
|
+
written as the secret data at the given path.
|
|
132
|
+
"""
|
|
133
|
+
return pulumi.get(self, "data_json")
|
|
134
|
+
|
|
135
|
+
@data_json.setter
|
|
136
|
+
def data_json(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
137
|
+
pulumi.set(self, "data_json", value)
|
|
138
|
+
|
|
139
|
+
@_builtins.property
|
|
140
|
+
@pulumi.getter
|
|
141
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
142
|
+
"""
|
|
143
|
+
The namespace to provision the resource in.
|
|
144
|
+
The value should not contain leading or trailing forward slashes.
|
|
145
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
146
|
+
*Available only for Vault Enterprise*.
|
|
147
|
+
"""
|
|
148
|
+
return pulumi.get(self, "namespace")
|
|
149
|
+
|
|
150
|
+
@namespace.setter
|
|
151
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
152
|
+
pulumi.set(self, "namespace", value)
|
|
153
|
+
|
|
154
|
+
@_builtins.property
|
|
155
|
+
@pulumi.getter
|
|
156
|
+
def path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
157
|
+
"""
|
|
158
|
+
Full path of the KV-V1 secret.
|
|
159
|
+
"""
|
|
160
|
+
return pulumi.get(self, "path")
|
|
161
|
+
|
|
162
|
+
@path.setter
|
|
163
|
+
def path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
164
|
+
pulumi.set(self, "path", value)
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
@pulumi.type_token("vault:kv/secret:Secret")
|
|
168
|
+
class Secret(pulumi.CustomResource):
|
|
169
|
+
@overload
|
|
170
|
+
def __init__(__self__,
|
|
171
|
+
resource_name: str,
|
|
172
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
173
|
+
data_json: Optional[pulumi.Input[_builtins.str]] = None,
|
|
174
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
175
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
|
176
|
+
__props__=None):
|
|
177
|
+
"""
|
|
178
|
+
Writes a KV-V1 secret to a given path in Vault.
|
|
179
|
+
|
|
180
|
+
For more information on Vault's KV-V1 secret backend
|
|
181
|
+
[see here](https://www.vaultproject.io/docs/secrets/kv/kv-v1).
|
|
182
|
+
|
|
183
|
+
## Example Usage
|
|
184
|
+
|
|
185
|
+
```python
|
|
186
|
+
import pulumi
|
|
187
|
+
import json
|
|
188
|
+
import pulumi_vault as vault
|
|
189
|
+
|
|
190
|
+
kvv1 = vault.Mount("kvv1",
|
|
191
|
+
path="kvv1",
|
|
192
|
+
type="kv",
|
|
193
|
+
options={
|
|
194
|
+
"version": "1",
|
|
195
|
+
},
|
|
196
|
+
description="KV Version 1 secret engine mount")
|
|
197
|
+
secret = vault.kv.Secret("secret",
|
|
198
|
+
path=kvv1.path.apply(lambda path: f"{path}/secret"),
|
|
199
|
+
data_json=json.dumps({
|
|
200
|
+
"zip": "zap",
|
|
201
|
+
"foo": "bar",
|
|
202
|
+
}))
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Required Vault Capabilities
|
|
206
|
+
|
|
207
|
+
Use of this resource requires the `create` or `update` capability
|
|
208
|
+
(depending on whether the resource already exists) on the given path,
|
|
209
|
+
the `delete` capability if the resource is removed from configuration,
|
|
210
|
+
and the `read` capability for drift detection (by default).
|
|
211
|
+
|
|
212
|
+
## Import
|
|
213
|
+
|
|
214
|
+
KV-V1 secrets can be imported using the `path`, e.g.
|
|
215
|
+
|
|
216
|
+
```sh
|
|
217
|
+
$ pulumi import vault:kv/secret:Secret secret kvv1/secret
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
:param str resource_name: The name of the resource.
|
|
221
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
222
|
+
:param pulumi.Input[_builtins.str] data_json: JSON-encoded string that will be
|
|
223
|
+
written as the secret data at the given path.
|
|
224
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
225
|
+
The value should not contain leading or trailing forward slashes.
|
|
226
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
227
|
+
*Available only for Vault Enterprise*.
|
|
228
|
+
:param pulumi.Input[_builtins.str] path: Full path of the KV-V1 secret.
|
|
229
|
+
"""
|
|
230
|
+
...
|
|
231
|
+
@overload
|
|
232
|
+
def __init__(__self__,
|
|
233
|
+
resource_name: str,
|
|
234
|
+
args: SecretArgs,
|
|
235
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
236
|
+
"""
|
|
237
|
+
Writes a KV-V1 secret to a given path in Vault.
|
|
238
|
+
|
|
239
|
+
For more information on Vault's KV-V1 secret backend
|
|
240
|
+
[see here](https://www.vaultproject.io/docs/secrets/kv/kv-v1).
|
|
241
|
+
|
|
242
|
+
## Example Usage
|
|
243
|
+
|
|
244
|
+
```python
|
|
245
|
+
import pulumi
|
|
246
|
+
import json
|
|
247
|
+
import pulumi_vault as vault
|
|
248
|
+
|
|
249
|
+
kvv1 = vault.Mount("kvv1",
|
|
250
|
+
path="kvv1",
|
|
251
|
+
type="kv",
|
|
252
|
+
options={
|
|
253
|
+
"version": "1",
|
|
254
|
+
},
|
|
255
|
+
description="KV Version 1 secret engine mount")
|
|
256
|
+
secret = vault.kv.Secret("secret",
|
|
257
|
+
path=kvv1.path.apply(lambda path: f"{path}/secret"),
|
|
258
|
+
data_json=json.dumps({
|
|
259
|
+
"zip": "zap",
|
|
260
|
+
"foo": "bar",
|
|
261
|
+
}))
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
## Required Vault Capabilities
|
|
265
|
+
|
|
266
|
+
Use of this resource requires the `create` or `update` capability
|
|
267
|
+
(depending on whether the resource already exists) on the given path,
|
|
268
|
+
the `delete` capability if the resource is removed from configuration,
|
|
269
|
+
and the `read` capability for drift detection (by default).
|
|
270
|
+
|
|
271
|
+
## Import
|
|
272
|
+
|
|
273
|
+
KV-V1 secrets can be imported using the `path`, e.g.
|
|
274
|
+
|
|
275
|
+
```sh
|
|
276
|
+
$ pulumi import vault:kv/secret:Secret secret kvv1/secret
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
:param str resource_name: The name of the resource.
|
|
280
|
+
:param SecretArgs args: The arguments to use to populate this resource's properties.
|
|
281
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
282
|
+
"""
|
|
283
|
+
...
|
|
284
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
285
|
+
resource_args, opts = _utilities.get_resource_args_opts(SecretArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
286
|
+
if resource_args is not None:
|
|
287
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
288
|
+
else:
|
|
289
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
290
|
+
|
|
291
|
+
def _internal_init(__self__,
|
|
292
|
+
resource_name: str,
|
|
293
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
294
|
+
data_json: Optional[pulumi.Input[_builtins.str]] = None,
|
|
295
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
296
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
|
297
|
+
__props__=None):
|
|
298
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
299
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
300
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
301
|
+
if opts.id is None:
|
|
302
|
+
if __props__ is not None:
|
|
303
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
304
|
+
__props__ = SecretArgs.__new__(SecretArgs)
|
|
305
|
+
|
|
306
|
+
if data_json is None and not opts.urn:
|
|
307
|
+
raise TypeError("Missing required property 'data_json'")
|
|
308
|
+
__props__.__dict__["data_json"] = None if data_json is None else pulumi.Output.secret(data_json)
|
|
309
|
+
__props__.__dict__["namespace"] = namespace
|
|
310
|
+
if path is None and not opts.urn:
|
|
311
|
+
raise TypeError("Missing required property 'path'")
|
|
312
|
+
__props__.__dict__["path"] = path
|
|
313
|
+
__props__.__dict__["data"] = None
|
|
314
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["data", "dataJson"])
|
|
315
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
|
316
|
+
super(Secret, __self__).__init__(
|
|
317
|
+
'vault:kv/secret:Secret',
|
|
318
|
+
resource_name,
|
|
319
|
+
__props__,
|
|
320
|
+
opts)
|
|
321
|
+
|
|
322
|
+
@staticmethod
|
|
323
|
+
def get(resource_name: str,
|
|
324
|
+
id: pulumi.Input[str],
|
|
325
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
326
|
+
data: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
327
|
+
data_json: Optional[pulumi.Input[_builtins.str]] = None,
|
|
328
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
329
|
+
path: Optional[pulumi.Input[_builtins.str]] = None) -> 'Secret':
|
|
330
|
+
"""
|
|
331
|
+
Get an existing Secret resource's state with the given name, id, and optional extra
|
|
332
|
+
properties used to qualify the lookup.
|
|
333
|
+
|
|
334
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
335
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
336
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
337
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] data: A mapping whose keys are the top-level data keys returned from
|
|
338
|
+
Vault and whose values are the corresponding values. This map can only
|
|
339
|
+
represent string data, so any non-string values returned from Vault are
|
|
340
|
+
serialized as JSON.
|
|
341
|
+
:param pulumi.Input[_builtins.str] data_json: JSON-encoded string that will be
|
|
342
|
+
written as the secret data at the given path.
|
|
343
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
344
|
+
The value should not contain leading or trailing forward slashes.
|
|
345
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
346
|
+
*Available only for Vault Enterprise*.
|
|
347
|
+
:param pulumi.Input[_builtins.str] path: Full path of the KV-V1 secret.
|
|
348
|
+
"""
|
|
349
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
350
|
+
|
|
351
|
+
__props__ = _SecretState.__new__(_SecretState)
|
|
352
|
+
|
|
353
|
+
__props__.__dict__["data"] = data
|
|
354
|
+
__props__.__dict__["data_json"] = data_json
|
|
355
|
+
__props__.__dict__["namespace"] = namespace
|
|
356
|
+
__props__.__dict__["path"] = path
|
|
357
|
+
return Secret(resource_name, opts=opts, __props__=__props__)
|
|
358
|
+
|
|
359
|
+
@_builtins.property
|
|
360
|
+
@pulumi.getter
|
|
361
|
+
def data(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
|
|
362
|
+
"""
|
|
363
|
+
A mapping whose keys are the top-level data keys returned from
|
|
364
|
+
Vault and whose values are the corresponding values. This map can only
|
|
365
|
+
represent string data, so any non-string values returned from Vault are
|
|
366
|
+
serialized as JSON.
|
|
367
|
+
"""
|
|
368
|
+
return pulumi.get(self, "data")
|
|
369
|
+
|
|
370
|
+
@_builtins.property
|
|
371
|
+
@pulumi.getter(name="dataJson")
|
|
372
|
+
def data_json(self) -> pulumi.Output[_builtins.str]:
|
|
373
|
+
"""
|
|
374
|
+
JSON-encoded string that will be
|
|
375
|
+
written as the secret data at the given path.
|
|
376
|
+
"""
|
|
377
|
+
return pulumi.get(self, "data_json")
|
|
378
|
+
|
|
379
|
+
@_builtins.property
|
|
380
|
+
@pulumi.getter
|
|
381
|
+
def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
382
|
+
"""
|
|
383
|
+
The namespace to provision the resource in.
|
|
384
|
+
The value should not contain leading or trailing forward slashes.
|
|
385
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
386
|
+
*Available only for Vault Enterprise*.
|
|
387
|
+
"""
|
|
388
|
+
return pulumi.get(self, "namespace")
|
|
389
|
+
|
|
390
|
+
@_builtins.property
|
|
391
|
+
@pulumi.getter
|
|
392
|
+
def path(self) -> pulumi.Output[_builtins.str]:
|
|
393
|
+
"""
|
|
394
|
+
Full path of the KV-V1 secret.
|
|
395
|
+
"""
|
|
396
|
+
return pulumi.get(self, "path")
|
|
397
|
+
|