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,2018 @@
|
|
|
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__ = ['SecretBackendArgs', 'SecretBackend']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class SecretBackendArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
access_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
23
|
+
allowed_managed_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
24
|
+
allowed_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
25
|
+
audit_non_hmac_request_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
26
|
+
audit_non_hmac_response_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
27
|
+
default_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
|
28
|
+
delegated_auth_accessors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
29
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
30
|
+
disable_automated_rotation: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
31
|
+
disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
32
|
+
external_entropy_access: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
33
|
+
force_no_cache: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
34
|
+
iam_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
|
35
|
+
identity_token_audience: Optional[pulumi.Input[_builtins.str]] = None,
|
|
36
|
+
identity_token_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
37
|
+
identity_token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
38
|
+
listing_visibility: Optional[pulumi.Input[_builtins.str]] = None,
|
|
39
|
+
local: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
40
|
+
max_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
|
41
|
+
max_retries: Optional[pulumi.Input[_builtins.int]] = None,
|
|
42
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
43
|
+
options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
44
|
+
passthrough_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
45
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
|
46
|
+
plugin_version: Optional[pulumi.Input[_builtins.str]] = None,
|
|
47
|
+
region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
48
|
+
role_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
49
|
+
rotation_period: Optional[pulumi.Input[_builtins.int]] = None,
|
|
50
|
+
rotation_schedule: Optional[pulumi.Input[_builtins.str]] = None,
|
|
51
|
+
rotation_window: Optional[pulumi.Input[_builtins.int]] = None,
|
|
52
|
+
seal_wrap: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
53
|
+
secret_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
54
|
+
sts_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
|
55
|
+
sts_fallback_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
56
|
+
sts_fallback_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
57
|
+
sts_region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
58
|
+
username_template: Optional[pulumi.Input[_builtins.str]] = None):
|
|
59
|
+
"""
|
|
60
|
+
The set of arguments for constructing a SecretBackend resource.
|
|
61
|
+
:param pulumi.Input[_builtins.str] access_key: The AWS Access Key ID this backend should use to
|
|
62
|
+
issue new credentials. Vault uses the official AWS SDK to authenticate, and thus can also use standard AWS environment credentials, shared file credentials or IAM role/ECS task credentials.
|
|
63
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_managed_keys: List of managed key registry entry names that the mount in question is allowed to access
|
|
64
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_response_headers: List of headers to allow and pass from the request to the plugin
|
|
65
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] audit_non_hmac_request_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the request data object.
|
|
66
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] audit_non_hmac_response_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the response data object.
|
|
67
|
+
:param pulumi.Input[_builtins.int] default_lease_ttl_seconds: Default lease duration for secrets in seconds
|
|
68
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] delegated_auth_accessors: List of headers to allow and pass from the request to the plugin
|
|
69
|
+
:param pulumi.Input[_builtins.str] description: Human-friendly description of the mount for the backend.
|
|
70
|
+
:param pulumi.Input[_builtins.bool] disable_automated_rotation: Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.
|
|
71
|
+
:param pulumi.Input[_builtins.bool] disable_remount: If set, opts out of mount migration on path updates.
|
|
72
|
+
See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
|
|
73
|
+
:param pulumi.Input[_builtins.bool] external_entropy_access: Enable the secrets engine to access Vault's external entropy source
|
|
74
|
+
:param pulumi.Input[_builtins.bool] force_no_cache: If set to true, disables caching.
|
|
75
|
+
:param pulumi.Input[_builtins.str] iam_endpoint: Specifies a custom HTTP IAM endpoint to use.
|
|
76
|
+
:param pulumi.Input[_builtins.str] identity_token_audience: The audience claim value. Requires Vault 1.16+.
|
|
77
|
+
:param pulumi.Input[_builtins.str] identity_token_key: The key to use for signing identity tokens.
|
|
78
|
+
:param pulumi.Input[_builtins.int] identity_token_ttl: The TTL of generated identity tokens in seconds. Requires Vault 1.16+.
|
|
79
|
+
:param pulumi.Input[_builtins.str] listing_visibility: Specifies whether to show this mount in the UI-specific listing endpoint
|
|
80
|
+
:param pulumi.Input[_builtins.bool] local: Specifies if the secret backend is local only
|
|
81
|
+
:param pulumi.Input[_builtins.int] max_lease_ttl_seconds: Maximum possible lease duration for secrets in seconds
|
|
82
|
+
:param pulumi.Input[_builtins.int] max_retries: Number of max retries the client should use for recoverable errors.
|
|
83
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
84
|
+
The value should not contain leading or trailing forward slashes.
|
|
85
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
86
|
+
*Available only for Vault Enterprise*.
|
|
87
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] options: Specifies mount type specific options that are passed to the backend
|
|
88
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] passthrough_request_headers: List of headers to allow and pass from the request to the plugin
|
|
89
|
+
:param pulumi.Input[_builtins.str] path: The unique path this backend should be mounted at. Must
|
|
90
|
+
not begin or end with a `/`. Defaults to `aws`.
|
|
91
|
+
:param pulumi.Input[_builtins.str] plugin_version: Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
|
|
92
|
+
:param pulumi.Input[_builtins.str] region: The AWS region to make API calls against. Defaults to us-east-1.
|
|
93
|
+
:param pulumi.Input[_builtins.str] role_arn: Role ARN to assume for plugin identity token federation. Requires Vault 1.16+.
|
|
94
|
+
:param pulumi.Input[_builtins.int] rotation_period: The amount of time in seconds Vault should wait before rotating the root credential.
|
|
95
|
+
A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.
|
|
96
|
+
:param pulumi.Input[_builtins.str] rotation_schedule: The schedule, in [cron-style time format](https://en.wikipedia.org/wiki/Cron),
|
|
97
|
+
defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.
|
|
98
|
+
:param pulumi.Input[_builtins.int] rotation_window: The maximum amount of time in seconds allowed to complete
|
|
99
|
+
a rotation when a scheduled token rotation occurs. The default rotation window is
|
|
100
|
+
unbound and the minimum allowable window is `3600`. Requires Vault Enterprise 1.19+.
|
|
101
|
+
:param pulumi.Input[_builtins.bool] seal_wrap: Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
|
|
102
|
+
:param pulumi.Input[_builtins.str] secret_key: The AWS Secret Access Key to use when generating new credentials.
|
|
103
|
+
:param pulumi.Input[_builtins.str] sts_endpoint: Specifies a custom HTTP STS endpoint to use.
|
|
104
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] sts_fallback_endpoints: Ordered list of `sts_endpoint`s to try if the defined one fails. Requires Vault 1.19+
|
|
105
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] sts_fallback_regions: Ordered list of `sts_region`s matching the fallback endpoints. Should correspond in order with those endpoints. Requires Vault 1.19+
|
|
106
|
+
:param pulumi.Input[_builtins.str] sts_region: Specifies the region of the STS endpoint. Should be included if `sts_endpoint` is supplied. Requires Vault 1.19+
|
|
107
|
+
:param pulumi.Input[_builtins.str] username_template: Template describing how dynamic usernames are generated. The username template is used to generate both IAM usernames (capped at 64 characters) and STS usernames (capped at 32 characters). If no template is provided the field defaults to the template:
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
{{ if (eq .Type "STS") }}
|
|
111
|
+
{{ printf "vault-%s-%s" (unix_time) (random 20) | truncate 32 }}
|
|
112
|
+
{{ else }}
|
|
113
|
+
{{ printf "vault-%s-%s-%s" (printf "%s-%s" (.DisplayName) (.PolicyName) | truncate 42) (unix_time) (random 20) | truncate 64 }}
|
|
114
|
+
{{ end }}
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
"""
|
|
118
|
+
if access_key is not None:
|
|
119
|
+
pulumi.set(__self__, "access_key", access_key)
|
|
120
|
+
if allowed_managed_keys is not None:
|
|
121
|
+
pulumi.set(__self__, "allowed_managed_keys", allowed_managed_keys)
|
|
122
|
+
if allowed_response_headers is not None:
|
|
123
|
+
pulumi.set(__self__, "allowed_response_headers", allowed_response_headers)
|
|
124
|
+
if audit_non_hmac_request_keys is not None:
|
|
125
|
+
pulumi.set(__self__, "audit_non_hmac_request_keys", audit_non_hmac_request_keys)
|
|
126
|
+
if audit_non_hmac_response_keys is not None:
|
|
127
|
+
pulumi.set(__self__, "audit_non_hmac_response_keys", audit_non_hmac_response_keys)
|
|
128
|
+
if default_lease_ttl_seconds is not None:
|
|
129
|
+
pulumi.set(__self__, "default_lease_ttl_seconds", default_lease_ttl_seconds)
|
|
130
|
+
if delegated_auth_accessors is not None:
|
|
131
|
+
pulumi.set(__self__, "delegated_auth_accessors", delegated_auth_accessors)
|
|
132
|
+
if description is not None:
|
|
133
|
+
pulumi.set(__self__, "description", description)
|
|
134
|
+
if disable_automated_rotation is not None:
|
|
135
|
+
pulumi.set(__self__, "disable_automated_rotation", disable_automated_rotation)
|
|
136
|
+
if disable_remount is not None:
|
|
137
|
+
pulumi.set(__self__, "disable_remount", disable_remount)
|
|
138
|
+
if external_entropy_access is not None:
|
|
139
|
+
pulumi.set(__self__, "external_entropy_access", external_entropy_access)
|
|
140
|
+
if force_no_cache is not None:
|
|
141
|
+
pulumi.set(__self__, "force_no_cache", force_no_cache)
|
|
142
|
+
if iam_endpoint is not None:
|
|
143
|
+
pulumi.set(__self__, "iam_endpoint", iam_endpoint)
|
|
144
|
+
if identity_token_audience is not None:
|
|
145
|
+
pulumi.set(__self__, "identity_token_audience", identity_token_audience)
|
|
146
|
+
if identity_token_key is not None:
|
|
147
|
+
pulumi.set(__self__, "identity_token_key", identity_token_key)
|
|
148
|
+
if identity_token_ttl is not None:
|
|
149
|
+
pulumi.set(__self__, "identity_token_ttl", identity_token_ttl)
|
|
150
|
+
if listing_visibility is not None:
|
|
151
|
+
pulumi.set(__self__, "listing_visibility", listing_visibility)
|
|
152
|
+
if local is not None:
|
|
153
|
+
pulumi.set(__self__, "local", local)
|
|
154
|
+
if max_lease_ttl_seconds is not None:
|
|
155
|
+
pulumi.set(__self__, "max_lease_ttl_seconds", max_lease_ttl_seconds)
|
|
156
|
+
if max_retries is not None:
|
|
157
|
+
pulumi.set(__self__, "max_retries", max_retries)
|
|
158
|
+
if namespace is not None:
|
|
159
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
160
|
+
if options is not None:
|
|
161
|
+
pulumi.set(__self__, "options", options)
|
|
162
|
+
if passthrough_request_headers is not None:
|
|
163
|
+
pulumi.set(__self__, "passthrough_request_headers", passthrough_request_headers)
|
|
164
|
+
if path is not None:
|
|
165
|
+
pulumi.set(__self__, "path", path)
|
|
166
|
+
if plugin_version is not None:
|
|
167
|
+
pulumi.set(__self__, "plugin_version", plugin_version)
|
|
168
|
+
if region is not None:
|
|
169
|
+
pulumi.set(__self__, "region", region)
|
|
170
|
+
if role_arn is not None:
|
|
171
|
+
pulumi.set(__self__, "role_arn", role_arn)
|
|
172
|
+
if rotation_period is not None:
|
|
173
|
+
pulumi.set(__self__, "rotation_period", rotation_period)
|
|
174
|
+
if rotation_schedule is not None:
|
|
175
|
+
pulumi.set(__self__, "rotation_schedule", rotation_schedule)
|
|
176
|
+
if rotation_window is not None:
|
|
177
|
+
pulumi.set(__self__, "rotation_window", rotation_window)
|
|
178
|
+
if seal_wrap is not None:
|
|
179
|
+
pulumi.set(__self__, "seal_wrap", seal_wrap)
|
|
180
|
+
if secret_key is not None:
|
|
181
|
+
pulumi.set(__self__, "secret_key", secret_key)
|
|
182
|
+
if sts_endpoint is not None:
|
|
183
|
+
pulumi.set(__self__, "sts_endpoint", sts_endpoint)
|
|
184
|
+
if sts_fallback_endpoints is not None:
|
|
185
|
+
pulumi.set(__self__, "sts_fallback_endpoints", sts_fallback_endpoints)
|
|
186
|
+
if sts_fallback_regions is not None:
|
|
187
|
+
pulumi.set(__self__, "sts_fallback_regions", sts_fallback_regions)
|
|
188
|
+
if sts_region is not None:
|
|
189
|
+
pulumi.set(__self__, "sts_region", sts_region)
|
|
190
|
+
if username_template is not None:
|
|
191
|
+
pulumi.set(__self__, "username_template", username_template)
|
|
192
|
+
|
|
193
|
+
@_builtins.property
|
|
194
|
+
@pulumi.getter(name="accessKey")
|
|
195
|
+
def access_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
196
|
+
"""
|
|
197
|
+
The AWS Access Key ID this backend should use to
|
|
198
|
+
issue new credentials. Vault uses the official AWS SDK to authenticate, and thus can also use standard AWS environment credentials, shared file credentials or IAM role/ECS task credentials.
|
|
199
|
+
"""
|
|
200
|
+
return pulumi.get(self, "access_key")
|
|
201
|
+
|
|
202
|
+
@access_key.setter
|
|
203
|
+
def access_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
204
|
+
pulumi.set(self, "access_key", value)
|
|
205
|
+
|
|
206
|
+
@_builtins.property
|
|
207
|
+
@pulumi.getter(name="allowedManagedKeys")
|
|
208
|
+
def allowed_managed_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
209
|
+
"""
|
|
210
|
+
List of managed key registry entry names that the mount in question is allowed to access
|
|
211
|
+
"""
|
|
212
|
+
return pulumi.get(self, "allowed_managed_keys")
|
|
213
|
+
|
|
214
|
+
@allowed_managed_keys.setter
|
|
215
|
+
def allowed_managed_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
216
|
+
pulumi.set(self, "allowed_managed_keys", value)
|
|
217
|
+
|
|
218
|
+
@_builtins.property
|
|
219
|
+
@pulumi.getter(name="allowedResponseHeaders")
|
|
220
|
+
def allowed_response_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
221
|
+
"""
|
|
222
|
+
List of headers to allow and pass from the request to the plugin
|
|
223
|
+
"""
|
|
224
|
+
return pulumi.get(self, "allowed_response_headers")
|
|
225
|
+
|
|
226
|
+
@allowed_response_headers.setter
|
|
227
|
+
def allowed_response_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
228
|
+
pulumi.set(self, "allowed_response_headers", value)
|
|
229
|
+
|
|
230
|
+
@_builtins.property
|
|
231
|
+
@pulumi.getter(name="auditNonHmacRequestKeys")
|
|
232
|
+
def audit_non_hmac_request_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
233
|
+
"""
|
|
234
|
+
Specifies the list of keys that will not be HMAC'd by audit devices in the request data object.
|
|
235
|
+
"""
|
|
236
|
+
return pulumi.get(self, "audit_non_hmac_request_keys")
|
|
237
|
+
|
|
238
|
+
@audit_non_hmac_request_keys.setter
|
|
239
|
+
def audit_non_hmac_request_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
240
|
+
pulumi.set(self, "audit_non_hmac_request_keys", value)
|
|
241
|
+
|
|
242
|
+
@_builtins.property
|
|
243
|
+
@pulumi.getter(name="auditNonHmacResponseKeys")
|
|
244
|
+
def audit_non_hmac_response_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
245
|
+
"""
|
|
246
|
+
Specifies the list of keys that will not be HMAC'd by audit devices in the response data object.
|
|
247
|
+
"""
|
|
248
|
+
return pulumi.get(self, "audit_non_hmac_response_keys")
|
|
249
|
+
|
|
250
|
+
@audit_non_hmac_response_keys.setter
|
|
251
|
+
def audit_non_hmac_response_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
252
|
+
pulumi.set(self, "audit_non_hmac_response_keys", value)
|
|
253
|
+
|
|
254
|
+
@_builtins.property
|
|
255
|
+
@pulumi.getter(name="defaultLeaseTtlSeconds")
|
|
256
|
+
def default_lease_ttl_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
257
|
+
"""
|
|
258
|
+
Default lease duration for secrets in seconds
|
|
259
|
+
"""
|
|
260
|
+
return pulumi.get(self, "default_lease_ttl_seconds")
|
|
261
|
+
|
|
262
|
+
@default_lease_ttl_seconds.setter
|
|
263
|
+
def default_lease_ttl_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
264
|
+
pulumi.set(self, "default_lease_ttl_seconds", value)
|
|
265
|
+
|
|
266
|
+
@_builtins.property
|
|
267
|
+
@pulumi.getter(name="delegatedAuthAccessors")
|
|
268
|
+
def delegated_auth_accessors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
269
|
+
"""
|
|
270
|
+
List of headers to allow and pass from the request to the plugin
|
|
271
|
+
"""
|
|
272
|
+
return pulumi.get(self, "delegated_auth_accessors")
|
|
273
|
+
|
|
274
|
+
@delegated_auth_accessors.setter
|
|
275
|
+
def delegated_auth_accessors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
276
|
+
pulumi.set(self, "delegated_auth_accessors", value)
|
|
277
|
+
|
|
278
|
+
@_builtins.property
|
|
279
|
+
@pulumi.getter
|
|
280
|
+
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
281
|
+
"""
|
|
282
|
+
Human-friendly description of the mount for the backend.
|
|
283
|
+
"""
|
|
284
|
+
return pulumi.get(self, "description")
|
|
285
|
+
|
|
286
|
+
@description.setter
|
|
287
|
+
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
288
|
+
pulumi.set(self, "description", value)
|
|
289
|
+
|
|
290
|
+
@_builtins.property
|
|
291
|
+
@pulumi.getter(name="disableAutomatedRotation")
|
|
292
|
+
def disable_automated_rotation(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
293
|
+
"""
|
|
294
|
+
Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.
|
|
295
|
+
"""
|
|
296
|
+
return pulumi.get(self, "disable_automated_rotation")
|
|
297
|
+
|
|
298
|
+
@disable_automated_rotation.setter
|
|
299
|
+
def disable_automated_rotation(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
300
|
+
pulumi.set(self, "disable_automated_rotation", value)
|
|
301
|
+
|
|
302
|
+
@_builtins.property
|
|
303
|
+
@pulumi.getter(name="disableRemount")
|
|
304
|
+
def disable_remount(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
305
|
+
"""
|
|
306
|
+
If set, opts out of mount migration on path updates.
|
|
307
|
+
See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
|
|
308
|
+
"""
|
|
309
|
+
return pulumi.get(self, "disable_remount")
|
|
310
|
+
|
|
311
|
+
@disable_remount.setter
|
|
312
|
+
def disable_remount(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
313
|
+
pulumi.set(self, "disable_remount", value)
|
|
314
|
+
|
|
315
|
+
@_builtins.property
|
|
316
|
+
@pulumi.getter(name="externalEntropyAccess")
|
|
317
|
+
def external_entropy_access(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
318
|
+
"""
|
|
319
|
+
Enable the secrets engine to access Vault's external entropy source
|
|
320
|
+
"""
|
|
321
|
+
return pulumi.get(self, "external_entropy_access")
|
|
322
|
+
|
|
323
|
+
@external_entropy_access.setter
|
|
324
|
+
def external_entropy_access(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
325
|
+
pulumi.set(self, "external_entropy_access", value)
|
|
326
|
+
|
|
327
|
+
@_builtins.property
|
|
328
|
+
@pulumi.getter(name="forceNoCache")
|
|
329
|
+
def force_no_cache(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
330
|
+
"""
|
|
331
|
+
If set to true, disables caching.
|
|
332
|
+
"""
|
|
333
|
+
return pulumi.get(self, "force_no_cache")
|
|
334
|
+
|
|
335
|
+
@force_no_cache.setter
|
|
336
|
+
def force_no_cache(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
337
|
+
pulumi.set(self, "force_no_cache", value)
|
|
338
|
+
|
|
339
|
+
@_builtins.property
|
|
340
|
+
@pulumi.getter(name="iamEndpoint")
|
|
341
|
+
def iam_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
342
|
+
"""
|
|
343
|
+
Specifies a custom HTTP IAM endpoint to use.
|
|
344
|
+
"""
|
|
345
|
+
return pulumi.get(self, "iam_endpoint")
|
|
346
|
+
|
|
347
|
+
@iam_endpoint.setter
|
|
348
|
+
def iam_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
349
|
+
pulumi.set(self, "iam_endpoint", value)
|
|
350
|
+
|
|
351
|
+
@_builtins.property
|
|
352
|
+
@pulumi.getter(name="identityTokenAudience")
|
|
353
|
+
def identity_token_audience(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
354
|
+
"""
|
|
355
|
+
The audience claim value. Requires Vault 1.16+.
|
|
356
|
+
"""
|
|
357
|
+
return pulumi.get(self, "identity_token_audience")
|
|
358
|
+
|
|
359
|
+
@identity_token_audience.setter
|
|
360
|
+
def identity_token_audience(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
361
|
+
pulumi.set(self, "identity_token_audience", value)
|
|
362
|
+
|
|
363
|
+
@_builtins.property
|
|
364
|
+
@pulumi.getter(name="identityTokenKey")
|
|
365
|
+
def identity_token_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
366
|
+
"""
|
|
367
|
+
The key to use for signing identity tokens.
|
|
368
|
+
"""
|
|
369
|
+
return pulumi.get(self, "identity_token_key")
|
|
370
|
+
|
|
371
|
+
@identity_token_key.setter
|
|
372
|
+
def identity_token_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
373
|
+
pulumi.set(self, "identity_token_key", value)
|
|
374
|
+
|
|
375
|
+
@_builtins.property
|
|
376
|
+
@pulumi.getter(name="identityTokenTtl")
|
|
377
|
+
def identity_token_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
378
|
+
"""
|
|
379
|
+
The TTL of generated identity tokens in seconds. Requires Vault 1.16+.
|
|
380
|
+
"""
|
|
381
|
+
return pulumi.get(self, "identity_token_ttl")
|
|
382
|
+
|
|
383
|
+
@identity_token_ttl.setter
|
|
384
|
+
def identity_token_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
385
|
+
pulumi.set(self, "identity_token_ttl", value)
|
|
386
|
+
|
|
387
|
+
@_builtins.property
|
|
388
|
+
@pulumi.getter(name="listingVisibility")
|
|
389
|
+
def listing_visibility(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
390
|
+
"""
|
|
391
|
+
Specifies whether to show this mount in the UI-specific listing endpoint
|
|
392
|
+
"""
|
|
393
|
+
return pulumi.get(self, "listing_visibility")
|
|
394
|
+
|
|
395
|
+
@listing_visibility.setter
|
|
396
|
+
def listing_visibility(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
397
|
+
pulumi.set(self, "listing_visibility", value)
|
|
398
|
+
|
|
399
|
+
@_builtins.property
|
|
400
|
+
@pulumi.getter
|
|
401
|
+
def local(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
402
|
+
"""
|
|
403
|
+
Specifies if the secret backend is local only
|
|
404
|
+
"""
|
|
405
|
+
return pulumi.get(self, "local")
|
|
406
|
+
|
|
407
|
+
@local.setter
|
|
408
|
+
def local(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
409
|
+
pulumi.set(self, "local", value)
|
|
410
|
+
|
|
411
|
+
@_builtins.property
|
|
412
|
+
@pulumi.getter(name="maxLeaseTtlSeconds")
|
|
413
|
+
def max_lease_ttl_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
414
|
+
"""
|
|
415
|
+
Maximum possible lease duration for secrets in seconds
|
|
416
|
+
"""
|
|
417
|
+
return pulumi.get(self, "max_lease_ttl_seconds")
|
|
418
|
+
|
|
419
|
+
@max_lease_ttl_seconds.setter
|
|
420
|
+
def max_lease_ttl_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
421
|
+
pulumi.set(self, "max_lease_ttl_seconds", value)
|
|
422
|
+
|
|
423
|
+
@_builtins.property
|
|
424
|
+
@pulumi.getter(name="maxRetries")
|
|
425
|
+
def max_retries(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
426
|
+
"""
|
|
427
|
+
Number of max retries the client should use for recoverable errors.
|
|
428
|
+
"""
|
|
429
|
+
return pulumi.get(self, "max_retries")
|
|
430
|
+
|
|
431
|
+
@max_retries.setter
|
|
432
|
+
def max_retries(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
433
|
+
pulumi.set(self, "max_retries", value)
|
|
434
|
+
|
|
435
|
+
@_builtins.property
|
|
436
|
+
@pulumi.getter
|
|
437
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
438
|
+
"""
|
|
439
|
+
The namespace to provision the resource in.
|
|
440
|
+
The value should not contain leading or trailing forward slashes.
|
|
441
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
442
|
+
*Available only for Vault Enterprise*.
|
|
443
|
+
"""
|
|
444
|
+
return pulumi.get(self, "namespace")
|
|
445
|
+
|
|
446
|
+
@namespace.setter
|
|
447
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
448
|
+
pulumi.set(self, "namespace", value)
|
|
449
|
+
|
|
450
|
+
@_builtins.property
|
|
451
|
+
@pulumi.getter
|
|
452
|
+
def options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
453
|
+
"""
|
|
454
|
+
Specifies mount type specific options that are passed to the backend
|
|
455
|
+
"""
|
|
456
|
+
return pulumi.get(self, "options")
|
|
457
|
+
|
|
458
|
+
@options.setter
|
|
459
|
+
def options(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
460
|
+
pulumi.set(self, "options", value)
|
|
461
|
+
|
|
462
|
+
@_builtins.property
|
|
463
|
+
@pulumi.getter(name="passthroughRequestHeaders")
|
|
464
|
+
def passthrough_request_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
465
|
+
"""
|
|
466
|
+
List of headers to allow and pass from the request to the plugin
|
|
467
|
+
"""
|
|
468
|
+
return pulumi.get(self, "passthrough_request_headers")
|
|
469
|
+
|
|
470
|
+
@passthrough_request_headers.setter
|
|
471
|
+
def passthrough_request_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
472
|
+
pulumi.set(self, "passthrough_request_headers", value)
|
|
473
|
+
|
|
474
|
+
@_builtins.property
|
|
475
|
+
@pulumi.getter
|
|
476
|
+
def path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
477
|
+
"""
|
|
478
|
+
The unique path this backend should be mounted at. Must
|
|
479
|
+
not begin or end with a `/`. Defaults to `aws`.
|
|
480
|
+
"""
|
|
481
|
+
return pulumi.get(self, "path")
|
|
482
|
+
|
|
483
|
+
@path.setter
|
|
484
|
+
def path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
485
|
+
pulumi.set(self, "path", value)
|
|
486
|
+
|
|
487
|
+
@_builtins.property
|
|
488
|
+
@pulumi.getter(name="pluginVersion")
|
|
489
|
+
def plugin_version(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
490
|
+
"""
|
|
491
|
+
Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
|
|
492
|
+
"""
|
|
493
|
+
return pulumi.get(self, "plugin_version")
|
|
494
|
+
|
|
495
|
+
@plugin_version.setter
|
|
496
|
+
def plugin_version(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
497
|
+
pulumi.set(self, "plugin_version", value)
|
|
498
|
+
|
|
499
|
+
@_builtins.property
|
|
500
|
+
@pulumi.getter
|
|
501
|
+
def region(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
502
|
+
"""
|
|
503
|
+
The AWS region to make API calls against. Defaults to us-east-1.
|
|
504
|
+
"""
|
|
505
|
+
return pulumi.get(self, "region")
|
|
506
|
+
|
|
507
|
+
@region.setter
|
|
508
|
+
def region(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
509
|
+
pulumi.set(self, "region", value)
|
|
510
|
+
|
|
511
|
+
@_builtins.property
|
|
512
|
+
@pulumi.getter(name="roleArn")
|
|
513
|
+
def role_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
514
|
+
"""
|
|
515
|
+
Role ARN to assume for plugin identity token federation. Requires Vault 1.16+.
|
|
516
|
+
"""
|
|
517
|
+
return pulumi.get(self, "role_arn")
|
|
518
|
+
|
|
519
|
+
@role_arn.setter
|
|
520
|
+
def role_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
521
|
+
pulumi.set(self, "role_arn", value)
|
|
522
|
+
|
|
523
|
+
@_builtins.property
|
|
524
|
+
@pulumi.getter(name="rotationPeriod")
|
|
525
|
+
def rotation_period(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
526
|
+
"""
|
|
527
|
+
The amount of time in seconds Vault should wait before rotating the root credential.
|
|
528
|
+
A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.
|
|
529
|
+
"""
|
|
530
|
+
return pulumi.get(self, "rotation_period")
|
|
531
|
+
|
|
532
|
+
@rotation_period.setter
|
|
533
|
+
def rotation_period(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
534
|
+
pulumi.set(self, "rotation_period", value)
|
|
535
|
+
|
|
536
|
+
@_builtins.property
|
|
537
|
+
@pulumi.getter(name="rotationSchedule")
|
|
538
|
+
def rotation_schedule(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
539
|
+
"""
|
|
540
|
+
The schedule, in [cron-style time format](https://en.wikipedia.org/wiki/Cron),
|
|
541
|
+
defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.
|
|
542
|
+
"""
|
|
543
|
+
return pulumi.get(self, "rotation_schedule")
|
|
544
|
+
|
|
545
|
+
@rotation_schedule.setter
|
|
546
|
+
def rotation_schedule(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
547
|
+
pulumi.set(self, "rotation_schedule", value)
|
|
548
|
+
|
|
549
|
+
@_builtins.property
|
|
550
|
+
@pulumi.getter(name="rotationWindow")
|
|
551
|
+
def rotation_window(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
552
|
+
"""
|
|
553
|
+
The maximum amount of time in seconds allowed to complete
|
|
554
|
+
a rotation when a scheduled token rotation occurs. The default rotation window is
|
|
555
|
+
unbound and the minimum allowable window is `3600`. Requires Vault Enterprise 1.19+.
|
|
556
|
+
"""
|
|
557
|
+
return pulumi.get(self, "rotation_window")
|
|
558
|
+
|
|
559
|
+
@rotation_window.setter
|
|
560
|
+
def rotation_window(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
561
|
+
pulumi.set(self, "rotation_window", value)
|
|
562
|
+
|
|
563
|
+
@_builtins.property
|
|
564
|
+
@pulumi.getter(name="sealWrap")
|
|
565
|
+
def seal_wrap(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
566
|
+
"""
|
|
567
|
+
Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
|
|
568
|
+
"""
|
|
569
|
+
return pulumi.get(self, "seal_wrap")
|
|
570
|
+
|
|
571
|
+
@seal_wrap.setter
|
|
572
|
+
def seal_wrap(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
573
|
+
pulumi.set(self, "seal_wrap", value)
|
|
574
|
+
|
|
575
|
+
@_builtins.property
|
|
576
|
+
@pulumi.getter(name="secretKey")
|
|
577
|
+
def secret_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
578
|
+
"""
|
|
579
|
+
The AWS Secret Access Key to use when generating new credentials.
|
|
580
|
+
"""
|
|
581
|
+
return pulumi.get(self, "secret_key")
|
|
582
|
+
|
|
583
|
+
@secret_key.setter
|
|
584
|
+
def secret_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
585
|
+
pulumi.set(self, "secret_key", value)
|
|
586
|
+
|
|
587
|
+
@_builtins.property
|
|
588
|
+
@pulumi.getter(name="stsEndpoint")
|
|
589
|
+
def sts_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
590
|
+
"""
|
|
591
|
+
Specifies a custom HTTP STS endpoint to use.
|
|
592
|
+
"""
|
|
593
|
+
return pulumi.get(self, "sts_endpoint")
|
|
594
|
+
|
|
595
|
+
@sts_endpoint.setter
|
|
596
|
+
def sts_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
597
|
+
pulumi.set(self, "sts_endpoint", value)
|
|
598
|
+
|
|
599
|
+
@_builtins.property
|
|
600
|
+
@pulumi.getter(name="stsFallbackEndpoints")
|
|
601
|
+
def sts_fallback_endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
602
|
+
"""
|
|
603
|
+
Ordered list of `sts_endpoint`s to try if the defined one fails. Requires Vault 1.19+
|
|
604
|
+
"""
|
|
605
|
+
return pulumi.get(self, "sts_fallback_endpoints")
|
|
606
|
+
|
|
607
|
+
@sts_fallback_endpoints.setter
|
|
608
|
+
def sts_fallback_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
609
|
+
pulumi.set(self, "sts_fallback_endpoints", value)
|
|
610
|
+
|
|
611
|
+
@_builtins.property
|
|
612
|
+
@pulumi.getter(name="stsFallbackRegions")
|
|
613
|
+
def sts_fallback_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
614
|
+
"""
|
|
615
|
+
Ordered list of `sts_region`s matching the fallback endpoints. Should correspond in order with those endpoints. Requires Vault 1.19+
|
|
616
|
+
"""
|
|
617
|
+
return pulumi.get(self, "sts_fallback_regions")
|
|
618
|
+
|
|
619
|
+
@sts_fallback_regions.setter
|
|
620
|
+
def sts_fallback_regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
621
|
+
pulumi.set(self, "sts_fallback_regions", value)
|
|
622
|
+
|
|
623
|
+
@_builtins.property
|
|
624
|
+
@pulumi.getter(name="stsRegion")
|
|
625
|
+
def sts_region(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
626
|
+
"""
|
|
627
|
+
Specifies the region of the STS endpoint. Should be included if `sts_endpoint` is supplied. Requires Vault 1.19+
|
|
628
|
+
"""
|
|
629
|
+
return pulumi.get(self, "sts_region")
|
|
630
|
+
|
|
631
|
+
@sts_region.setter
|
|
632
|
+
def sts_region(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
633
|
+
pulumi.set(self, "sts_region", value)
|
|
634
|
+
|
|
635
|
+
@_builtins.property
|
|
636
|
+
@pulumi.getter(name="usernameTemplate")
|
|
637
|
+
def username_template(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
638
|
+
"""
|
|
639
|
+
Template describing how dynamic usernames are generated. The username template is used to generate both IAM usernames (capped at 64 characters) and STS usernames (capped at 32 characters). If no template is provided the field defaults to the template:
|
|
640
|
+
|
|
641
|
+
```
|
|
642
|
+
{{ if (eq .Type "STS") }}
|
|
643
|
+
{{ printf "vault-%s-%s" (unix_time) (random 20) | truncate 32 }}
|
|
644
|
+
{{ else }}
|
|
645
|
+
{{ printf "vault-%s-%s-%s" (printf "%s-%s" (.DisplayName) (.PolicyName) | truncate 42) (unix_time) (random 20) | truncate 64 }}
|
|
646
|
+
{{ end }}
|
|
647
|
+
|
|
648
|
+
```
|
|
649
|
+
"""
|
|
650
|
+
return pulumi.get(self, "username_template")
|
|
651
|
+
|
|
652
|
+
@username_template.setter
|
|
653
|
+
def username_template(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
654
|
+
pulumi.set(self, "username_template", value)
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
@pulumi.input_type
|
|
658
|
+
class _SecretBackendState:
|
|
659
|
+
def __init__(__self__, *,
|
|
660
|
+
access_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
661
|
+
accessor: Optional[pulumi.Input[_builtins.str]] = None,
|
|
662
|
+
allowed_managed_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
663
|
+
allowed_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
664
|
+
audit_non_hmac_request_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
665
|
+
audit_non_hmac_response_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
666
|
+
default_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
|
667
|
+
delegated_auth_accessors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
668
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
669
|
+
disable_automated_rotation: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
670
|
+
disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
671
|
+
external_entropy_access: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
672
|
+
force_no_cache: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
673
|
+
iam_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
|
674
|
+
identity_token_audience: Optional[pulumi.Input[_builtins.str]] = None,
|
|
675
|
+
identity_token_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
676
|
+
identity_token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
677
|
+
listing_visibility: Optional[pulumi.Input[_builtins.str]] = None,
|
|
678
|
+
local: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
679
|
+
max_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
|
680
|
+
max_retries: Optional[pulumi.Input[_builtins.int]] = None,
|
|
681
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
682
|
+
options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
683
|
+
passthrough_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
684
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
|
685
|
+
plugin_version: Optional[pulumi.Input[_builtins.str]] = None,
|
|
686
|
+
region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
687
|
+
role_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
688
|
+
rotation_period: Optional[pulumi.Input[_builtins.int]] = None,
|
|
689
|
+
rotation_schedule: Optional[pulumi.Input[_builtins.str]] = None,
|
|
690
|
+
rotation_window: Optional[pulumi.Input[_builtins.int]] = None,
|
|
691
|
+
seal_wrap: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
692
|
+
secret_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
693
|
+
sts_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
|
694
|
+
sts_fallback_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
695
|
+
sts_fallback_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
696
|
+
sts_region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
697
|
+
username_template: Optional[pulumi.Input[_builtins.str]] = None):
|
|
698
|
+
"""
|
|
699
|
+
Input properties used for looking up and filtering SecretBackend resources.
|
|
700
|
+
:param pulumi.Input[_builtins.str] access_key: The AWS Access Key ID this backend should use to
|
|
701
|
+
issue new credentials. Vault uses the official AWS SDK to authenticate, and thus can also use standard AWS environment credentials, shared file credentials or IAM role/ECS task credentials.
|
|
702
|
+
:param pulumi.Input[_builtins.str] accessor: Accessor of the mount
|
|
703
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_managed_keys: List of managed key registry entry names that the mount in question is allowed to access
|
|
704
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_response_headers: List of headers to allow and pass from the request to the plugin
|
|
705
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] audit_non_hmac_request_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the request data object.
|
|
706
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] audit_non_hmac_response_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the response data object.
|
|
707
|
+
:param pulumi.Input[_builtins.int] default_lease_ttl_seconds: Default lease duration for secrets in seconds
|
|
708
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] delegated_auth_accessors: List of headers to allow and pass from the request to the plugin
|
|
709
|
+
:param pulumi.Input[_builtins.str] description: Human-friendly description of the mount for the backend.
|
|
710
|
+
:param pulumi.Input[_builtins.bool] disable_automated_rotation: Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.
|
|
711
|
+
:param pulumi.Input[_builtins.bool] disable_remount: If set, opts out of mount migration on path updates.
|
|
712
|
+
See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
|
|
713
|
+
:param pulumi.Input[_builtins.bool] external_entropy_access: Enable the secrets engine to access Vault's external entropy source
|
|
714
|
+
:param pulumi.Input[_builtins.bool] force_no_cache: If set to true, disables caching.
|
|
715
|
+
:param pulumi.Input[_builtins.str] iam_endpoint: Specifies a custom HTTP IAM endpoint to use.
|
|
716
|
+
:param pulumi.Input[_builtins.str] identity_token_audience: The audience claim value. Requires Vault 1.16+.
|
|
717
|
+
:param pulumi.Input[_builtins.str] identity_token_key: The key to use for signing identity tokens.
|
|
718
|
+
:param pulumi.Input[_builtins.int] identity_token_ttl: The TTL of generated identity tokens in seconds. Requires Vault 1.16+.
|
|
719
|
+
:param pulumi.Input[_builtins.str] listing_visibility: Specifies whether to show this mount in the UI-specific listing endpoint
|
|
720
|
+
:param pulumi.Input[_builtins.bool] local: Specifies if the secret backend is local only
|
|
721
|
+
:param pulumi.Input[_builtins.int] max_lease_ttl_seconds: Maximum possible lease duration for secrets in seconds
|
|
722
|
+
:param pulumi.Input[_builtins.int] max_retries: Number of max retries the client should use for recoverable errors.
|
|
723
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
724
|
+
The value should not contain leading or trailing forward slashes.
|
|
725
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
726
|
+
*Available only for Vault Enterprise*.
|
|
727
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] options: Specifies mount type specific options that are passed to the backend
|
|
728
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] passthrough_request_headers: List of headers to allow and pass from the request to the plugin
|
|
729
|
+
:param pulumi.Input[_builtins.str] path: The unique path this backend should be mounted at. Must
|
|
730
|
+
not begin or end with a `/`. Defaults to `aws`.
|
|
731
|
+
:param pulumi.Input[_builtins.str] plugin_version: Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
|
|
732
|
+
:param pulumi.Input[_builtins.str] region: The AWS region to make API calls against. Defaults to us-east-1.
|
|
733
|
+
:param pulumi.Input[_builtins.str] role_arn: Role ARN to assume for plugin identity token federation. Requires Vault 1.16+.
|
|
734
|
+
:param pulumi.Input[_builtins.int] rotation_period: The amount of time in seconds Vault should wait before rotating the root credential.
|
|
735
|
+
A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.
|
|
736
|
+
:param pulumi.Input[_builtins.str] rotation_schedule: The schedule, in [cron-style time format](https://en.wikipedia.org/wiki/Cron),
|
|
737
|
+
defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.
|
|
738
|
+
:param pulumi.Input[_builtins.int] rotation_window: The maximum amount of time in seconds allowed to complete
|
|
739
|
+
a rotation when a scheduled token rotation occurs. The default rotation window is
|
|
740
|
+
unbound and the minimum allowable window is `3600`. Requires Vault Enterprise 1.19+.
|
|
741
|
+
:param pulumi.Input[_builtins.bool] seal_wrap: Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
|
|
742
|
+
:param pulumi.Input[_builtins.str] secret_key: The AWS Secret Access Key to use when generating new credentials.
|
|
743
|
+
:param pulumi.Input[_builtins.str] sts_endpoint: Specifies a custom HTTP STS endpoint to use.
|
|
744
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] sts_fallback_endpoints: Ordered list of `sts_endpoint`s to try if the defined one fails. Requires Vault 1.19+
|
|
745
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] sts_fallback_regions: Ordered list of `sts_region`s matching the fallback endpoints. Should correspond in order with those endpoints. Requires Vault 1.19+
|
|
746
|
+
:param pulumi.Input[_builtins.str] sts_region: Specifies the region of the STS endpoint. Should be included if `sts_endpoint` is supplied. Requires Vault 1.19+
|
|
747
|
+
:param pulumi.Input[_builtins.str] username_template: Template describing how dynamic usernames are generated. The username template is used to generate both IAM usernames (capped at 64 characters) and STS usernames (capped at 32 characters). If no template is provided the field defaults to the template:
|
|
748
|
+
|
|
749
|
+
```
|
|
750
|
+
{{ if (eq .Type "STS") }}
|
|
751
|
+
{{ printf "vault-%s-%s" (unix_time) (random 20) | truncate 32 }}
|
|
752
|
+
{{ else }}
|
|
753
|
+
{{ printf "vault-%s-%s-%s" (printf "%s-%s" (.DisplayName) (.PolicyName) | truncate 42) (unix_time) (random 20) | truncate 64 }}
|
|
754
|
+
{{ end }}
|
|
755
|
+
|
|
756
|
+
```
|
|
757
|
+
"""
|
|
758
|
+
if access_key is not None:
|
|
759
|
+
pulumi.set(__self__, "access_key", access_key)
|
|
760
|
+
if accessor is not None:
|
|
761
|
+
pulumi.set(__self__, "accessor", accessor)
|
|
762
|
+
if allowed_managed_keys is not None:
|
|
763
|
+
pulumi.set(__self__, "allowed_managed_keys", allowed_managed_keys)
|
|
764
|
+
if allowed_response_headers is not None:
|
|
765
|
+
pulumi.set(__self__, "allowed_response_headers", allowed_response_headers)
|
|
766
|
+
if audit_non_hmac_request_keys is not None:
|
|
767
|
+
pulumi.set(__self__, "audit_non_hmac_request_keys", audit_non_hmac_request_keys)
|
|
768
|
+
if audit_non_hmac_response_keys is not None:
|
|
769
|
+
pulumi.set(__self__, "audit_non_hmac_response_keys", audit_non_hmac_response_keys)
|
|
770
|
+
if default_lease_ttl_seconds is not None:
|
|
771
|
+
pulumi.set(__self__, "default_lease_ttl_seconds", default_lease_ttl_seconds)
|
|
772
|
+
if delegated_auth_accessors is not None:
|
|
773
|
+
pulumi.set(__self__, "delegated_auth_accessors", delegated_auth_accessors)
|
|
774
|
+
if description is not None:
|
|
775
|
+
pulumi.set(__self__, "description", description)
|
|
776
|
+
if disable_automated_rotation is not None:
|
|
777
|
+
pulumi.set(__self__, "disable_automated_rotation", disable_automated_rotation)
|
|
778
|
+
if disable_remount is not None:
|
|
779
|
+
pulumi.set(__self__, "disable_remount", disable_remount)
|
|
780
|
+
if external_entropy_access is not None:
|
|
781
|
+
pulumi.set(__self__, "external_entropy_access", external_entropy_access)
|
|
782
|
+
if force_no_cache is not None:
|
|
783
|
+
pulumi.set(__self__, "force_no_cache", force_no_cache)
|
|
784
|
+
if iam_endpoint is not None:
|
|
785
|
+
pulumi.set(__self__, "iam_endpoint", iam_endpoint)
|
|
786
|
+
if identity_token_audience is not None:
|
|
787
|
+
pulumi.set(__self__, "identity_token_audience", identity_token_audience)
|
|
788
|
+
if identity_token_key is not None:
|
|
789
|
+
pulumi.set(__self__, "identity_token_key", identity_token_key)
|
|
790
|
+
if identity_token_ttl is not None:
|
|
791
|
+
pulumi.set(__self__, "identity_token_ttl", identity_token_ttl)
|
|
792
|
+
if listing_visibility is not None:
|
|
793
|
+
pulumi.set(__self__, "listing_visibility", listing_visibility)
|
|
794
|
+
if local is not None:
|
|
795
|
+
pulumi.set(__self__, "local", local)
|
|
796
|
+
if max_lease_ttl_seconds is not None:
|
|
797
|
+
pulumi.set(__self__, "max_lease_ttl_seconds", max_lease_ttl_seconds)
|
|
798
|
+
if max_retries is not None:
|
|
799
|
+
pulumi.set(__self__, "max_retries", max_retries)
|
|
800
|
+
if namespace is not None:
|
|
801
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
802
|
+
if options is not None:
|
|
803
|
+
pulumi.set(__self__, "options", options)
|
|
804
|
+
if passthrough_request_headers is not None:
|
|
805
|
+
pulumi.set(__self__, "passthrough_request_headers", passthrough_request_headers)
|
|
806
|
+
if path is not None:
|
|
807
|
+
pulumi.set(__self__, "path", path)
|
|
808
|
+
if plugin_version is not None:
|
|
809
|
+
pulumi.set(__self__, "plugin_version", plugin_version)
|
|
810
|
+
if region is not None:
|
|
811
|
+
pulumi.set(__self__, "region", region)
|
|
812
|
+
if role_arn is not None:
|
|
813
|
+
pulumi.set(__self__, "role_arn", role_arn)
|
|
814
|
+
if rotation_period is not None:
|
|
815
|
+
pulumi.set(__self__, "rotation_period", rotation_period)
|
|
816
|
+
if rotation_schedule is not None:
|
|
817
|
+
pulumi.set(__self__, "rotation_schedule", rotation_schedule)
|
|
818
|
+
if rotation_window is not None:
|
|
819
|
+
pulumi.set(__self__, "rotation_window", rotation_window)
|
|
820
|
+
if seal_wrap is not None:
|
|
821
|
+
pulumi.set(__self__, "seal_wrap", seal_wrap)
|
|
822
|
+
if secret_key is not None:
|
|
823
|
+
pulumi.set(__self__, "secret_key", secret_key)
|
|
824
|
+
if sts_endpoint is not None:
|
|
825
|
+
pulumi.set(__self__, "sts_endpoint", sts_endpoint)
|
|
826
|
+
if sts_fallback_endpoints is not None:
|
|
827
|
+
pulumi.set(__self__, "sts_fallback_endpoints", sts_fallback_endpoints)
|
|
828
|
+
if sts_fallback_regions is not None:
|
|
829
|
+
pulumi.set(__self__, "sts_fallback_regions", sts_fallback_regions)
|
|
830
|
+
if sts_region is not None:
|
|
831
|
+
pulumi.set(__self__, "sts_region", sts_region)
|
|
832
|
+
if username_template is not None:
|
|
833
|
+
pulumi.set(__self__, "username_template", username_template)
|
|
834
|
+
|
|
835
|
+
@_builtins.property
|
|
836
|
+
@pulumi.getter(name="accessKey")
|
|
837
|
+
def access_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
838
|
+
"""
|
|
839
|
+
The AWS Access Key ID this backend should use to
|
|
840
|
+
issue new credentials. Vault uses the official AWS SDK to authenticate, and thus can also use standard AWS environment credentials, shared file credentials or IAM role/ECS task credentials.
|
|
841
|
+
"""
|
|
842
|
+
return pulumi.get(self, "access_key")
|
|
843
|
+
|
|
844
|
+
@access_key.setter
|
|
845
|
+
def access_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
846
|
+
pulumi.set(self, "access_key", value)
|
|
847
|
+
|
|
848
|
+
@_builtins.property
|
|
849
|
+
@pulumi.getter
|
|
850
|
+
def accessor(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
851
|
+
"""
|
|
852
|
+
Accessor of the mount
|
|
853
|
+
"""
|
|
854
|
+
return pulumi.get(self, "accessor")
|
|
855
|
+
|
|
856
|
+
@accessor.setter
|
|
857
|
+
def accessor(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
858
|
+
pulumi.set(self, "accessor", value)
|
|
859
|
+
|
|
860
|
+
@_builtins.property
|
|
861
|
+
@pulumi.getter(name="allowedManagedKeys")
|
|
862
|
+
def allowed_managed_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
863
|
+
"""
|
|
864
|
+
List of managed key registry entry names that the mount in question is allowed to access
|
|
865
|
+
"""
|
|
866
|
+
return pulumi.get(self, "allowed_managed_keys")
|
|
867
|
+
|
|
868
|
+
@allowed_managed_keys.setter
|
|
869
|
+
def allowed_managed_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
870
|
+
pulumi.set(self, "allowed_managed_keys", value)
|
|
871
|
+
|
|
872
|
+
@_builtins.property
|
|
873
|
+
@pulumi.getter(name="allowedResponseHeaders")
|
|
874
|
+
def allowed_response_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
875
|
+
"""
|
|
876
|
+
List of headers to allow and pass from the request to the plugin
|
|
877
|
+
"""
|
|
878
|
+
return pulumi.get(self, "allowed_response_headers")
|
|
879
|
+
|
|
880
|
+
@allowed_response_headers.setter
|
|
881
|
+
def allowed_response_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
882
|
+
pulumi.set(self, "allowed_response_headers", value)
|
|
883
|
+
|
|
884
|
+
@_builtins.property
|
|
885
|
+
@pulumi.getter(name="auditNonHmacRequestKeys")
|
|
886
|
+
def audit_non_hmac_request_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
887
|
+
"""
|
|
888
|
+
Specifies the list of keys that will not be HMAC'd by audit devices in the request data object.
|
|
889
|
+
"""
|
|
890
|
+
return pulumi.get(self, "audit_non_hmac_request_keys")
|
|
891
|
+
|
|
892
|
+
@audit_non_hmac_request_keys.setter
|
|
893
|
+
def audit_non_hmac_request_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
894
|
+
pulumi.set(self, "audit_non_hmac_request_keys", value)
|
|
895
|
+
|
|
896
|
+
@_builtins.property
|
|
897
|
+
@pulumi.getter(name="auditNonHmacResponseKeys")
|
|
898
|
+
def audit_non_hmac_response_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
899
|
+
"""
|
|
900
|
+
Specifies the list of keys that will not be HMAC'd by audit devices in the response data object.
|
|
901
|
+
"""
|
|
902
|
+
return pulumi.get(self, "audit_non_hmac_response_keys")
|
|
903
|
+
|
|
904
|
+
@audit_non_hmac_response_keys.setter
|
|
905
|
+
def audit_non_hmac_response_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
906
|
+
pulumi.set(self, "audit_non_hmac_response_keys", value)
|
|
907
|
+
|
|
908
|
+
@_builtins.property
|
|
909
|
+
@pulumi.getter(name="defaultLeaseTtlSeconds")
|
|
910
|
+
def default_lease_ttl_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
911
|
+
"""
|
|
912
|
+
Default lease duration for secrets in seconds
|
|
913
|
+
"""
|
|
914
|
+
return pulumi.get(self, "default_lease_ttl_seconds")
|
|
915
|
+
|
|
916
|
+
@default_lease_ttl_seconds.setter
|
|
917
|
+
def default_lease_ttl_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
918
|
+
pulumi.set(self, "default_lease_ttl_seconds", value)
|
|
919
|
+
|
|
920
|
+
@_builtins.property
|
|
921
|
+
@pulumi.getter(name="delegatedAuthAccessors")
|
|
922
|
+
def delegated_auth_accessors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
923
|
+
"""
|
|
924
|
+
List of headers to allow and pass from the request to the plugin
|
|
925
|
+
"""
|
|
926
|
+
return pulumi.get(self, "delegated_auth_accessors")
|
|
927
|
+
|
|
928
|
+
@delegated_auth_accessors.setter
|
|
929
|
+
def delegated_auth_accessors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
930
|
+
pulumi.set(self, "delegated_auth_accessors", value)
|
|
931
|
+
|
|
932
|
+
@_builtins.property
|
|
933
|
+
@pulumi.getter
|
|
934
|
+
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
935
|
+
"""
|
|
936
|
+
Human-friendly description of the mount for the backend.
|
|
937
|
+
"""
|
|
938
|
+
return pulumi.get(self, "description")
|
|
939
|
+
|
|
940
|
+
@description.setter
|
|
941
|
+
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
942
|
+
pulumi.set(self, "description", value)
|
|
943
|
+
|
|
944
|
+
@_builtins.property
|
|
945
|
+
@pulumi.getter(name="disableAutomatedRotation")
|
|
946
|
+
def disable_automated_rotation(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
947
|
+
"""
|
|
948
|
+
Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.
|
|
949
|
+
"""
|
|
950
|
+
return pulumi.get(self, "disable_automated_rotation")
|
|
951
|
+
|
|
952
|
+
@disable_automated_rotation.setter
|
|
953
|
+
def disable_automated_rotation(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
954
|
+
pulumi.set(self, "disable_automated_rotation", value)
|
|
955
|
+
|
|
956
|
+
@_builtins.property
|
|
957
|
+
@pulumi.getter(name="disableRemount")
|
|
958
|
+
def disable_remount(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
959
|
+
"""
|
|
960
|
+
If set, opts out of mount migration on path updates.
|
|
961
|
+
See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
|
|
962
|
+
"""
|
|
963
|
+
return pulumi.get(self, "disable_remount")
|
|
964
|
+
|
|
965
|
+
@disable_remount.setter
|
|
966
|
+
def disable_remount(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
967
|
+
pulumi.set(self, "disable_remount", value)
|
|
968
|
+
|
|
969
|
+
@_builtins.property
|
|
970
|
+
@pulumi.getter(name="externalEntropyAccess")
|
|
971
|
+
def external_entropy_access(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
972
|
+
"""
|
|
973
|
+
Enable the secrets engine to access Vault's external entropy source
|
|
974
|
+
"""
|
|
975
|
+
return pulumi.get(self, "external_entropy_access")
|
|
976
|
+
|
|
977
|
+
@external_entropy_access.setter
|
|
978
|
+
def external_entropy_access(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
979
|
+
pulumi.set(self, "external_entropy_access", value)
|
|
980
|
+
|
|
981
|
+
@_builtins.property
|
|
982
|
+
@pulumi.getter(name="forceNoCache")
|
|
983
|
+
def force_no_cache(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
984
|
+
"""
|
|
985
|
+
If set to true, disables caching.
|
|
986
|
+
"""
|
|
987
|
+
return pulumi.get(self, "force_no_cache")
|
|
988
|
+
|
|
989
|
+
@force_no_cache.setter
|
|
990
|
+
def force_no_cache(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
991
|
+
pulumi.set(self, "force_no_cache", value)
|
|
992
|
+
|
|
993
|
+
@_builtins.property
|
|
994
|
+
@pulumi.getter(name="iamEndpoint")
|
|
995
|
+
def iam_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
996
|
+
"""
|
|
997
|
+
Specifies a custom HTTP IAM endpoint to use.
|
|
998
|
+
"""
|
|
999
|
+
return pulumi.get(self, "iam_endpoint")
|
|
1000
|
+
|
|
1001
|
+
@iam_endpoint.setter
|
|
1002
|
+
def iam_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1003
|
+
pulumi.set(self, "iam_endpoint", value)
|
|
1004
|
+
|
|
1005
|
+
@_builtins.property
|
|
1006
|
+
@pulumi.getter(name="identityTokenAudience")
|
|
1007
|
+
def identity_token_audience(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
1008
|
+
"""
|
|
1009
|
+
The audience claim value. Requires Vault 1.16+.
|
|
1010
|
+
"""
|
|
1011
|
+
return pulumi.get(self, "identity_token_audience")
|
|
1012
|
+
|
|
1013
|
+
@identity_token_audience.setter
|
|
1014
|
+
def identity_token_audience(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1015
|
+
pulumi.set(self, "identity_token_audience", value)
|
|
1016
|
+
|
|
1017
|
+
@_builtins.property
|
|
1018
|
+
@pulumi.getter(name="identityTokenKey")
|
|
1019
|
+
def identity_token_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
1020
|
+
"""
|
|
1021
|
+
The key to use for signing identity tokens.
|
|
1022
|
+
"""
|
|
1023
|
+
return pulumi.get(self, "identity_token_key")
|
|
1024
|
+
|
|
1025
|
+
@identity_token_key.setter
|
|
1026
|
+
def identity_token_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1027
|
+
pulumi.set(self, "identity_token_key", value)
|
|
1028
|
+
|
|
1029
|
+
@_builtins.property
|
|
1030
|
+
@pulumi.getter(name="identityTokenTtl")
|
|
1031
|
+
def identity_token_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
1032
|
+
"""
|
|
1033
|
+
The TTL of generated identity tokens in seconds. Requires Vault 1.16+.
|
|
1034
|
+
"""
|
|
1035
|
+
return pulumi.get(self, "identity_token_ttl")
|
|
1036
|
+
|
|
1037
|
+
@identity_token_ttl.setter
|
|
1038
|
+
def identity_token_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
1039
|
+
pulumi.set(self, "identity_token_ttl", value)
|
|
1040
|
+
|
|
1041
|
+
@_builtins.property
|
|
1042
|
+
@pulumi.getter(name="listingVisibility")
|
|
1043
|
+
def listing_visibility(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
1044
|
+
"""
|
|
1045
|
+
Specifies whether to show this mount in the UI-specific listing endpoint
|
|
1046
|
+
"""
|
|
1047
|
+
return pulumi.get(self, "listing_visibility")
|
|
1048
|
+
|
|
1049
|
+
@listing_visibility.setter
|
|
1050
|
+
def listing_visibility(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1051
|
+
pulumi.set(self, "listing_visibility", value)
|
|
1052
|
+
|
|
1053
|
+
@_builtins.property
|
|
1054
|
+
@pulumi.getter
|
|
1055
|
+
def local(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
1056
|
+
"""
|
|
1057
|
+
Specifies if the secret backend is local only
|
|
1058
|
+
"""
|
|
1059
|
+
return pulumi.get(self, "local")
|
|
1060
|
+
|
|
1061
|
+
@local.setter
|
|
1062
|
+
def local(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
1063
|
+
pulumi.set(self, "local", value)
|
|
1064
|
+
|
|
1065
|
+
@_builtins.property
|
|
1066
|
+
@pulumi.getter(name="maxLeaseTtlSeconds")
|
|
1067
|
+
def max_lease_ttl_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
1068
|
+
"""
|
|
1069
|
+
Maximum possible lease duration for secrets in seconds
|
|
1070
|
+
"""
|
|
1071
|
+
return pulumi.get(self, "max_lease_ttl_seconds")
|
|
1072
|
+
|
|
1073
|
+
@max_lease_ttl_seconds.setter
|
|
1074
|
+
def max_lease_ttl_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
1075
|
+
pulumi.set(self, "max_lease_ttl_seconds", value)
|
|
1076
|
+
|
|
1077
|
+
@_builtins.property
|
|
1078
|
+
@pulumi.getter(name="maxRetries")
|
|
1079
|
+
def max_retries(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
1080
|
+
"""
|
|
1081
|
+
Number of max retries the client should use for recoverable errors.
|
|
1082
|
+
"""
|
|
1083
|
+
return pulumi.get(self, "max_retries")
|
|
1084
|
+
|
|
1085
|
+
@max_retries.setter
|
|
1086
|
+
def max_retries(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
1087
|
+
pulumi.set(self, "max_retries", value)
|
|
1088
|
+
|
|
1089
|
+
@_builtins.property
|
|
1090
|
+
@pulumi.getter
|
|
1091
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
1092
|
+
"""
|
|
1093
|
+
The namespace to provision the resource in.
|
|
1094
|
+
The value should not contain leading or trailing forward slashes.
|
|
1095
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
1096
|
+
*Available only for Vault Enterprise*.
|
|
1097
|
+
"""
|
|
1098
|
+
return pulumi.get(self, "namespace")
|
|
1099
|
+
|
|
1100
|
+
@namespace.setter
|
|
1101
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1102
|
+
pulumi.set(self, "namespace", value)
|
|
1103
|
+
|
|
1104
|
+
@_builtins.property
|
|
1105
|
+
@pulumi.getter
|
|
1106
|
+
def options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
1107
|
+
"""
|
|
1108
|
+
Specifies mount type specific options that are passed to the backend
|
|
1109
|
+
"""
|
|
1110
|
+
return pulumi.get(self, "options")
|
|
1111
|
+
|
|
1112
|
+
@options.setter
|
|
1113
|
+
def options(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
1114
|
+
pulumi.set(self, "options", value)
|
|
1115
|
+
|
|
1116
|
+
@_builtins.property
|
|
1117
|
+
@pulumi.getter(name="passthroughRequestHeaders")
|
|
1118
|
+
def passthrough_request_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
1119
|
+
"""
|
|
1120
|
+
List of headers to allow and pass from the request to the plugin
|
|
1121
|
+
"""
|
|
1122
|
+
return pulumi.get(self, "passthrough_request_headers")
|
|
1123
|
+
|
|
1124
|
+
@passthrough_request_headers.setter
|
|
1125
|
+
def passthrough_request_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
1126
|
+
pulumi.set(self, "passthrough_request_headers", value)
|
|
1127
|
+
|
|
1128
|
+
@_builtins.property
|
|
1129
|
+
@pulumi.getter
|
|
1130
|
+
def path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
1131
|
+
"""
|
|
1132
|
+
The unique path this backend should be mounted at. Must
|
|
1133
|
+
not begin or end with a `/`. Defaults to `aws`.
|
|
1134
|
+
"""
|
|
1135
|
+
return pulumi.get(self, "path")
|
|
1136
|
+
|
|
1137
|
+
@path.setter
|
|
1138
|
+
def path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1139
|
+
pulumi.set(self, "path", value)
|
|
1140
|
+
|
|
1141
|
+
@_builtins.property
|
|
1142
|
+
@pulumi.getter(name="pluginVersion")
|
|
1143
|
+
def plugin_version(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
1144
|
+
"""
|
|
1145
|
+
Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
|
|
1146
|
+
"""
|
|
1147
|
+
return pulumi.get(self, "plugin_version")
|
|
1148
|
+
|
|
1149
|
+
@plugin_version.setter
|
|
1150
|
+
def plugin_version(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1151
|
+
pulumi.set(self, "plugin_version", value)
|
|
1152
|
+
|
|
1153
|
+
@_builtins.property
|
|
1154
|
+
@pulumi.getter
|
|
1155
|
+
def region(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
1156
|
+
"""
|
|
1157
|
+
The AWS region to make API calls against. Defaults to us-east-1.
|
|
1158
|
+
"""
|
|
1159
|
+
return pulumi.get(self, "region")
|
|
1160
|
+
|
|
1161
|
+
@region.setter
|
|
1162
|
+
def region(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1163
|
+
pulumi.set(self, "region", value)
|
|
1164
|
+
|
|
1165
|
+
@_builtins.property
|
|
1166
|
+
@pulumi.getter(name="roleArn")
|
|
1167
|
+
def role_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
1168
|
+
"""
|
|
1169
|
+
Role ARN to assume for plugin identity token federation. Requires Vault 1.16+.
|
|
1170
|
+
"""
|
|
1171
|
+
return pulumi.get(self, "role_arn")
|
|
1172
|
+
|
|
1173
|
+
@role_arn.setter
|
|
1174
|
+
def role_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1175
|
+
pulumi.set(self, "role_arn", value)
|
|
1176
|
+
|
|
1177
|
+
@_builtins.property
|
|
1178
|
+
@pulumi.getter(name="rotationPeriod")
|
|
1179
|
+
def rotation_period(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
1180
|
+
"""
|
|
1181
|
+
The amount of time in seconds Vault should wait before rotating the root credential.
|
|
1182
|
+
A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.
|
|
1183
|
+
"""
|
|
1184
|
+
return pulumi.get(self, "rotation_period")
|
|
1185
|
+
|
|
1186
|
+
@rotation_period.setter
|
|
1187
|
+
def rotation_period(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
1188
|
+
pulumi.set(self, "rotation_period", value)
|
|
1189
|
+
|
|
1190
|
+
@_builtins.property
|
|
1191
|
+
@pulumi.getter(name="rotationSchedule")
|
|
1192
|
+
def rotation_schedule(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
1193
|
+
"""
|
|
1194
|
+
The schedule, in [cron-style time format](https://en.wikipedia.org/wiki/Cron),
|
|
1195
|
+
defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.
|
|
1196
|
+
"""
|
|
1197
|
+
return pulumi.get(self, "rotation_schedule")
|
|
1198
|
+
|
|
1199
|
+
@rotation_schedule.setter
|
|
1200
|
+
def rotation_schedule(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1201
|
+
pulumi.set(self, "rotation_schedule", value)
|
|
1202
|
+
|
|
1203
|
+
@_builtins.property
|
|
1204
|
+
@pulumi.getter(name="rotationWindow")
|
|
1205
|
+
def rotation_window(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
1206
|
+
"""
|
|
1207
|
+
The maximum amount of time in seconds allowed to complete
|
|
1208
|
+
a rotation when a scheduled token rotation occurs. The default rotation window is
|
|
1209
|
+
unbound and the minimum allowable window is `3600`. Requires Vault Enterprise 1.19+.
|
|
1210
|
+
"""
|
|
1211
|
+
return pulumi.get(self, "rotation_window")
|
|
1212
|
+
|
|
1213
|
+
@rotation_window.setter
|
|
1214
|
+
def rotation_window(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
1215
|
+
pulumi.set(self, "rotation_window", value)
|
|
1216
|
+
|
|
1217
|
+
@_builtins.property
|
|
1218
|
+
@pulumi.getter(name="sealWrap")
|
|
1219
|
+
def seal_wrap(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
1220
|
+
"""
|
|
1221
|
+
Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
|
|
1222
|
+
"""
|
|
1223
|
+
return pulumi.get(self, "seal_wrap")
|
|
1224
|
+
|
|
1225
|
+
@seal_wrap.setter
|
|
1226
|
+
def seal_wrap(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
1227
|
+
pulumi.set(self, "seal_wrap", value)
|
|
1228
|
+
|
|
1229
|
+
@_builtins.property
|
|
1230
|
+
@pulumi.getter(name="secretKey")
|
|
1231
|
+
def secret_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
1232
|
+
"""
|
|
1233
|
+
The AWS Secret Access Key to use when generating new credentials.
|
|
1234
|
+
"""
|
|
1235
|
+
return pulumi.get(self, "secret_key")
|
|
1236
|
+
|
|
1237
|
+
@secret_key.setter
|
|
1238
|
+
def secret_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1239
|
+
pulumi.set(self, "secret_key", value)
|
|
1240
|
+
|
|
1241
|
+
@_builtins.property
|
|
1242
|
+
@pulumi.getter(name="stsEndpoint")
|
|
1243
|
+
def sts_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
1244
|
+
"""
|
|
1245
|
+
Specifies a custom HTTP STS endpoint to use.
|
|
1246
|
+
"""
|
|
1247
|
+
return pulumi.get(self, "sts_endpoint")
|
|
1248
|
+
|
|
1249
|
+
@sts_endpoint.setter
|
|
1250
|
+
def sts_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1251
|
+
pulumi.set(self, "sts_endpoint", value)
|
|
1252
|
+
|
|
1253
|
+
@_builtins.property
|
|
1254
|
+
@pulumi.getter(name="stsFallbackEndpoints")
|
|
1255
|
+
def sts_fallback_endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
1256
|
+
"""
|
|
1257
|
+
Ordered list of `sts_endpoint`s to try if the defined one fails. Requires Vault 1.19+
|
|
1258
|
+
"""
|
|
1259
|
+
return pulumi.get(self, "sts_fallback_endpoints")
|
|
1260
|
+
|
|
1261
|
+
@sts_fallback_endpoints.setter
|
|
1262
|
+
def sts_fallback_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
1263
|
+
pulumi.set(self, "sts_fallback_endpoints", value)
|
|
1264
|
+
|
|
1265
|
+
@_builtins.property
|
|
1266
|
+
@pulumi.getter(name="stsFallbackRegions")
|
|
1267
|
+
def sts_fallback_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
1268
|
+
"""
|
|
1269
|
+
Ordered list of `sts_region`s matching the fallback endpoints. Should correspond in order with those endpoints. Requires Vault 1.19+
|
|
1270
|
+
"""
|
|
1271
|
+
return pulumi.get(self, "sts_fallback_regions")
|
|
1272
|
+
|
|
1273
|
+
@sts_fallback_regions.setter
|
|
1274
|
+
def sts_fallback_regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
1275
|
+
pulumi.set(self, "sts_fallback_regions", value)
|
|
1276
|
+
|
|
1277
|
+
@_builtins.property
|
|
1278
|
+
@pulumi.getter(name="stsRegion")
|
|
1279
|
+
def sts_region(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
1280
|
+
"""
|
|
1281
|
+
Specifies the region of the STS endpoint. Should be included if `sts_endpoint` is supplied. Requires Vault 1.19+
|
|
1282
|
+
"""
|
|
1283
|
+
return pulumi.get(self, "sts_region")
|
|
1284
|
+
|
|
1285
|
+
@sts_region.setter
|
|
1286
|
+
def sts_region(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1287
|
+
pulumi.set(self, "sts_region", value)
|
|
1288
|
+
|
|
1289
|
+
@_builtins.property
|
|
1290
|
+
@pulumi.getter(name="usernameTemplate")
|
|
1291
|
+
def username_template(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
1292
|
+
"""
|
|
1293
|
+
Template describing how dynamic usernames are generated. The username template is used to generate both IAM usernames (capped at 64 characters) and STS usernames (capped at 32 characters). If no template is provided the field defaults to the template:
|
|
1294
|
+
|
|
1295
|
+
```
|
|
1296
|
+
{{ if (eq .Type "STS") }}
|
|
1297
|
+
{{ printf "vault-%s-%s" (unix_time) (random 20) | truncate 32 }}
|
|
1298
|
+
{{ else }}
|
|
1299
|
+
{{ printf "vault-%s-%s-%s" (printf "%s-%s" (.DisplayName) (.PolicyName) | truncate 42) (unix_time) (random 20) | truncate 64 }}
|
|
1300
|
+
{{ end }}
|
|
1301
|
+
|
|
1302
|
+
```
|
|
1303
|
+
"""
|
|
1304
|
+
return pulumi.get(self, "username_template")
|
|
1305
|
+
|
|
1306
|
+
@username_template.setter
|
|
1307
|
+
def username_template(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
1308
|
+
pulumi.set(self, "username_template", value)
|
|
1309
|
+
|
|
1310
|
+
|
|
1311
|
+
@pulumi.type_token("vault:aws/secretBackend:SecretBackend")
|
|
1312
|
+
class SecretBackend(pulumi.CustomResource):
|
|
1313
|
+
@overload
|
|
1314
|
+
def __init__(__self__,
|
|
1315
|
+
resource_name: str,
|
|
1316
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
1317
|
+
access_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1318
|
+
allowed_managed_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1319
|
+
allowed_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1320
|
+
audit_non_hmac_request_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1321
|
+
audit_non_hmac_response_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1322
|
+
default_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1323
|
+
delegated_auth_accessors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1324
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1325
|
+
disable_automated_rotation: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1326
|
+
disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1327
|
+
external_entropy_access: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1328
|
+
force_no_cache: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1329
|
+
iam_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1330
|
+
identity_token_audience: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1331
|
+
identity_token_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1332
|
+
identity_token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1333
|
+
listing_visibility: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1334
|
+
local: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1335
|
+
max_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1336
|
+
max_retries: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1337
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1338
|
+
options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
1339
|
+
passthrough_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1340
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1341
|
+
plugin_version: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1342
|
+
region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1343
|
+
role_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1344
|
+
rotation_period: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1345
|
+
rotation_schedule: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1346
|
+
rotation_window: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1347
|
+
seal_wrap: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1348
|
+
secret_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1349
|
+
sts_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1350
|
+
sts_fallback_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1351
|
+
sts_fallback_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1352
|
+
sts_region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1353
|
+
username_template: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1354
|
+
__props__=None):
|
|
1355
|
+
"""
|
|
1356
|
+
## Import
|
|
1357
|
+
|
|
1358
|
+
AWS secret backends can be imported using the `path`, e.g.
|
|
1359
|
+
|
|
1360
|
+
```sh
|
|
1361
|
+
$ pulumi import vault:aws/secretBackend:SecretBackend aws aws
|
|
1362
|
+
```
|
|
1363
|
+
|
|
1364
|
+
:param str resource_name: The name of the resource.
|
|
1365
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
1366
|
+
:param pulumi.Input[_builtins.str] access_key: The AWS Access Key ID this backend should use to
|
|
1367
|
+
issue new credentials. Vault uses the official AWS SDK to authenticate, and thus can also use standard AWS environment credentials, shared file credentials or IAM role/ECS task credentials.
|
|
1368
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_managed_keys: List of managed key registry entry names that the mount in question is allowed to access
|
|
1369
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_response_headers: List of headers to allow and pass from the request to the plugin
|
|
1370
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] audit_non_hmac_request_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the request data object.
|
|
1371
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] audit_non_hmac_response_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the response data object.
|
|
1372
|
+
:param pulumi.Input[_builtins.int] default_lease_ttl_seconds: Default lease duration for secrets in seconds
|
|
1373
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] delegated_auth_accessors: List of headers to allow and pass from the request to the plugin
|
|
1374
|
+
:param pulumi.Input[_builtins.str] description: Human-friendly description of the mount for the backend.
|
|
1375
|
+
:param pulumi.Input[_builtins.bool] disable_automated_rotation: Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.
|
|
1376
|
+
:param pulumi.Input[_builtins.bool] disable_remount: If set, opts out of mount migration on path updates.
|
|
1377
|
+
See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
|
|
1378
|
+
:param pulumi.Input[_builtins.bool] external_entropy_access: Enable the secrets engine to access Vault's external entropy source
|
|
1379
|
+
:param pulumi.Input[_builtins.bool] force_no_cache: If set to true, disables caching.
|
|
1380
|
+
:param pulumi.Input[_builtins.str] iam_endpoint: Specifies a custom HTTP IAM endpoint to use.
|
|
1381
|
+
:param pulumi.Input[_builtins.str] identity_token_audience: The audience claim value. Requires Vault 1.16+.
|
|
1382
|
+
:param pulumi.Input[_builtins.str] identity_token_key: The key to use for signing identity tokens.
|
|
1383
|
+
:param pulumi.Input[_builtins.int] identity_token_ttl: The TTL of generated identity tokens in seconds. Requires Vault 1.16+.
|
|
1384
|
+
:param pulumi.Input[_builtins.str] listing_visibility: Specifies whether to show this mount in the UI-specific listing endpoint
|
|
1385
|
+
:param pulumi.Input[_builtins.bool] local: Specifies if the secret backend is local only
|
|
1386
|
+
:param pulumi.Input[_builtins.int] max_lease_ttl_seconds: Maximum possible lease duration for secrets in seconds
|
|
1387
|
+
:param pulumi.Input[_builtins.int] max_retries: Number of max retries the client should use for recoverable errors.
|
|
1388
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
1389
|
+
The value should not contain leading or trailing forward slashes.
|
|
1390
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
1391
|
+
*Available only for Vault Enterprise*.
|
|
1392
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] options: Specifies mount type specific options that are passed to the backend
|
|
1393
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] passthrough_request_headers: List of headers to allow and pass from the request to the plugin
|
|
1394
|
+
:param pulumi.Input[_builtins.str] path: The unique path this backend should be mounted at. Must
|
|
1395
|
+
not begin or end with a `/`. Defaults to `aws`.
|
|
1396
|
+
:param pulumi.Input[_builtins.str] plugin_version: Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
|
|
1397
|
+
:param pulumi.Input[_builtins.str] region: The AWS region to make API calls against. Defaults to us-east-1.
|
|
1398
|
+
:param pulumi.Input[_builtins.str] role_arn: Role ARN to assume for plugin identity token federation. Requires Vault 1.16+.
|
|
1399
|
+
:param pulumi.Input[_builtins.int] rotation_period: The amount of time in seconds Vault should wait before rotating the root credential.
|
|
1400
|
+
A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.
|
|
1401
|
+
:param pulumi.Input[_builtins.str] rotation_schedule: The schedule, in [cron-style time format](https://en.wikipedia.org/wiki/Cron),
|
|
1402
|
+
defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.
|
|
1403
|
+
:param pulumi.Input[_builtins.int] rotation_window: The maximum amount of time in seconds allowed to complete
|
|
1404
|
+
a rotation when a scheduled token rotation occurs. The default rotation window is
|
|
1405
|
+
unbound and the minimum allowable window is `3600`. Requires Vault Enterprise 1.19+.
|
|
1406
|
+
:param pulumi.Input[_builtins.bool] seal_wrap: Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
|
|
1407
|
+
:param pulumi.Input[_builtins.str] secret_key: The AWS Secret Access Key to use when generating new credentials.
|
|
1408
|
+
:param pulumi.Input[_builtins.str] sts_endpoint: Specifies a custom HTTP STS endpoint to use.
|
|
1409
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] sts_fallback_endpoints: Ordered list of `sts_endpoint`s to try if the defined one fails. Requires Vault 1.19+
|
|
1410
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] sts_fallback_regions: Ordered list of `sts_region`s matching the fallback endpoints. Should correspond in order with those endpoints. Requires Vault 1.19+
|
|
1411
|
+
:param pulumi.Input[_builtins.str] sts_region: Specifies the region of the STS endpoint. Should be included if `sts_endpoint` is supplied. Requires Vault 1.19+
|
|
1412
|
+
:param pulumi.Input[_builtins.str] username_template: Template describing how dynamic usernames are generated. The username template is used to generate both IAM usernames (capped at 64 characters) and STS usernames (capped at 32 characters). If no template is provided the field defaults to the template:
|
|
1413
|
+
|
|
1414
|
+
```
|
|
1415
|
+
{{ if (eq .Type "STS") }}
|
|
1416
|
+
{{ printf "vault-%s-%s" (unix_time) (random 20) | truncate 32 }}
|
|
1417
|
+
{{ else }}
|
|
1418
|
+
{{ printf "vault-%s-%s-%s" (printf "%s-%s" (.DisplayName) (.PolicyName) | truncate 42) (unix_time) (random 20) | truncate 64 }}
|
|
1419
|
+
{{ end }}
|
|
1420
|
+
|
|
1421
|
+
```
|
|
1422
|
+
"""
|
|
1423
|
+
...
|
|
1424
|
+
@overload
|
|
1425
|
+
def __init__(__self__,
|
|
1426
|
+
resource_name: str,
|
|
1427
|
+
args: Optional[SecretBackendArgs] = None,
|
|
1428
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
1429
|
+
"""
|
|
1430
|
+
## Import
|
|
1431
|
+
|
|
1432
|
+
AWS secret backends can be imported using the `path`, e.g.
|
|
1433
|
+
|
|
1434
|
+
```sh
|
|
1435
|
+
$ pulumi import vault:aws/secretBackend:SecretBackend aws aws
|
|
1436
|
+
```
|
|
1437
|
+
|
|
1438
|
+
:param str resource_name: The name of the resource.
|
|
1439
|
+
:param SecretBackendArgs args: The arguments to use to populate this resource's properties.
|
|
1440
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
1441
|
+
"""
|
|
1442
|
+
...
|
|
1443
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
1444
|
+
resource_args, opts = _utilities.get_resource_args_opts(SecretBackendArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
1445
|
+
if resource_args is not None:
|
|
1446
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
1447
|
+
else:
|
|
1448
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
1449
|
+
|
|
1450
|
+
def _internal_init(__self__,
|
|
1451
|
+
resource_name: str,
|
|
1452
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
1453
|
+
access_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1454
|
+
allowed_managed_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1455
|
+
allowed_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1456
|
+
audit_non_hmac_request_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1457
|
+
audit_non_hmac_response_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1458
|
+
default_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1459
|
+
delegated_auth_accessors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1460
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1461
|
+
disable_automated_rotation: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1462
|
+
disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1463
|
+
external_entropy_access: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1464
|
+
force_no_cache: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1465
|
+
iam_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1466
|
+
identity_token_audience: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1467
|
+
identity_token_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1468
|
+
identity_token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1469
|
+
listing_visibility: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1470
|
+
local: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1471
|
+
max_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1472
|
+
max_retries: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1473
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1474
|
+
options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
1475
|
+
passthrough_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1476
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1477
|
+
plugin_version: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1478
|
+
region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1479
|
+
role_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1480
|
+
rotation_period: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1481
|
+
rotation_schedule: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1482
|
+
rotation_window: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1483
|
+
seal_wrap: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1484
|
+
secret_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1485
|
+
sts_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1486
|
+
sts_fallback_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1487
|
+
sts_fallback_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1488
|
+
sts_region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1489
|
+
username_template: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1490
|
+
__props__=None):
|
|
1491
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
1492
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
1493
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
1494
|
+
if opts.id is None:
|
|
1495
|
+
if __props__ is not None:
|
|
1496
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
1497
|
+
__props__ = SecretBackendArgs.__new__(SecretBackendArgs)
|
|
1498
|
+
|
|
1499
|
+
__props__.__dict__["access_key"] = None if access_key is None else pulumi.Output.secret(access_key)
|
|
1500
|
+
__props__.__dict__["allowed_managed_keys"] = allowed_managed_keys
|
|
1501
|
+
__props__.__dict__["allowed_response_headers"] = allowed_response_headers
|
|
1502
|
+
__props__.__dict__["audit_non_hmac_request_keys"] = audit_non_hmac_request_keys
|
|
1503
|
+
__props__.__dict__["audit_non_hmac_response_keys"] = audit_non_hmac_response_keys
|
|
1504
|
+
__props__.__dict__["default_lease_ttl_seconds"] = default_lease_ttl_seconds
|
|
1505
|
+
__props__.__dict__["delegated_auth_accessors"] = delegated_auth_accessors
|
|
1506
|
+
__props__.__dict__["description"] = description
|
|
1507
|
+
__props__.__dict__["disable_automated_rotation"] = disable_automated_rotation
|
|
1508
|
+
__props__.__dict__["disable_remount"] = disable_remount
|
|
1509
|
+
__props__.__dict__["external_entropy_access"] = external_entropy_access
|
|
1510
|
+
__props__.__dict__["force_no_cache"] = force_no_cache
|
|
1511
|
+
__props__.__dict__["iam_endpoint"] = iam_endpoint
|
|
1512
|
+
__props__.__dict__["identity_token_audience"] = identity_token_audience
|
|
1513
|
+
__props__.__dict__["identity_token_key"] = identity_token_key
|
|
1514
|
+
__props__.__dict__["identity_token_ttl"] = identity_token_ttl
|
|
1515
|
+
__props__.__dict__["listing_visibility"] = listing_visibility
|
|
1516
|
+
__props__.__dict__["local"] = local
|
|
1517
|
+
__props__.__dict__["max_lease_ttl_seconds"] = max_lease_ttl_seconds
|
|
1518
|
+
__props__.__dict__["max_retries"] = max_retries
|
|
1519
|
+
__props__.__dict__["namespace"] = namespace
|
|
1520
|
+
__props__.__dict__["options"] = options
|
|
1521
|
+
__props__.__dict__["passthrough_request_headers"] = passthrough_request_headers
|
|
1522
|
+
__props__.__dict__["path"] = path
|
|
1523
|
+
__props__.__dict__["plugin_version"] = plugin_version
|
|
1524
|
+
__props__.__dict__["region"] = region
|
|
1525
|
+
__props__.__dict__["role_arn"] = role_arn
|
|
1526
|
+
__props__.__dict__["rotation_period"] = rotation_period
|
|
1527
|
+
__props__.__dict__["rotation_schedule"] = rotation_schedule
|
|
1528
|
+
__props__.__dict__["rotation_window"] = rotation_window
|
|
1529
|
+
__props__.__dict__["seal_wrap"] = seal_wrap
|
|
1530
|
+
__props__.__dict__["secret_key"] = None if secret_key is None else pulumi.Output.secret(secret_key)
|
|
1531
|
+
__props__.__dict__["sts_endpoint"] = sts_endpoint
|
|
1532
|
+
__props__.__dict__["sts_fallback_endpoints"] = sts_fallback_endpoints
|
|
1533
|
+
__props__.__dict__["sts_fallback_regions"] = sts_fallback_regions
|
|
1534
|
+
__props__.__dict__["sts_region"] = sts_region
|
|
1535
|
+
__props__.__dict__["username_template"] = username_template
|
|
1536
|
+
__props__.__dict__["accessor"] = None
|
|
1537
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["accessKey", "secretKey"])
|
|
1538
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
|
1539
|
+
super(SecretBackend, __self__).__init__(
|
|
1540
|
+
'vault:aws/secretBackend:SecretBackend',
|
|
1541
|
+
resource_name,
|
|
1542
|
+
__props__,
|
|
1543
|
+
opts)
|
|
1544
|
+
|
|
1545
|
+
@staticmethod
|
|
1546
|
+
def get(resource_name: str,
|
|
1547
|
+
id: pulumi.Input[str],
|
|
1548
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
1549
|
+
access_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1550
|
+
accessor: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1551
|
+
allowed_managed_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1552
|
+
allowed_response_headers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1553
|
+
audit_non_hmac_request_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1554
|
+
audit_non_hmac_response_keys: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1555
|
+
default_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1556
|
+
delegated_auth_accessors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1557
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1558
|
+
disable_automated_rotation: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1559
|
+
disable_remount: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1560
|
+
external_entropy_access: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1561
|
+
force_no_cache: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1562
|
+
iam_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1563
|
+
identity_token_audience: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1564
|
+
identity_token_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1565
|
+
identity_token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1566
|
+
listing_visibility: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1567
|
+
local: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1568
|
+
max_lease_ttl_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1569
|
+
max_retries: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1570
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1571
|
+
options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
1572
|
+
passthrough_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1573
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1574
|
+
plugin_version: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1575
|
+
region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1576
|
+
role_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1577
|
+
rotation_period: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1578
|
+
rotation_schedule: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1579
|
+
rotation_window: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1580
|
+
seal_wrap: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1581
|
+
secret_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1582
|
+
sts_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1583
|
+
sts_fallback_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1584
|
+
sts_fallback_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1585
|
+
sts_region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1586
|
+
username_template: Optional[pulumi.Input[_builtins.str]] = None) -> 'SecretBackend':
|
|
1587
|
+
"""
|
|
1588
|
+
Get an existing SecretBackend resource's state with the given name, id, and optional extra
|
|
1589
|
+
properties used to qualify the lookup.
|
|
1590
|
+
|
|
1591
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
1592
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
1593
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
1594
|
+
:param pulumi.Input[_builtins.str] access_key: The AWS Access Key ID this backend should use to
|
|
1595
|
+
issue new credentials. Vault uses the official AWS SDK to authenticate, and thus can also use standard AWS environment credentials, shared file credentials or IAM role/ECS task credentials.
|
|
1596
|
+
:param pulumi.Input[_builtins.str] accessor: Accessor of the mount
|
|
1597
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_managed_keys: List of managed key registry entry names that the mount in question is allowed to access
|
|
1598
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_response_headers: List of headers to allow and pass from the request to the plugin
|
|
1599
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] audit_non_hmac_request_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the request data object.
|
|
1600
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] audit_non_hmac_response_keys: Specifies the list of keys that will not be HMAC'd by audit devices in the response data object.
|
|
1601
|
+
:param pulumi.Input[_builtins.int] default_lease_ttl_seconds: Default lease duration for secrets in seconds
|
|
1602
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] delegated_auth_accessors: List of headers to allow and pass from the request to the plugin
|
|
1603
|
+
:param pulumi.Input[_builtins.str] description: Human-friendly description of the mount for the backend.
|
|
1604
|
+
:param pulumi.Input[_builtins.bool] disable_automated_rotation: Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.
|
|
1605
|
+
:param pulumi.Input[_builtins.bool] disable_remount: If set, opts out of mount migration on path updates.
|
|
1606
|
+
See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
|
|
1607
|
+
:param pulumi.Input[_builtins.bool] external_entropy_access: Enable the secrets engine to access Vault's external entropy source
|
|
1608
|
+
:param pulumi.Input[_builtins.bool] force_no_cache: If set to true, disables caching.
|
|
1609
|
+
:param pulumi.Input[_builtins.str] iam_endpoint: Specifies a custom HTTP IAM endpoint to use.
|
|
1610
|
+
:param pulumi.Input[_builtins.str] identity_token_audience: The audience claim value. Requires Vault 1.16+.
|
|
1611
|
+
:param pulumi.Input[_builtins.str] identity_token_key: The key to use for signing identity tokens.
|
|
1612
|
+
:param pulumi.Input[_builtins.int] identity_token_ttl: The TTL of generated identity tokens in seconds. Requires Vault 1.16+.
|
|
1613
|
+
:param pulumi.Input[_builtins.str] listing_visibility: Specifies whether to show this mount in the UI-specific listing endpoint
|
|
1614
|
+
:param pulumi.Input[_builtins.bool] local: Specifies if the secret backend is local only
|
|
1615
|
+
:param pulumi.Input[_builtins.int] max_lease_ttl_seconds: Maximum possible lease duration for secrets in seconds
|
|
1616
|
+
:param pulumi.Input[_builtins.int] max_retries: Number of max retries the client should use for recoverable errors.
|
|
1617
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
1618
|
+
The value should not contain leading or trailing forward slashes.
|
|
1619
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
1620
|
+
*Available only for Vault Enterprise*.
|
|
1621
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] options: Specifies mount type specific options that are passed to the backend
|
|
1622
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] passthrough_request_headers: List of headers to allow and pass from the request to the plugin
|
|
1623
|
+
:param pulumi.Input[_builtins.str] path: The unique path this backend should be mounted at. Must
|
|
1624
|
+
not begin or end with a `/`. Defaults to `aws`.
|
|
1625
|
+
:param pulumi.Input[_builtins.str] plugin_version: Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
|
|
1626
|
+
:param pulumi.Input[_builtins.str] region: The AWS region to make API calls against. Defaults to us-east-1.
|
|
1627
|
+
:param pulumi.Input[_builtins.str] role_arn: Role ARN to assume for plugin identity token federation. Requires Vault 1.16+.
|
|
1628
|
+
:param pulumi.Input[_builtins.int] rotation_period: The amount of time in seconds Vault should wait before rotating the root credential.
|
|
1629
|
+
A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.
|
|
1630
|
+
:param pulumi.Input[_builtins.str] rotation_schedule: The schedule, in [cron-style time format](https://en.wikipedia.org/wiki/Cron),
|
|
1631
|
+
defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.
|
|
1632
|
+
:param pulumi.Input[_builtins.int] rotation_window: The maximum amount of time in seconds allowed to complete
|
|
1633
|
+
a rotation when a scheduled token rotation occurs. The default rotation window is
|
|
1634
|
+
unbound and the minimum allowable window is `3600`. Requires Vault Enterprise 1.19+.
|
|
1635
|
+
:param pulumi.Input[_builtins.bool] seal_wrap: Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
|
|
1636
|
+
:param pulumi.Input[_builtins.str] secret_key: The AWS Secret Access Key to use when generating new credentials.
|
|
1637
|
+
:param pulumi.Input[_builtins.str] sts_endpoint: Specifies a custom HTTP STS endpoint to use.
|
|
1638
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] sts_fallback_endpoints: Ordered list of `sts_endpoint`s to try if the defined one fails. Requires Vault 1.19+
|
|
1639
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] sts_fallback_regions: Ordered list of `sts_region`s matching the fallback endpoints. Should correspond in order with those endpoints. Requires Vault 1.19+
|
|
1640
|
+
:param pulumi.Input[_builtins.str] sts_region: Specifies the region of the STS endpoint. Should be included if `sts_endpoint` is supplied. Requires Vault 1.19+
|
|
1641
|
+
:param pulumi.Input[_builtins.str] username_template: Template describing how dynamic usernames are generated. The username template is used to generate both IAM usernames (capped at 64 characters) and STS usernames (capped at 32 characters). If no template is provided the field defaults to the template:
|
|
1642
|
+
|
|
1643
|
+
```
|
|
1644
|
+
{{ if (eq .Type "STS") }}
|
|
1645
|
+
{{ printf "vault-%s-%s" (unix_time) (random 20) | truncate 32 }}
|
|
1646
|
+
{{ else }}
|
|
1647
|
+
{{ printf "vault-%s-%s-%s" (printf "%s-%s" (.DisplayName) (.PolicyName) | truncate 42) (unix_time) (random 20) | truncate 64 }}
|
|
1648
|
+
{{ end }}
|
|
1649
|
+
|
|
1650
|
+
```
|
|
1651
|
+
"""
|
|
1652
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
1653
|
+
|
|
1654
|
+
__props__ = _SecretBackendState.__new__(_SecretBackendState)
|
|
1655
|
+
|
|
1656
|
+
__props__.__dict__["access_key"] = access_key
|
|
1657
|
+
__props__.__dict__["accessor"] = accessor
|
|
1658
|
+
__props__.__dict__["allowed_managed_keys"] = allowed_managed_keys
|
|
1659
|
+
__props__.__dict__["allowed_response_headers"] = allowed_response_headers
|
|
1660
|
+
__props__.__dict__["audit_non_hmac_request_keys"] = audit_non_hmac_request_keys
|
|
1661
|
+
__props__.__dict__["audit_non_hmac_response_keys"] = audit_non_hmac_response_keys
|
|
1662
|
+
__props__.__dict__["default_lease_ttl_seconds"] = default_lease_ttl_seconds
|
|
1663
|
+
__props__.__dict__["delegated_auth_accessors"] = delegated_auth_accessors
|
|
1664
|
+
__props__.__dict__["description"] = description
|
|
1665
|
+
__props__.__dict__["disable_automated_rotation"] = disable_automated_rotation
|
|
1666
|
+
__props__.__dict__["disable_remount"] = disable_remount
|
|
1667
|
+
__props__.__dict__["external_entropy_access"] = external_entropy_access
|
|
1668
|
+
__props__.__dict__["force_no_cache"] = force_no_cache
|
|
1669
|
+
__props__.__dict__["iam_endpoint"] = iam_endpoint
|
|
1670
|
+
__props__.__dict__["identity_token_audience"] = identity_token_audience
|
|
1671
|
+
__props__.__dict__["identity_token_key"] = identity_token_key
|
|
1672
|
+
__props__.__dict__["identity_token_ttl"] = identity_token_ttl
|
|
1673
|
+
__props__.__dict__["listing_visibility"] = listing_visibility
|
|
1674
|
+
__props__.__dict__["local"] = local
|
|
1675
|
+
__props__.__dict__["max_lease_ttl_seconds"] = max_lease_ttl_seconds
|
|
1676
|
+
__props__.__dict__["max_retries"] = max_retries
|
|
1677
|
+
__props__.__dict__["namespace"] = namespace
|
|
1678
|
+
__props__.__dict__["options"] = options
|
|
1679
|
+
__props__.__dict__["passthrough_request_headers"] = passthrough_request_headers
|
|
1680
|
+
__props__.__dict__["path"] = path
|
|
1681
|
+
__props__.__dict__["plugin_version"] = plugin_version
|
|
1682
|
+
__props__.__dict__["region"] = region
|
|
1683
|
+
__props__.__dict__["role_arn"] = role_arn
|
|
1684
|
+
__props__.__dict__["rotation_period"] = rotation_period
|
|
1685
|
+
__props__.__dict__["rotation_schedule"] = rotation_schedule
|
|
1686
|
+
__props__.__dict__["rotation_window"] = rotation_window
|
|
1687
|
+
__props__.__dict__["seal_wrap"] = seal_wrap
|
|
1688
|
+
__props__.__dict__["secret_key"] = secret_key
|
|
1689
|
+
__props__.__dict__["sts_endpoint"] = sts_endpoint
|
|
1690
|
+
__props__.__dict__["sts_fallback_endpoints"] = sts_fallback_endpoints
|
|
1691
|
+
__props__.__dict__["sts_fallback_regions"] = sts_fallback_regions
|
|
1692
|
+
__props__.__dict__["sts_region"] = sts_region
|
|
1693
|
+
__props__.__dict__["username_template"] = username_template
|
|
1694
|
+
return SecretBackend(resource_name, opts=opts, __props__=__props__)
|
|
1695
|
+
|
|
1696
|
+
@_builtins.property
|
|
1697
|
+
@pulumi.getter(name="accessKey")
|
|
1698
|
+
def access_key(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1699
|
+
"""
|
|
1700
|
+
The AWS Access Key ID this backend should use to
|
|
1701
|
+
issue new credentials. Vault uses the official AWS SDK to authenticate, and thus can also use standard AWS environment credentials, shared file credentials or IAM role/ECS task credentials.
|
|
1702
|
+
"""
|
|
1703
|
+
return pulumi.get(self, "access_key")
|
|
1704
|
+
|
|
1705
|
+
@_builtins.property
|
|
1706
|
+
@pulumi.getter
|
|
1707
|
+
def accessor(self) -> pulumi.Output[_builtins.str]:
|
|
1708
|
+
"""
|
|
1709
|
+
Accessor of the mount
|
|
1710
|
+
"""
|
|
1711
|
+
return pulumi.get(self, "accessor")
|
|
1712
|
+
|
|
1713
|
+
@_builtins.property
|
|
1714
|
+
@pulumi.getter(name="allowedManagedKeys")
|
|
1715
|
+
def allowed_managed_keys(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
1716
|
+
"""
|
|
1717
|
+
List of managed key registry entry names that the mount in question is allowed to access
|
|
1718
|
+
"""
|
|
1719
|
+
return pulumi.get(self, "allowed_managed_keys")
|
|
1720
|
+
|
|
1721
|
+
@_builtins.property
|
|
1722
|
+
@pulumi.getter(name="allowedResponseHeaders")
|
|
1723
|
+
def allowed_response_headers(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
1724
|
+
"""
|
|
1725
|
+
List of headers to allow and pass from the request to the plugin
|
|
1726
|
+
"""
|
|
1727
|
+
return pulumi.get(self, "allowed_response_headers")
|
|
1728
|
+
|
|
1729
|
+
@_builtins.property
|
|
1730
|
+
@pulumi.getter(name="auditNonHmacRequestKeys")
|
|
1731
|
+
def audit_non_hmac_request_keys(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
1732
|
+
"""
|
|
1733
|
+
Specifies the list of keys that will not be HMAC'd by audit devices in the request data object.
|
|
1734
|
+
"""
|
|
1735
|
+
return pulumi.get(self, "audit_non_hmac_request_keys")
|
|
1736
|
+
|
|
1737
|
+
@_builtins.property
|
|
1738
|
+
@pulumi.getter(name="auditNonHmacResponseKeys")
|
|
1739
|
+
def audit_non_hmac_response_keys(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
1740
|
+
"""
|
|
1741
|
+
Specifies the list of keys that will not be HMAC'd by audit devices in the response data object.
|
|
1742
|
+
"""
|
|
1743
|
+
return pulumi.get(self, "audit_non_hmac_response_keys")
|
|
1744
|
+
|
|
1745
|
+
@_builtins.property
|
|
1746
|
+
@pulumi.getter(name="defaultLeaseTtlSeconds")
|
|
1747
|
+
def default_lease_ttl_seconds(self) -> pulumi.Output[_builtins.int]:
|
|
1748
|
+
"""
|
|
1749
|
+
Default lease duration for secrets in seconds
|
|
1750
|
+
"""
|
|
1751
|
+
return pulumi.get(self, "default_lease_ttl_seconds")
|
|
1752
|
+
|
|
1753
|
+
@_builtins.property
|
|
1754
|
+
@pulumi.getter(name="delegatedAuthAccessors")
|
|
1755
|
+
def delegated_auth_accessors(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
1756
|
+
"""
|
|
1757
|
+
List of headers to allow and pass from the request to the plugin
|
|
1758
|
+
"""
|
|
1759
|
+
return pulumi.get(self, "delegated_auth_accessors")
|
|
1760
|
+
|
|
1761
|
+
@_builtins.property
|
|
1762
|
+
@pulumi.getter
|
|
1763
|
+
def description(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1764
|
+
"""
|
|
1765
|
+
Human-friendly description of the mount for the backend.
|
|
1766
|
+
"""
|
|
1767
|
+
return pulumi.get(self, "description")
|
|
1768
|
+
|
|
1769
|
+
@_builtins.property
|
|
1770
|
+
@pulumi.getter(name="disableAutomatedRotation")
|
|
1771
|
+
def disable_automated_rotation(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
1772
|
+
"""
|
|
1773
|
+
Cancels all upcoming rotations of the root credential until unset. Requires Vault Enterprise 1.19+.
|
|
1774
|
+
"""
|
|
1775
|
+
return pulumi.get(self, "disable_automated_rotation")
|
|
1776
|
+
|
|
1777
|
+
@_builtins.property
|
|
1778
|
+
@pulumi.getter(name="disableRemount")
|
|
1779
|
+
def disable_remount(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
1780
|
+
"""
|
|
1781
|
+
If set, opts out of mount migration on path updates.
|
|
1782
|
+
See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
|
|
1783
|
+
"""
|
|
1784
|
+
return pulumi.get(self, "disable_remount")
|
|
1785
|
+
|
|
1786
|
+
@_builtins.property
|
|
1787
|
+
@pulumi.getter(name="externalEntropyAccess")
|
|
1788
|
+
def external_entropy_access(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
1789
|
+
"""
|
|
1790
|
+
Enable the secrets engine to access Vault's external entropy source
|
|
1791
|
+
"""
|
|
1792
|
+
return pulumi.get(self, "external_entropy_access")
|
|
1793
|
+
|
|
1794
|
+
@_builtins.property
|
|
1795
|
+
@pulumi.getter(name="forceNoCache")
|
|
1796
|
+
def force_no_cache(self) -> pulumi.Output[_builtins.bool]:
|
|
1797
|
+
"""
|
|
1798
|
+
If set to true, disables caching.
|
|
1799
|
+
"""
|
|
1800
|
+
return pulumi.get(self, "force_no_cache")
|
|
1801
|
+
|
|
1802
|
+
@_builtins.property
|
|
1803
|
+
@pulumi.getter(name="iamEndpoint")
|
|
1804
|
+
def iam_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1805
|
+
"""
|
|
1806
|
+
Specifies a custom HTTP IAM endpoint to use.
|
|
1807
|
+
"""
|
|
1808
|
+
return pulumi.get(self, "iam_endpoint")
|
|
1809
|
+
|
|
1810
|
+
@_builtins.property
|
|
1811
|
+
@pulumi.getter(name="identityTokenAudience")
|
|
1812
|
+
def identity_token_audience(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1813
|
+
"""
|
|
1814
|
+
The audience claim value. Requires Vault 1.16+.
|
|
1815
|
+
"""
|
|
1816
|
+
return pulumi.get(self, "identity_token_audience")
|
|
1817
|
+
|
|
1818
|
+
@_builtins.property
|
|
1819
|
+
@pulumi.getter(name="identityTokenKey")
|
|
1820
|
+
def identity_token_key(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1821
|
+
"""
|
|
1822
|
+
The key to use for signing identity tokens.
|
|
1823
|
+
"""
|
|
1824
|
+
return pulumi.get(self, "identity_token_key")
|
|
1825
|
+
|
|
1826
|
+
@_builtins.property
|
|
1827
|
+
@pulumi.getter(name="identityTokenTtl")
|
|
1828
|
+
def identity_token_ttl(self) -> pulumi.Output[_builtins.int]:
|
|
1829
|
+
"""
|
|
1830
|
+
The TTL of generated identity tokens in seconds. Requires Vault 1.16+.
|
|
1831
|
+
"""
|
|
1832
|
+
return pulumi.get(self, "identity_token_ttl")
|
|
1833
|
+
|
|
1834
|
+
@_builtins.property
|
|
1835
|
+
@pulumi.getter(name="listingVisibility")
|
|
1836
|
+
def listing_visibility(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1837
|
+
"""
|
|
1838
|
+
Specifies whether to show this mount in the UI-specific listing endpoint
|
|
1839
|
+
"""
|
|
1840
|
+
return pulumi.get(self, "listing_visibility")
|
|
1841
|
+
|
|
1842
|
+
@_builtins.property
|
|
1843
|
+
@pulumi.getter
|
|
1844
|
+
def local(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
1845
|
+
"""
|
|
1846
|
+
Specifies if the secret backend is local only
|
|
1847
|
+
"""
|
|
1848
|
+
return pulumi.get(self, "local")
|
|
1849
|
+
|
|
1850
|
+
@_builtins.property
|
|
1851
|
+
@pulumi.getter(name="maxLeaseTtlSeconds")
|
|
1852
|
+
def max_lease_ttl_seconds(self) -> pulumi.Output[_builtins.int]:
|
|
1853
|
+
"""
|
|
1854
|
+
Maximum possible lease duration for secrets in seconds
|
|
1855
|
+
"""
|
|
1856
|
+
return pulumi.get(self, "max_lease_ttl_seconds")
|
|
1857
|
+
|
|
1858
|
+
@_builtins.property
|
|
1859
|
+
@pulumi.getter(name="maxRetries")
|
|
1860
|
+
def max_retries(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
1861
|
+
"""
|
|
1862
|
+
Number of max retries the client should use for recoverable errors.
|
|
1863
|
+
"""
|
|
1864
|
+
return pulumi.get(self, "max_retries")
|
|
1865
|
+
|
|
1866
|
+
@_builtins.property
|
|
1867
|
+
@pulumi.getter
|
|
1868
|
+
def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1869
|
+
"""
|
|
1870
|
+
The namespace to provision the resource in.
|
|
1871
|
+
The value should not contain leading or trailing forward slashes.
|
|
1872
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
1873
|
+
*Available only for Vault Enterprise*.
|
|
1874
|
+
"""
|
|
1875
|
+
return pulumi.get(self, "namespace")
|
|
1876
|
+
|
|
1877
|
+
@_builtins.property
|
|
1878
|
+
@pulumi.getter
|
|
1879
|
+
def options(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
|
|
1880
|
+
"""
|
|
1881
|
+
Specifies mount type specific options that are passed to the backend
|
|
1882
|
+
"""
|
|
1883
|
+
return pulumi.get(self, "options")
|
|
1884
|
+
|
|
1885
|
+
@_builtins.property
|
|
1886
|
+
@pulumi.getter(name="passthroughRequestHeaders")
|
|
1887
|
+
def passthrough_request_headers(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
1888
|
+
"""
|
|
1889
|
+
List of headers to allow and pass from the request to the plugin
|
|
1890
|
+
"""
|
|
1891
|
+
return pulumi.get(self, "passthrough_request_headers")
|
|
1892
|
+
|
|
1893
|
+
@_builtins.property
|
|
1894
|
+
@pulumi.getter
|
|
1895
|
+
def path(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1896
|
+
"""
|
|
1897
|
+
The unique path this backend should be mounted at. Must
|
|
1898
|
+
not begin or end with a `/`. Defaults to `aws`.
|
|
1899
|
+
"""
|
|
1900
|
+
return pulumi.get(self, "path")
|
|
1901
|
+
|
|
1902
|
+
@_builtins.property
|
|
1903
|
+
@pulumi.getter(name="pluginVersion")
|
|
1904
|
+
def plugin_version(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1905
|
+
"""
|
|
1906
|
+
Specifies the semantic version of the plugin to use, e.g. 'v1.0.0'
|
|
1907
|
+
"""
|
|
1908
|
+
return pulumi.get(self, "plugin_version")
|
|
1909
|
+
|
|
1910
|
+
@_builtins.property
|
|
1911
|
+
@pulumi.getter
|
|
1912
|
+
def region(self) -> pulumi.Output[_builtins.str]:
|
|
1913
|
+
"""
|
|
1914
|
+
The AWS region to make API calls against. Defaults to us-east-1.
|
|
1915
|
+
"""
|
|
1916
|
+
return pulumi.get(self, "region")
|
|
1917
|
+
|
|
1918
|
+
@_builtins.property
|
|
1919
|
+
@pulumi.getter(name="roleArn")
|
|
1920
|
+
def role_arn(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1921
|
+
"""
|
|
1922
|
+
Role ARN to assume for plugin identity token federation. Requires Vault 1.16+.
|
|
1923
|
+
"""
|
|
1924
|
+
return pulumi.get(self, "role_arn")
|
|
1925
|
+
|
|
1926
|
+
@_builtins.property
|
|
1927
|
+
@pulumi.getter(name="rotationPeriod")
|
|
1928
|
+
def rotation_period(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
1929
|
+
"""
|
|
1930
|
+
The amount of time in seconds Vault should wait before rotating the root credential.
|
|
1931
|
+
A zero value tells Vault not to rotate the root credential. The minimum rotation period is 10 seconds. Requires Vault Enterprise 1.19+.
|
|
1932
|
+
"""
|
|
1933
|
+
return pulumi.get(self, "rotation_period")
|
|
1934
|
+
|
|
1935
|
+
@_builtins.property
|
|
1936
|
+
@pulumi.getter(name="rotationSchedule")
|
|
1937
|
+
def rotation_schedule(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1938
|
+
"""
|
|
1939
|
+
The schedule, in [cron-style time format](https://en.wikipedia.org/wiki/Cron),
|
|
1940
|
+
defining the schedule on which Vault should rotate the root token. Requires Vault Enterprise 1.19+.
|
|
1941
|
+
"""
|
|
1942
|
+
return pulumi.get(self, "rotation_schedule")
|
|
1943
|
+
|
|
1944
|
+
@_builtins.property
|
|
1945
|
+
@pulumi.getter(name="rotationWindow")
|
|
1946
|
+
def rotation_window(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
1947
|
+
"""
|
|
1948
|
+
The maximum amount of time in seconds allowed to complete
|
|
1949
|
+
a rotation when a scheduled token rotation occurs. The default rotation window is
|
|
1950
|
+
unbound and the minimum allowable window is `3600`. Requires Vault Enterprise 1.19+.
|
|
1951
|
+
"""
|
|
1952
|
+
return pulumi.get(self, "rotation_window")
|
|
1953
|
+
|
|
1954
|
+
@_builtins.property
|
|
1955
|
+
@pulumi.getter(name="sealWrap")
|
|
1956
|
+
def seal_wrap(self) -> pulumi.Output[_builtins.bool]:
|
|
1957
|
+
"""
|
|
1958
|
+
Enable seal wrapping for the mount, causing values stored by the mount to be wrapped by the seal's encryption capability
|
|
1959
|
+
"""
|
|
1960
|
+
return pulumi.get(self, "seal_wrap")
|
|
1961
|
+
|
|
1962
|
+
@_builtins.property
|
|
1963
|
+
@pulumi.getter(name="secretKey")
|
|
1964
|
+
def secret_key(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1965
|
+
"""
|
|
1966
|
+
The AWS Secret Access Key to use when generating new credentials.
|
|
1967
|
+
"""
|
|
1968
|
+
return pulumi.get(self, "secret_key")
|
|
1969
|
+
|
|
1970
|
+
@_builtins.property
|
|
1971
|
+
@pulumi.getter(name="stsEndpoint")
|
|
1972
|
+
def sts_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1973
|
+
"""
|
|
1974
|
+
Specifies a custom HTTP STS endpoint to use.
|
|
1975
|
+
"""
|
|
1976
|
+
return pulumi.get(self, "sts_endpoint")
|
|
1977
|
+
|
|
1978
|
+
@_builtins.property
|
|
1979
|
+
@pulumi.getter(name="stsFallbackEndpoints")
|
|
1980
|
+
def sts_fallback_endpoints(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
1981
|
+
"""
|
|
1982
|
+
Ordered list of `sts_endpoint`s to try if the defined one fails. Requires Vault 1.19+
|
|
1983
|
+
"""
|
|
1984
|
+
return pulumi.get(self, "sts_fallback_endpoints")
|
|
1985
|
+
|
|
1986
|
+
@_builtins.property
|
|
1987
|
+
@pulumi.getter(name="stsFallbackRegions")
|
|
1988
|
+
def sts_fallback_regions(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
1989
|
+
"""
|
|
1990
|
+
Ordered list of `sts_region`s matching the fallback endpoints. Should correspond in order with those endpoints. Requires Vault 1.19+
|
|
1991
|
+
"""
|
|
1992
|
+
return pulumi.get(self, "sts_fallback_regions")
|
|
1993
|
+
|
|
1994
|
+
@_builtins.property
|
|
1995
|
+
@pulumi.getter(name="stsRegion")
|
|
1996
|
+
def sts_region(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1997
|
+
"""
|
|
1998
|
+
Specifies the region of the STS endpoint. Should be included if `sts_endpoint` is supplied. Requires Vault 1.19+
|
|
1999
|
+
"""
|
|
2000
|
+
return pulumi.get(self, "sts_region")
|
|
2001
|
+
|
|
2002
|
+
@_builtins.property
|
|
2003
|
+
@pulumi.getter(name="usernameTemplate")
|
|
2004
|
+
def username_template(self) -> pulumi.Output[_builtins.str]:
|
|
2005
|
+
"""
|
|
2006
|
+
Template describing how dynamic usernames are generated. The username template is used to generate both IAM usernames (capped at 64 characters) and STS usernames (capped at 32 characters). If no template is provided the field defaults to the template:
|
|
2007
|
+
|
|
2008
|
+
```
|
|
2009
|
+
{{ if (eq .Type "STS") }}
|
|
2010
|
+
{{ printf "vault-%s-%s" (unix_time) (random 20) | truncate 32 }}
|
|
2011
|
+
{{ else }}
|
|
2012
|
+
{{ printf "vault-%s-%s-%s" (printf "%s-%s" (.DisplayName) (.PolicyName) | truncate 42) (unix_time) (random 20) | truncate 64 }}
|
|
2013
|
+
{{ end }}
|
|
2014
|
+
|
|
2015
|
+
```
|
|
2016
|
+
"""
|
|
2017
|
+
return pulumi.get(self, "username_template")
|
|
2018
|
+
|