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,609 @@
|
|
|
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__ = ['RaftAutopilotArgs', 'RaftAutopilot']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class RaftAutopilotArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
cleanup_dead_servers: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
23
|
+
dead_server_last_contact_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
24
|
+
disable_upgrade_migration: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
25
|
+
last_contact_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
26
|
+
max_trailing_logs: Optional[pulumi.Input[_builtins.int]] = None,
|
|
27
|
+
min_quorum: Optional[pulumi.Input[_builtins.int]] = None,
|
|
28
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
29
|
+
server_stabilization_time: Optional[pulumi.Input[_builtins.str]] = None):
|
|
30
|
+
"""
|
|
31
|
+
The set of arguments for constructing a RaftAutopilot resource.
|
|
32
|
+
:param pulumi.Input[_builtins.bool] cleanup_dead_servers: Specifies whether to remove dead server nodes
|
|
33
|
+
periodically or when a new server joins. This requires that `min-quorum` is also set.
|
|
34
|
+
:param pulumi.Input[_builtins.str] dead_server_last_contact_threshold: Limit the amount of time a
|
|
35
|
+
server can go without leader contact before being considered failed. This only takes
|
|
36
|
+
effect when `cleanup_dead_servers` is set.
|
|
37
|
+
:param pulumi.Input[_builtins.bool] disable_upgrade_migration: Disables automatically upgrading Vault using autopilot. (Enterprise-only)
|
|
38
|
+
:param pulumi.Input[_builtins.str] last_contact_threshold: Limit the amount of time a server can go
|
|
39
|
+
without leader contact before being considered unhealthy.
|
|
40
|
+
:param pulumi.Input[_builtins.int] max_trailing_logs: Maximum number of log entries in the Raft log
|
|
41
|
+
that a server can be behind its leader before being considered unhealthy.
|
|
42
|
+
:param pulumi.Input[_builtins.int] min_quorum: Minimum number of servers allowed in a cluster before
|
|
43
|
+
autopilot can prune dead servers. This should at least be 3. Applicable only for
|
|
44
|
+
voting nodes.
|
|
45
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
46
|
+
The value should not contain leading or trailing forward slashes.
|
|
47
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
48
|
+
*Available only for Vault Enterprise*.
|
|
49
|
+
:param pulumi.Input[_builtins.str] server_stabilization_time: Minimum amount of time a server must be
|
|
50
|
+
stable in the 'healthy' state before being added to the cluster.
|
|
51
|
+
"""
|
|
52
|
+
if cleanup_dead_servers is not None:
|
|
53
|
+
pulumi.set(__self__, "cleanup_dead_servers", cleanup_dead_servers)
|
|
54
|
+
if dead_server_last_contact_threshold is not None:
|
|
55
|
+
pulumi.set(__self__, "dead_server_last_contact_threshold", dead_server_last_contact_threshold)
|
|
56
|
+
if disable_upgrade_migration is not None:
|
|
57
|
+
pulumi.set(__self__, "disable_upgrade_migration", disable_upgrade_migration)
|
|
58
|
+
if last_contact_threshold is not None:
|
|
59
|
+
pulumi.set(__self__, "last_contact_threshold", last_contact_threshold)
|
|
60
|
+
if max_trailing_logs is not None:
|
|
61
|
+
pulumi.set(__self__, "max_trailing_logs", max_trailing_logs)
|
|
62
|
+
if min_quorum is not None:
|
|
63
|
+
pulumi.set(__self__, "min_quorum", min_quorum)
|
|
64
|
+
if namespace is not None:
|
|
65
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
66
|
+
if server_stabilization_time is not None:
|
|
67
|
+
pulumi.set(__self__, "server_stabilization_time", server_stabilization_time)
|
|
68
|
+
|
|
69
|
+
@_builtins.property
|
|
70
|
+
@pulumi.getter(name="cleanupDeadServers")
|
|
71
|
+
def cleanup_dead_servers(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
72
|
+
"""
|
|
73
|
+
Specifies whether to remove dead server nodes
|
|
74
|
+
periodically or when a new server joins. This requires that `min-quorum` is also set.
|
|
75
|
+
"""
|
|
76
|
+
return pulumi.get(self, "cleanup_dead_servers")
|
|
77
|
+
|
|
78
|
+
@cleanup_dead_servers.setter
|
|
79
|
+
def cleanup_dead_servers(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
80
|
+
pulumi.set(self, "cleanup_dead_servers", value)
|
|
81
|
+
|
|
82
|
+
@_builtins.property
|
|
83
|
+
@pulumi.getter(name="deadServerLastContactThreshold")
|
|
84
|
+
def dead_server_last_contact_threshold(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
85
|
+
"""
|
|
86
|
+
Limit the amount of time a
|
|
87
|
+
server can go without leader contact before being considered failed. This only takes
|
|
88
|
+
effect when `cleanup_dead_servers` is set.
|
|
89
|
+
"""
|
|
90
|
+
return pulumi.get(self, "dead_server_last_contact_threshold")
|
|
91
|
+
|
|
92
|
+
@dead_server_last_contact_threshold.setter
|
|
93
|
+
def dead_server_last_contact_threshold(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
94
|
+
pulumi.set(self, "dead_server_last_contact_threshold", value)
|
|
95
|
+
|
|
96
|
+
@_builtins.property
|
|
97
|
+
@pulumi.getter(name="disableUpgradeMigration")
|
|
98
|
+
def disable_upgrade_migration(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
99
|
+
"""
|
|
100
|
+
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
|
|
101
|
+
"""
|
|
102
|
+
return pulumi.get(self, "disable_upgrade_migration")
|
|
103
|
+
|
|
104
|
+
@disable_upgrade_migration.setter
|
|
105
|
+
def disable_upgrade_migration(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
106
|
+
pulumi.set(self, "disable_upgrade_migration", value)
|
|
107
|
+
|
|
108
|
+
@_builtins.property
|
|
109
|
+
@pulumi.getter(name="lastContactThreshold")
|
|
110
|
+
def last_contact_threshold(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
111
|
+
"""
|
|
112
|
+
Limit the amount of time a server can go
|
|
113
|
+
without leader contact before being considered unhealthy.
|
|
114
|
+
"""
|
|
115
|
+
return pulumi.get(self, "last_contact_threshold")
|
|
116
|
+
|
|
117
|
+
@last_contact_threshold.setter
|
|
118
|
+
def last_contact_threshold(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
119
|
+
pulumi.set(self, "last_contact_threshold", value)
|
|
120
|
+
|
|
121
|
+
@_builtins.property
|
|
122
|
+
@pulumi.getter(name="maxTrailingLogs")
|
|
123
|
+
def max_trailing_logs(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
124
|
+
"""
|
|
125
|
+
Maximum number of log entries in the Raft log
|
|
126
|
+
that a server can be behind its leader before being considered unhealthy.
|
|
127
|
+
"""
|
|
128
|
+
return pulumi.get(self, "max_trailing_logs")
|
|
129
|
+
|
|
130
|
+
@max_trailing_logs.setter
|
|
131
|
+
def max_trailing_logs(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
132
|
+
pulumi.set(self, "max_trailing_logs", value)
|
|
133
|
+
|
|
134
|
+
@_builtins.property
|
|
135
|
+
@pulumi.getter(name="minQuorum")
|
|
136
|
+
def min_quorum(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
137
|
+
"""
|
|
138
|
+
Minimum number of servers allowed in a cluster before
|
|
139
|
+
autopilot can prune dead servers. This should at least be 3. Applicable only for
|
|
140
|
+
voting nodes.
|
|
141
|
+
"""
|
|
142
|
+
return pulumi.get(self, "min_quorum")
|
|
143
|
+
|
|
144
|
+
@min_quorum.setter
|
|
145
|
+
def min_quorum(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
146
|
+
pulumi.set(self, "min_quorum", value)
|
|
147
|
+
|
|
148
|
+
@_builtins.property
|
|
149
|
+
@pulumi.getter
|
|
150
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
151
|
+
"""
|
|
152
|
+
The namespace to provision the resource in.
|
|
153
|
+
The value should not contain leading or trailing forward slashes.
|
|
154
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
155
|
+
*Available only for Vault Enterprise*.
|
|
156
|
+
"""
|
|
157
|
+
return pulumi.get(self, "namespace")
|
|
158
|
+
|
|
159
|
+
@namespace.setter
|
|
160
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
161
|
+
pulumi.set(self, "namespace", value)
|
|
162
|
+
|
|
163
|
+
@_builtins.property
|
|
164
|
+
@pulumi.getter(name="serverStabilizationTime")
|
|
165
|
+
def server_stabilization_time(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
166
|
+
"""
|
|
167
|
+
Minimum amount of time a server must be
|
|
168
|
+
stable in the 'healthy' state before being added to the cluster.
|
|
169
|
+
"""
|
|
170
|
+
return pulumi.get(self, "server_stabilization_time")
|
|
171
|
+
|
|
172
|
+
@server_stabilization_time.setter
|
|
173
|
+
def server_stabilization_time(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
174
|
+
pulumi.set(self, "server_stabilization_time", value)
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
@pulumi.input_type
|
|
178
|
+
class _RaftAutopilotState:
|
|
179
|
+
def __init__(__self__, *,
|
|
180
|
+
cleanup_dead_servers: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
181
|
+
dead_server_last_contact_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
182
|
+
disable_upgrade_migration: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
183
|
+
last_contact_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
184
|
+
max_trailing_logs: Optional[pulumi.Input[_builtins.int]] = None,
|
|
185
|
+
min_quorum: Optional[pulumi.Input[_builtins.int]] = None,
|
|
186
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
187
|
+
server_stabilization_time: Optional[pulumi.Input[_builtins.str]] = None):
|
|
188
|
+
"""
|
|
189
|
+
Input properties used for looking up and filtering RaftAutopilot resources.
|
|
190
|
+
:param pulumi.Input[_builtins.bool] cleanup_dead_servers: Specifies whether to remove dead server nodes
|
|
191
|
+
periodically or when a new server joins. This requires that `min-quorum` is also set.
|
|
192
|
+
:param pulumi.Input[_builtins.str] dead_server_last_contact_threshold: Limit the amount of time a
|
|
193
|
+
server can go without leader contact before being considered failed. This only takes
|
|
194
|
+
effect when `cleanup_dead_servers` is set.
|
|
195
|
+
:param pulumi.Input[_builtins.bool] disable_upgrade_migration: Disables automatically upgrading Vault using autopilot. (Enterprise-only)
|
|
196
|
+
:param pulumi.Input[_builtins.str] last_contact_threshold: Limit the amount of time a server can go
|
|
197
|
+
without leader contact before being considered unhealthy.
|
|
198
|
+
:param pulumi.Input[_builtins.int] max_trailing_logs: Maximum number of log entries in the Raft log
|
|
199
|
+
that a server can be behind its leader before being considered unhealthy.
|
|
200
|
+
:param pulumi.Input[_builtins.int] min_quorum: Minimum number of servers allowed in a cluster before
|
|
201
|
+
autopilot can prune dead servers. This should at least be 3. Applicable only for
|
|
202
|
+
voting nodes.
|
|
203
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
204
|
+
The value should not contain leading or trailing forward slashes.
|
|
205
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
206
|
+
*Available only for Vault Enterprise*.
|
|
207
|
+
:param pulumi.Input[_builtins.str] server_stabilization_time: Minimum amount of time a server must be
|
|
208
|
+
stable in the 'healthy' state before being added to the cluster.
|
|
209
|
+
"""
|
|
210
|
+
if cleanup_dead_servers is not None:
|
|
211
|
+
pulumi.set(__self__, "cleanup_dead_servers", cleanup_dead_servers)
|
|
212
|
+
if dead_server_last_contact_threshold is not None:
|
|
213
|
+
pulumi.set(__self__, "dead_server_last_contact_threshold", dead_server_last_contact_threshold)
|
|
214
|
+
if disable_upgrade_migration is not None:
|
|
215
|
+
pulumi.set(__self__, "disable_upgrade_migration", disable_upgrade_migration)
|
|
216
|
+
if last_contact_threshold is not None:
|
|
217
|
+
pulumi.set(__self__, "last_contact_threshold", last_contact_threshold)
|
|
218
|
+
if max_trailing_logs is not None:
|
|
219
|
+
pulumi.set(__self__, "max_trailing_logs", max_trailing_logs)
|
|
220
|
+
if min_quorum is not None:
|
|
221
|
+
pulumi.set(__self__, "min_quorum", min_quorum)
|
|
222
|
+
if namespace is not None:
|
|
223
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
224
|
+
if server_stabilization_time is not None:
|
|
225
|
+
pulumi.set(__self__, "server_stabilization_time", server_stabilization_time)
|
|
226
|
+
|
|
227
|
+
@_builtins.property
|
|
228
|
+
@pulumi.getter(name="cleanupDeadServers")
|
|
229
|
+
def cleanup_dead_servers(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
230
|
+
"""
|
|
231
|
+
Specifies whether to remove dead server nodes
|
|
232
|
+
periodically or when a new server joins. This requires that `min-quorum` is also set.
|
|
233
|
+
"""
|
|
234
|
+
return pulumi.get(self, "cleanup_dead_servers")
|
|
235
|
+
|
|
236
|
+
@cleanup_dead_servers.setter
|
|
237
|
+
def cleanup_dead_servers(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
238
|
+
pulumi.set(self, "cleanup_dead_servers", value)
|
|
239
|
+
|
|
240
|
+
@_builtins.property
|
|
241
|
+
@pulumi.getter(name="deadServerLastContactThreshold")
|
|
242
|
+
def dead_server_last_contact_threshold(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
243
|
+
"""
|
|
244
|
+
Limit the amount of time a
|
|
245
|
+
server can go without leader contact before being considered failed. This only takes
|
|
246
|
+
effect when `cleanup_dead_servers` is set.
|
|
247
|
+
"""
|
|
248
|
+
return pulumi.get(self, "dead_server_last_contact_threshold")
|
|
249
|
+
|
|
250
|
+
@dead_server_last_contact_threshold.setter
|
|
251
|
+
def dead_server_last_contact_threshold(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
252
|
+
pulumi.set(self, "dead_server_last_contact_threshold", value)
|
|
253
|
+
|
|
254
|
+
@_builtins.property
|
|
255
|
+
@pulumi.getter(name="disableUpgradeMigration")
|
|
256
|
+
def disable_upgrade_migration(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
257
|
+
"""
|
|
258
|
+
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
|
|
259
|
+
"""
|
|
260
|
+
return pulumi.get(self, "disable_upgrade_migration")
|
|
261
|
+
|
|
262
|
+
@disable_upgrade_migration.setter
|
|
263
|
+
def disable_upgrade_migration(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
264
|
+
pulumi.set(self, "disable_upgrade_migration", value)
|
|
265
|
+
|
|
266
|
+
@_builtins.property
|
|
267
|
+
@pulumi.getter(name="lastContactThreshold")
|
|
268
|
+
def last_contact_threshold(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
269
|
+
"""
|
|
270
|
+
Limit the amount of time a server can go
|
|
271
|
+
without leader contact before being considered unhealthy.
|
|
272
|
+
"""
|
|
273
|
+
return pulumi.get(self, "last_contact_threshold")
|
|
274
|
+
|
|
275
|
+
@last_contact_threshold.setter
|
|
276
|
+
def last_contact_threshold(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
277
|
+
pulumi.set(self, "last_contact_threshold", value)
|
|
278
|
+
|
|
279
|
+
@_builtins.property
|
|
280
|
+
@pulumi.getter(name="maxTrailingLogs")
|
|
281
|
+
def max_trailing_logs(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
282
|
+
"""
|
|
283
|
+
Maximum number of log entries in the Raft log
|
|
284
|
+
that a server can be behind its leader before being considered unhealthy.
|
|
285
|
+
"""
|
|
286
|
+
return pulumi.get(self, "max_trailing_logs")
|
|
287
|
+
|
|
288
|
+
@max_trailing_logs.setter
|
|
289
|
+
def max_trailing_logs(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
290
|
+
pulumi.set(self, "max_trailing_logs", value)
|
|
291
|
+
|
|
292
|
+
@_builtins.property
|
|
293
|
+
@pulumi.getter(name="minQuorum")
|
|
294
|
+
def min_quorum(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
295
|
+
"""
|
|
296
|
+
Minimum number of servers allowed in a cluster before
|
|
297
|
+
autopilot can prune dead servers. This should at least be 3. Applicable only for
|
|
298
|
+
voting nodes.
|
|
299
|
+
"""
|
|
300
|
+
return pulumi.get(self, "min_quorum")
|
|
301
|
+
|
|
302
|
+
@min_quorum.setter
|
|
303
|
+
def min_quorum(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
304
|
+
pulumi.set(self, "min_quorum", value)
|
|
305
|
+
|
|
306
|
+
@_builtins.property
|
|
307
|
+
@pulumi.getter
|
|
308
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
309
|
+
"""
|
|
310
|
+
The namespace to provision the resource in.
|
|
311
|
+
The value should not contain leading or trailing forward slashes.
|
|
312
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
313
|
+
*Available only for Vault Enterprise*.
|
|
314
|
+
"""
|
|
315
|
+
return pulumi.get(self, "namespace")
|
|
316
|
+
|
|
317
|
+
@namespace.setter
|
|
318
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
319
|
+
pulumi.set(self, "namespace", value)
|
|
320
|
+
|
|
321
|
+
@_builtins.property
|
|
322
|
+
@pulumi.getter(name="serverStabilizationTime")
|
|
323
|
+
def server_stabilization_time(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
324
|
+
"""
|
|
325
|
+
Minimum amount of time a server must be
|
|
326
|
+
stable in the 'healthy' state before being added to the cluster.
|
|
327
|
+
"""
|
|
328
|
+
return pulumi.get(self, "server_stabilization_time")
|
|
329
|
+
|
|
330
|
+
@server_stabilization_time.setter
|
|
331
|
+
def server_stabilization_time(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
332
|
+
pulumi.set(self, "server_stabilization_time", value)
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
@pulumi.type_token("vault:index/raftAutopilot:RaftAutopilot")
|
|
336
|
+
class RaftAutopilot(pulumi.CustomResource):
|
|
337
|
+
@overload
|
|
338
|
+
def __init__(__self__,
|
|
339
|
+
resource_name: str,
|
|
340
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
341
|
+
cleanup_dead_servers: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
342
|
+
dead_server_last_contact_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
343
|
+
disable_upgrade_migration: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
344
|
+
last_contact_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
345
|
+
max_trailing_logs: Optional[pulumi.Input[_builtins.int]] = None,
|
|
346
|
+
min_quorum: Optional[pulumi.Input[_builtins.int]] = None,
|
|
347
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
348
|
+
server_stabilization_time: Optional[pulumi.Input[_builtins.str]] = None,
|
|
349
|
+
__props__=None):
|
|
350
|
+
"""
|
|
351
|
+
Autopilot enables automated workflows for managing Raft clusters. The
|
|
352
|
+
current feature set includes 3 main features: Server Stabilization, Dead
|
|
353
|
+
Server Cleanup and State API. **These three features are introduced in
|
|
354
|
+
Vault 1.7.**
|
|
355
|
+
|
|
356
|
+
## Example Usage
|
|
357
|
+
|
|
358
|
+
```python
|
|
359
|
+
import pulumi
|
|
360
|
+
import pulumi_vault as vault
|
|
361
|
+
|
|
362
|
+
autopilot = vault.RaftAutopilot("autopilot",
|
|
363
|
+
cleanup_dead_servers=True,
|
|
364
|
+
dead_server_last_contact_threshold="24h0m0s",
|
|
365
|
+
last_contact_threshold="10s",
|
|
366
|
+
max_trailing_logs=1000,
|
|
367
|
+
min_quorum=3,
|
|
368
|
+
server_stabilization_time="10s")
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
## Import
|
|
372
|
+
|
|
373
|
+
Raft Autopilot config can be imported using the ID, e.g.
|
|
374
|
+
|
|
375
|
+
```sh
|
|
376
|
+
$ pulumi import vault:index/raftAutopilot:RaftAutopilot autopilot sys/storage/raft/autopilot/configuration
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
:param str resource_name: The name of the resource.
|
|
380
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
381
|
+
:param pulumi.Input[_builtins.bool] cleanup_dead_servers: Specifies whether to remove dead server nodes
|
|
382
|
+
periodically or when a new server joins. This requires that `min-quorum` is also set.
|
|
383
|
+
:param pulumi.Input[_builtins.str] dead_server_last_contact_threshold: Limit the amount of time a
|
|
384
|
+
server can go without leader contact before being considered failed. This only takes
|
|
385
|
+
effect when `cleanup_dead_servers` is set.
|
|
386
|
+
:param pulumi.Input[_builtins.bool] disable_upgrade_migration: Disables automatically upgrading Vault using autopilot. (Enterprise-only)
|
|
387
|
+
:param pulumi.Input[_builtins.str] last_contact_threshold: Limit the amount of time a server can go
|
|
388
|
+
without leader contact before being considered unhealthy.
|
|
389
|
+
:param pulumi.Input[_builtins.int] max_trailing_logs: Maximum number of log entries in the Raft log
|
|
390
|
+
that a server can be behind its leader before being considered unhealthy.
|
|
391
|
+
:param pulumi.Input[_builtins.int] min_quorum: Minimum number of servers allowed in a cluster before
|
|
392
|
+
autopilot can prune dead servers. This should at least be 3. Applicable only for
|
|
393
|
+
voting nodes.
|
|
394
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
395
|
+
The value should not contain leading or trailing forward slashes.
|
|
396
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
397
|
+
*Available only for Vault Enterprise*.
|
|
398
|
+
:param pulumi.Input[_builtins.str] server_stabilization_time: Minimum amount of time a server must be
|
|
399
|
+
stable in the 'healthy' state before being added to the cluster.
|
|
400
|
+
"""
|
|
401
|
+
...
|
|
402
|
+
@overload
|
|
403
|
+
def __init__(__self__,
|
|
404
|
+
resource_name: str,
|
|
405
|
+
args: Optional[RaftAutopilotArgs] = None,
|
|
406
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
407
|
+
"""
|
|
408
|
+
Autopilot enables automated workflows for managing Raft clusters. The
|
|
409
|
+
current feature set includes 3 main features: Server Stabilization, Dead
|
|
410
|
+
Server Cleanup and State API. **These three features are introduced in
|
|
411
|
+
Vault 1.7.**
|
|
412
|
+
|
|
413
|
+
## Example Usage
|
|
414
|
+
|
|
415
|
+
```python
|
|
416
|
+
import pulumi
|
|
417
|
+
import pulumi_vault as vault
|
|
418
|
+
|
|
419
|
+
autopilot = vault.RaftAutopilot("autopilot",
|
|
420
|
+
cleanup_dead_servers=True,
|
|
421
|
+
dead_server_last_contact_threshold="24h0m0s",
|
|
422
|
+
last_contact_threshold="10s",
|
|
423
|
+
max_trailing_logs=1000,
|
|
424
|
+
min_quorum=3,
|
|
425
|
+
server_stabilization_time="10s")
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
## Import
|
|
429
|
+
|
|
430
|
+
Raft Autopilot config can be imported using the ID, e.g.
|
|
431
|
+
|
|
432
|
+
```sh
|
|
433
|
+
$ pulumi import vault:index/raftAutopilot:RaftAutopilot autopilot sys/storage/raft/autopilot/configuration
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
:param str resource_name: The name of the resource.
|
|
437
|
+
:param RaftAutopilotArgs args: The arguments to use to populate this resource's properties.
|
|
438
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
439
|
+
"""
|
|
440
|
+
...
|
|
441
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
442
|
+
resource_args, opts = _utilities.get_resource_args_opts(RaftAutopilotArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
443
|
+
if resource_args is not None:
|
|
444
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
445
|
+
else:
|
|
446
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
447
|
+
|
|
448
|
+
def _internal_init(__self__,
|
|
449
|
+
resource_name: str,
|
|
450
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
451
|
+
cleanup_dead_servers: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
452
|
+
dead_server_last_contact_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
453
|
+
disable_upgrade_migration: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
454
|
+
last_contact_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
455
|
+
max_trailing_logs: Optional[pulumi.Input[_builtins.int]] = None,
|
|
456
|
+
min_quorum: Optional[pulumi.Input[_builtins.int]] = None,
|
|
457
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
458
|
+
server_stabilization_time: Optional[pulumi.Input[_builtins.str]] = None,
|
|
459
|
+
__props__=None):
|
|
460
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
461
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
462
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
463
|
+
if opts.id is None:
|
|
464
|
+
if __props__ is not None:
|
|
465
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
466
|
+
__props__ = RaftAutopilotArgs.__new__(RaftAutopilotArgs)
|
|
467
|
+
|
|
468
|
+
__props__.__dict__["cleanup_dead_servers"] = cleanup_dead_servers
|
|
469
|
+
__props__.__dict__["dead_server_last_contact_threshold"] = dead_server_last_contact_threshold
|
|
470
|
+
__props__.__dict__["disable_upgrade_migration"] = disable_upgrade_migration
|
|
471
|
+
__props__.__dict__["last_contact_threshold"] = last_contact_threshold
|
|
472
|
+
__props__.__dict__["max_trailing_logs"] = max_trailing_logs
|
|
473
|
+
__props__.__dict__["min_quorum"] = min_quorum
|
|
474
|
+
__props__.__dict__["namespace"] = namespace
|
|
475
|
+
__props__.__dict__["server_stabilization_time"] = server_stabilization_time
|
|
476
|
+
super(RaftAutopilot, __self__).__init__(
|
|
477
|
+
'vault:index/raftAutopilot:RaftAutopilot',
|
|
478
|
+
resource_name,
|
|
479
|
+
__props__,
|
|
480
|
+
opts)
|
|
481
|
+
|
|
482
|
+
@staticmethod
|
|
483
|
+
def get(resource_name: str,
|
|
484
|
+
id: pulumi.Input[str],
|
|
485
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
486
|
+
cleanup_dead_servers: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
487
|
+
dead_server_last_contact_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
488
|
+
disable_upgrade_migration: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
489
|
+
last_contact_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
490
|
+
max_trailing_logs: Optional[pulumi.Input[_builtins.int]] = None,
|
|
491
|
+
min_quorum: Optional[pulumi.Input[_builtins.int]] = None,
|
|
492
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
493
|
+
server_stabilization_time: Optional[pulumi.Input[_builtins.str]] = None) -> 'RaftAutopilot':
|
|
494
|
+
"""
|
|
495
|
+
Get an existing RaftAutopilot resource's state with the given name, id, and optional extra
|
|
496
|
+
properties used to qualify the lookup.
|
|
497
|
+
|
|
498
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
499
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
500
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
501
|
+
:param pulumi.Input[_builtins.bool] cleanup_dead_servers: Specifies whether to remove dead server nodes
|
|
502
|
+
periodically or when a new server joins. This requires that `min-quorum` is also set.
|
|
503
|
+
:param pulumi.Input[_builtins.str] dead_server_last_contact_threshold: Limit the amount of time a
|
|
504
|
+
server can go without leader contact before being considered failed. This only takes
|
|
505
|
+
effect when `cleanup_dead_servers` is set.
|
|
506
|
+
:param pulumi.Input[_builtins.bool] disable_upgrade_migration: Disables automatically upgrading Vault using autopilot. (Enterprise-only)
|
|
507
|
+
:param pulumi.Input[_builtins.str] last_contact_threshold: Limit the amount of time a server can go
|
|
508
|
+
without leader contact before being considered unhealthy.
|
|
509
|
+
:param pulumi.Input[_builtins.int] max_trailing_logs: Maximum number of log entries in the Raft log
|
|
510
|
+
that a server can be behind its leader before being considered unhealthy.
|
|
511
|
+
:param pulumi.Input[_builtins.int] min_quorum: Minimum number of servers allowed in a cluster before
|
|
512
|
+
autopilot can prune dead servers. This should at least be 3. Applicable only for
|
|
513
|
+
voting nodes.
|
|
514
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
515
|
+
The value should not contain leading or trailing forward slashes.
|
|
516
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
517
|
+
*Available only for Vault Enterprise*.
|
|
518
|
+
:param pulumi.Input[_builtins.str] server_stabilization_time: Minimum amount of time a server must be
|
|
519
|
+
stable in the 'healthy' state before being added to the cluster.
|
|
520
|
+
"""
|
|
521
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
522
|
+
|
|
523
|
+
__props__ = _RaftAutopilotState.__new__(_RaftAutopilotState)
|
|
524
|
+
|
|
525
|
+
__props__.__dict__["cleanup_dead_servers"] = cleanup_dead_servers
|
|
526
|
+
__props__.__dict__["dead_server_last_contact_threshold"] = dead_server_last_contact_threshold
|
|
527
|
+
__props__.__dict__["disable_upgrade_migration"] = disable_upgrade_migration
|
|
528
|
+
__props__.__dict__["last_contact_threshold"] = last_contact_threshold
|
|
529
|
+
__props__.__dict__["max_trailing_logs"] = max_trailing_logs
|
|
530
|
+
__props__.__dict__["min_quorum"] = min_quorum
|
|
531
|
+
__props__.__dict__["namespace"] = namespace
|
|
532
|
+
__props__.__dict__["server_stabilization_time"] = server_stabilization_time
|
|
533
|
+
return RaftAutopilot(resource_name, opts=opts, __props__=__props__)
|
|
534
|
+
|
|
535
|
+
@_builtins.property
|
|
536
|
+
@pulumi.getter(name="cleanupDeadServers")
|
|
537
|
+
def cleanup_dead_servers(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
538
|
+
"""
|
|
539
|
+
Specifies whether to remove dead server nodes
|
|
540
|
+
periodically or when a new server joins. This requires that `min-quorum` is also set.
|
|
541
|
+
"""
|
|
542
|
+
return pulumi.get(self, "cleanup_dead_servers")
|
|
543
|
+
|
|
544
|
+
@_builtins.property
|
|
545
|
+
@pulumi.getter(name="deadServerLastContactThreshold")
|
|
546
|
+
def dead_server_last_contact_threshold(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
547
|
+
"""
|
|
548
|
+
Limit the amount of time a
|
|
549
|
+
server can go without leader contact before being considered failed. This only takes
|
|
550
|
+
effect when `cleanup_dead_servers` is set.
|
|
551
|
+
"""
|
|
552
|
+
return pulumi.get(self, "dead_server_last_contact_threshold")
|
|
553
|
+
|
|
554
|
+
@_builtins.property
|
|
555
|
+
@pulumi.getter(name="disableUpgradeMigration")
|
|
556
|
+
def disable_upgrade_migration(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
557
|
+
"""
|
|
558
|
+
Disables automatically upgrading Vault using autopilot. (Enterprise-only)
|
|
559
|
+
"""
|
|
560
|
+
return pulumi.get(self, "disable_upgrade_migration")
|
|
561
|
+
|
|
562
|
+
@_builtins.property
|
|
563
|
+
@pulumi.getter(name="lastContactThreshold")
|
|
564
|
+
def last_contact_threshold(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
565
|
+
"""
|
|
566
|
+
Limit the amount of time a server can go
|
|
567
|
+
without leader contact before being considered unhealthy.
|
|
568
|
+
"""
|
|
569
|
+
return pulumi.get(self, "last_contact_threshold")
|
|
570
|
+
|
|
571
|
+
@_builtins.property
|
|
572
|
+
@pulumi.getter(name="maxTrailingLogs")
|
|
573
|
+
def max_trailing_logs(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
574
|
+
"""
|
|
575
|
+
Maximum number of log entries in the Raft log
|
|
576
|
+
that a server can be behind its leader before being considered unhealthy.
|
|
577
|
+
"""
|
|
578
|
+
return pulumi.get(self, "max_trailing_logs")
|
|
579
|
+
|
|
580
|
+
@_builtins.property
|
|
581
|
+
@pulumi.getter(name="minQuorum")
|
|
582
|
+
def min_quorum(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
583
|
+
"""
|
|
584
|
+
Minimum number of servers allowed in a cluster before
|
|
585
|
+
autopilot can prune dead servers. This should at least be 3. Applicable only for
|
|
586
|
+
voting nodes.
|
|
587
|
+
"""
|
|
588
|
+
return pulumi.get(self, "min_quorum")
|
|
589
|
+
|
|
590
|
+
@_builtins.property
|
|
591
|
+
@pulumi.getter
|
|
592
|
+
def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
593
|
+
"""
|
|
594
|
+
The namespace to provision the resource in.
|
|
595
|
+
The value should not contain leading or trailing forward slashes.
|
|
596
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
597
|
+
*Available only for Vault Enterprise*.
|
|
598
|
+
"""
|
|
599
|
+
return pulumi.get(self, "namespace")
|
|
600
|
+
|
|
601
|
+
@_builtins.property
|
|
602
|
+
@pulumi.getter(name="serverStabilizationTime")
|
|
603
|
+
def server_stabilization_time(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
604
|
+
"""
|
|
605
|
+
Minimum amount of time a server must be
|
|
606
|
+
stable in the 'healthy' state before being added to the cluster.
|
|
607
|
+
"""
|
|
608
|
+
return pulumi.get(self, "server_stabilization_time")
|
|
609
|
+
|