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,840 @@
|
|
|
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__ = ['SecretBackendRoleArgs', 'SecretBackendRole']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class SecretBackendRoleArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
backend: pulumi.Input[_builtins.str],
|
|
23
|
+
creation_statements: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
|
|
24
|
+
db_name: pulumi.Input[_builtins.str],
|
|
25
|
+
credential_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
26
|
+
credential_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
27
|
+
default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
28
|
+
max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
29
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
30
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
31
|
+
renew_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
32
|
+
revocation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
33
|
+
rollback_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
|
|
34
|
+
"""
|
|
35
|
+
The set of arguments for constructing a SecretBackendRole resource.
|
|
36
|
+
:param pulumi.Input[_builtins.str] backend: The unique name of the Vault mount to configure.
|
|
37
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] creation_statements: The database statements to execute when
|
|
38
|
+
creating a user.
|
|
39
|
+
:param pulumi.Input[_builtins.str] db_name: The unique name of the database connection to use for
|
|
40
|
+
the role.
|
|
41
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] credential_config: Specifies the configuration
|
|
42
|
+
for the given `credential_type`.
|
|
43
|
+
|
|
44
|
+
The following options are available for each `credential_type` value:
|
|
45
|
+
:param pulumi.Input[_builtins.str] credential_type: Specifies the type of credential that
|
|
46
|
+
will be generated for the role. Options include: `password`, `rsa_private_key`, `client_certificate`.
|
|
47
|
+
See the plugin's API page for credential types supported by individual databases.
|
|
48
|
+
:param pulumi.Input[_builtins.int] default_ttl: The default number of seconds for leases for this
|
|
49
|
+
role.
|
|
50
|
+
:param pulumi.Input[_builtins.int] max_ttl: The maximum number of seconds for leases for this
|
|
51
|
+
role.
|
|
52
|
+
:param pulumi.Input[_builtins.str] name: A unique name to give the role.
|
|
53
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
54
|
+
The value should not contain leading or trailing forward slashes.
|
|
55
|
+
The `namespace` is always relative to the provider's configured namespace.
|
|
56
|
+
*Available only for Vault Enterprise*.
|
|
57
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] renew_statements: The database statements to execute when
|
|
58
|
+
renewing a user.
|
|
59
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] revocation_statements: The database statements to execute when
|
|
60
|
+
revoking a user.
|
|
61
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] rollback_statements: The database statements to execute when
|
|
62
|
+
rolling back creation due to an error.
|
|
63
|
+
"""
|
|
64
|
+
pulumi.set(__self__, "backend", backend)
|
|
65
|
+
pulumi.set(__self__, "creation_statements", creation_statements)
|
|
66
|
+
pulumi.set(__self__, "db_name", db_name)
|
|
67
|
+
if credential_config is not None:
|
|
68
|
+
pulumi.set(__self__, "credential_config", credential_config)
|
|
69
|
+
if credential_type is not None:
|
|
70
|
+
pulumi.set(__self__, "credential_type", credential_type)
|
|
71
|
+
if default_ttl is not None:
|
|
72
|
+
pulumi.set(__self__, "default_ttl", default_ttl)
|
|
73
|
+
if max_ttl is not None:
|
|
74
|
+
pulumi.set(__self__, "max_ttl", max_ttl)
|
|
75
|
+
if name is not None:
|
|
76
|
+
pulumi.set(__self__, "name", name)
|
|
77
|
+
if namespace is not None:
|
|
78
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
79
|
+
if renew_statements is not None:
|
|
80
|
+
pulumi.set(__self__, "renew_statements", renew_statements)
|
|
81
|
+
if revocation_statements is not None:
|
|
82
|
+
pulumi.set(__self__, "revocation_statements", revocation_statements)
|
|
83
|
+
if rollback_statements is not None:
|
|
84
|
+
pulumi.set(__self__, "rollback_statements", rollback_statements)
|
|
85
|
+
|
|
86
|
+
@_builtins.property
|
|
87
|
+
@pulumi.getter
|
|
88
|
+
def backend(self) -> pulumi.Input[_builtins.str]:
|
|
89
|
+
"""
|
|
90
|
+
The unique name of the Vault mount to configure.
|
|
91
|
+
"""
|
|
92
|
+
return pulumi.get(self, "backend")
|
|
93
|
+
|
|
94
|
+
@backend.setter
|
|
95
|
+
def backend(self, value: pulumi.Input[_builtins.str]):
|
|
96
|
+
pulumi.set(self, "backend", value)
|
|
97
|
+
|
|
98
|
+
@_builtins.property
|
|
99
|
+
@pulumi.getter(name="creationStatements")
|
|
100
|
+
def creation_statements(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
|
|
101
|
+
"""
|
|
102
|
+
The database statements to execute when
|
|
103
|
+
creating a user.
|
|
104
|
+
"""
|
|
105
|
+
return pulumi.get(self, "creation_statements")
|
|
106
|
+
|
|
107
|
+
@creation_statements.setter
|
|
108
|
+
def creation_statements(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
|
|
109
|
+
pulumi.set(self, "creation_statements", value)
|
|
110
|
+
|
|
111
|
+
@_builtins.property
|
|
112
|
+
@pulumi.getter(name="dbName")
|
|
113
|
+
def db_name(self) -> pulumi.Input[_builtins.str]:
|
|
114
|
+
"""
|
|
115
|
+
The unique name of the database connection to use for
|
|
116
|
+
the role.
|
|
117
|
+
"""
|
|
118
|
+
return pulumi.get(self, "db_name")
|
|
119
|
+
|
|
120
|
+
@db_name.setter
|
|
121
|
+
def db_name(self, value: pulumi.Input[_builtins.str]):
|
|
122
|
+
pulumi.set(self, "db_name", value)
|
|
123
|
+
|
|
124
|
+
@_builtins.property
|
|
125
|
+
@pulumi.getter(name="credentialConfig")
|
|
126
|
+
def credential_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
127
|
+
"""
|
|
128
|
+
Specifies the configuration
|
|
129
|
+
for the given `credential_type`.
|
|
130
|
+
|
|
131
|
+
The following options are available for each `credential_type` value:
|
|
132
|
+
"""
|
|
133
|
+
return pulumi.get(self, "credential_config")
|
|
134
|
+
|
|
135
|
+
@credential_config.setter
|
|
136
|
+
def credential_config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
137
|
+
pulumi.set(self, "credential_config", value)
|
|
138
|
+
|
|
139
|
+
@_builtins.property
|
|
140
|
+
@pulumi.getter(name="credentialType")
|
|
141
|
+
def credential_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
142
|
+
"""
|
|
143
|
+
Specifies the type of credential that
|
|
144
|
+
will be generated for the role. Options include: `password`, `rsa_private_key`, `client_certificate`.
|
|
145
|
+
See the plugin's API page for credential types supported by individual databases.
|
|
146
|
+
"""
|
|
147
|
+
return pulumi.get(self, "credential_type")
|
|
148
|
+
|
|
149
|
+
@credential_type.setter
|
|
150
|
+
def credential_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
151
|
+
pulumi.set(self, "credential_type", value)
|
|
152
|
+
|
|
153
|
+
@_builtins.property
|
|
154
|
+
@pulumi.getter(name="defaultTtl")
|
|
155
|
+
def default_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
156
|
+
"""
|
|
157
|
+
The default number of seconds for leases for this
|
|
158
|
+
role.
|
|
159
|
+
"""
|
|
160
|
+
return pulumi.get(self, "default_ttl")
|
|
161
|
+
|
|
162
|
+
@default_ttl.setter
|
|
163
|
+
def default_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
164
|
+
pulumi.set(self, "default_ttl", value)
|
|
165
|
+
|
|
166
|
+
@_builtins.property
|
|
167
|
+
@pulumi.getter(name="maxTtl")
|
|
168
|
+
def max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
169
|
+
"""
|
|
170
|
+
The maximum number of seconds for leases for this
|
|
171
|
+
role.
|
|
172
|
+
"""
|
|
173
|
+
return pulumi.get(self, "max_ttl")
|
|
174
|
+
|
|
175
|
+
@max_ttl.setter
|
|
176
|
+
def max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
177
|
+
pulumi.set(self, "max_ttl", value)
|
|
178
|
+
|
|
179
|
+
@_builtins.property
|
|
180
|
+
@pulumi.getter
|
|
181
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
182
|
+
"""
|
|
183
|
+
A unique name to give the role.
|
|
184
|
+
"""
|
|
185
|
+
return pulumi.get(self, "name")
|
|
186
|
+
|
|
187
|
+
@name.setter
|
|
188
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
189
|
+
pulumi.set(self, "name", value)
|
|
190
|
+
|
|
191
|
+
@_builtins.property
|
|
192
|
+
@pulumi.getter
|
|
193
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
194
|
+
"""
|
|
195
|
+
The namespace to provision the resource in.
|
|
196
|
+
The value should not contain leading or trailing forward slashes.
|
|
197
|
+
The `namespace` is always relative to the provider's configured namespace.
|
|
198
|
+
*Available only for Vault Enterprise*.
|
|
199
|
+
"""
|
|
200
|
+
return pulumi.get(self, "namespace")
|
|
201
|
+
|
|
202
|
+
@namespace.setter
|
|
203
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
204
|
+
pulumi.set(self, "namespace", value)
|
|
205
|
+
|
|
206
|
+
@_builtins.property
|
|
207
|
+
@pulumi.getter(name="renewStatements")
|
|
208
|
+
def renew_statements(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
209
|
+
"""
|
|
210
|
+
The database statements to execute when
|
|
211
|
+
renewing a user.
|
|
212
|
+
"""
|
|
213
|
+
return pulumi.get(self, "renew_statements")
|
|
214
|
+
|
|
215
|
+
@renew_statements.setter
|
|
216
|
+
def renew_statements(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
217
|
+
pulumi.set(self, "renew_statements", value)
|
|
218
|
+
|
|
219
|
+
@_builtins.property
|
|
220
|
+
@pulumi.getter(name="revocationStatements")
|
|
221
|
+
def revocation_statements(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
222
|
+
"""
|
|
223
|
+
The database statements to execute when
|
|
224
|
+
revoking a user.
|
|
225
|
+
"""
|
|
226
|
+
return pulumi.get(self, "revocation_statements")
|
|
227
|
+
|
|
228
|
+
@revocation_statements.setter
|
|
229
|
+
def revocation_statements(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
230
|
+
pulumi.set(self, "revocation_statements", value)
|
|
231
|
+
|
|
232
|
+
@_builtins.property
|
|
233
|
+
@pulumi.getter(name="rollbackStatements")
|
|
234
|
+
def rollback_statements(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
235
|
+
"""
|
|
236
|
+
The database statements to execute when
|
|
237
|
+
rolling back creation due to an error.
|
|
238
|
+
"""
|
|
239
|
+
return pulumi.get(self, "rollback_statements")
|
|
240
|
+
|
|
241
|
+
@rollback_statements.setter
|
|
242
|
+
def rollback_statements(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
243
|
+
pulumi.set(self, "rollback_statements", value)
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
@pulumi.input_type
|
|
247
|
+
class _SecretBackendRoleState:
|
|
248
|
+
def __init__(__self__, *,
|
|
249
|
+
backend: Optional[pulumi.Input[_builtins.str]] = None,
|
|
250
|
+
creation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
251
|
+
credential_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
252
|
+
credential_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
253
|
+
db_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
254
|
+
default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
255
|
+
max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
256
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
257
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
258
|
+
renew_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
259
|
+
revocation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
260
|
+
rollback_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
|
|
261
|
+
"""
|
|
262
|
+
Input properties used for looking up and filtering SecretBackendRole resources.
|
|
263
|
+
:param pulumi.Input[_builtins.str] backend: The unique name of the Vault mount to configure.
|
|
264
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] creation_statements: The database statements to execute when
|
|
265
|
+
creating a user.
|
|
266
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] credential_config: Specifies the configuration
|
|
267
|
+
for the given `credential_type`.
|
|
268
|
+
|
|
269
|
+
The following options are available for each `credential_type` value:
|
|
270
|
+
:param pulumi.Input[_builtins.str] credential_type: Specifies the type of credential that
|
|
271
|
+
will be generated for the role. Options include: `password`, `rsa_private_key`, `client_certificate`.
|
|
272
|
+
See the plugin's API page for credential types supported by individual databases.
|
|
273
|
+
:param pulumi.Input[_builtins.str] db_name: The unique name of the database connection to use for
|
|
274
|
+
the role.
|
|
275
|
+
:param pulumi.Input[_builtins.int] default_ttl: The default number of seconds for leases for this
|
|
276
|
+
role.
|
|
277
|
+
:param pulumi.Input[_builtins.int] max_ttl: The maximum number of seconds for leases for this
|
|
278
|
+
role.
|
|
279
|
+
:param pulumi.Input[_builtins.str] name: A unique name to give the role.
|
|
280
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
281
|
+
The value should not contain leading or trailing forward slashes.
|
|
282
|
+
The `namespace` is always relative to the provider's configured namespace.
|
|
283
|
+
*Available only for Vault Enterprise*.
|
|
284
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] renew_statements: The database statements to execute when
|
|
285
|
+
renewing a user.
|
|
286
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] revocation_statements: The database statements to execute when
|
|
287
|
+
revoking a user.
|
|
288
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] rollback_statements: The database statements to execute when
|
|
289
|
+
rolling back creation due to an error.
|
|
290
|
+
"""
|
|
291
|
+
if backend is not None:
|
|
292
|
+
pulumi.set(__self__, "backend", backend)
|
|
293
|
+
if creation_statements is not None:
|
|
294
|
+
pulumi.set(__self__, "creation_statements", creation_statements)
|
|
295
|
+
if credential_config is not None:
|
|
296
|
+
pulumi.set(__self__, "credential_config", credential_config)
|
|
297
|
+
if credential_type is not None:
|
|
298
|
+
pulumi.set(__self__, "credential_type", credential_type)
|
|
299
|
+
if db_name is not None:
|
|
300
|
+
pulumi.set(__self__, "db_name", db_name)
|
|
301
|
+
if default_ttl is not None:
|
|
302
|
+
pulumi.set(__self__, "default_ttl", default_ttl)
|
|
303
|
+
if max_ttl is not None:
|
|
304
|
+
pulumi.set(__self__, "max_ttl", max_ttl)
|
|
305
|
+
if name is not None:
|
|
306
|
+
pulumi.set(__self__, "name", name)
|
|
307
|
+
if namespace is not None:
|
|
308
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
309
|
+
if renew_statements is not None:
|
|
310
|
+
pulumi.set(__self__, "renew_statements", renew_statements)
|
|
311
|
+
if revocation_statements is not None:
|
|
312
|
+
pulumi.set(__self__, "revocation_statements", revocation_statements)
|
|
313
|
+
if rollback_statements is not None:
|
|
314
|
+
pulumi.set(__self__, "rollback_statements", rollback_statements)
|
|
315
|
+
|
|
316
|
+
@_builtins.property
|
|
317
|
+
@pulumi.getter
|
|
318
|
+
def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
319
|
+
"""
|
|
320
|
+
The unique name of the Vault mount to configure.
|
|
321
|
+
"""
|
|
322
|
+
return pulumi.get(self, "backend")
|
|
323
|
+
|
|
324
|
+
@backend.setter
|
|
325
|
+
def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
326
|
+
pulumi.set(self, "backend", value)
|
|
327
|
+
|
|
328
|
+
@_builtins.property
|
|
329
|
+
@pulumi.getter(name="creationStatements")
|
|
330
|
+
def creation_statements(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
331
|
+
"""
|
|
332
|
+
The database statements to execute when
|
|
333
|
+
creating a user.
|
|
334
|
+
"""
|
|
335
|
+
return pulumi.get(self, "creation_statements")
|
|
336
|
+
|
|
337
|
+
@creation_statements.setter
|
|
338
|
+
def creation_statements(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
339
|
+
pulumi.set(self, "creation_statements", value)
|
|
340
|
+
|
|
341
|
+
@_builtins.property
|
|
342
|
+
@pulumi.getter(name="credentialConfig")
|
|
343
|
+
def credential_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
344
|
+
"""
|
|
345
|
+
Specifies the configuration
|
|
346
|
+
for the given `credential_type`.
|
|
347
|
+
|
|
348
|
+
The following options are available for each `credential_type` value:
|
|
349
|
+
"""
|
|
350
|
+
return pulumi.get(self, "credential_config")
|
|
351
|
+
|
|
352
|
+
@credential_config.setter
|
|
353
|
+
def credential_config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
354
|
+
pulumi.set(self, "credential_config", value)
|
|
355
|
+
|
|
356
|
+
@_builtins.property
|
|
357
|
+
@pulumi.getter(name="credentialType")
|
|
358
|
+
def credential_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
359
|
+
"""
|
|
360
|
+
Specifies the type of credential that
|
|
361
|
+
will be generated for the role. Options include: `password`, `rsa_private_key`, `client_certificate`.
|
|
362
|
+
See the plugin's API page for credential types supported by individual databases.
|
|
363
|
+
"""
|
|
364
|
+
return pulumi.get(self, "credential_type")
|
|
365
|
+
|
|
366
|
+
@credential_type.setter
|
|
367
|
+
def credential_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
368
|
+
pulumi.set(self, "credential_type", value)
|
|
369
|
+
|
|
370
|
+
@_builtins.property
|
|
371
|
+
@pulumi.getter(name="dbName")
|
|
372
|
+
def db_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
373
|
+
"""
|
|
374
|
+
The unique name of the database connection to use for
|
|
375
|
+
the role.
|
|
376
|
+
"""
|
|
377
|
+
return pulumi.get(self, "db_name")
|
|
378
|
+
|
|
379
|
+
@db_name.setter
|
|
380
|
+
def db_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
381
|
+
pulumi.set(self, "db_name", value)
|
|
382
|
+
|
|
383
|
+
@_builtins.property
|
|
384
|
+
@pulumi.getter(name="defaultTtl")
|
|
385
|
+
def default_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
386
|
+
"""
|
|
387
|
+
The default number of seconds for leases for this
|
|
388
|
+
role.
|
|
389
|
+
"""
|
|
390
|
+
return pulumi.get(self, "default_ttl")
|
|
391
|
+
|
|
392
|
+
@default_ttl.setter
|
|
393
|
+
def default_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
394
|
+
pulumi.set(self, "default_ttl", value)
|
|
395
|
+
|
|
396
|
+
@_builtins.property
|
|
397
|
+
@pulumi.getter(name="maxTtl")
|
|
398
|
+
def max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
399
|
+
"""
|
|
400
|
+
The maximum number of seconds for leases for this
|
|
401
|
+
role.
|
|
402
|
+
"""
|
|
403
|
+
return pulumi.get(self, "max_ttl")
|
|
404
|
+
|
|
405
|
+
@max_ttl.setter
|
|
406
|
+
def max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
407
|
+
pulumi.set(self, "max_ttl", value)
|
|
408
|
+
|
|
409
|
+
@_builtins.property
|
|
410
|
+
@pulumi.getter
|
|
411
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
412
|
+
"""
|
|
413
|
+
A unique name to give the role.
|
|
414
|
+
"""
|
|
415
|
+
return pulumi.get(self, "name")
|
|
416
|
+
|
|
417
|
+
@name.setter
|
|
418
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
419
|
+
pulumi.set(self, "name", value)
|
|
420
|
+
|
|
421
|
+
@_builtins.property
|
|
422
|
+
@pulumi.getter
|
|
423
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
424
|
+
"""
|
|
425
|
+
The namespace to provision the resource in.
|
|
426
|
+
The value should not contain leading or trailing forward slashes.
|
|
427
|
+
The `namespace` is always relative to the provider's configured namespace.
|
|
428
|
+
*Available only for Vault Enterprise*.
|
|
429
|
+
"""
|
|
430
|
+
return pulumi.get(self, "namespace")
|
|
431
|
+
|
|
432
|
+
@namespace.setter
|
|
433
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
434
|
+
pulumi.set(self, "namespace", value)
|
|
435
|
+
|
|
436
|
+
@_builtins.property
|
|
437
|
+
@pulumi.getter(name="renewStatements")
|
|
438
|
+
def renew_statements(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
439
|
+
"""
|
|
440
|
+
The database statements to execute when
|
|
441
|
+
renewing a user.
|
|
442
|
+
"""
|
|
443
|
+
return pulumi.get(self, "renew_statements")
|
|
444
|
+
|
|
445
|
+
@renew_statements.setter
|
|
446
|
+
def renew_statements(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
447
|
+
pulumi.set(self, "renew_statements", value)
|
|
448
|
+
|
|
449
|
+
@_builtins.property
|
|
450
|
+
@pulumi.getter(name="revocationStatements")
|
|
451
|
+
def revocation_statements(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
452
|
+
"""
|
|
453
|
+
The database statements to execute when
|
|
454
|
+
revoking a user.
|
|
455
|
+
"""
|
|
456
|
+
return pulumi.get(self, "revocation_statements")
|
|
457
|
+
|
|
458
|
+
@revocation_statements.setter
|
|
459
|
+
def revocation_statements(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
460
|
+
pulumi.set(self, "revocation_statements", value)
|
|
461
|
+
|
|
462
|
+
@_builtins.property
|
|
463
|
+
@pulumi.getter(name="rollbackStatements")
|
|
464
|
+
def rollback_statements(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
465
|
+
"""
|
|
466
|
+
The database statements to execute when
|
|
467
|
+
rolling back creation due to an error.
|
|
468
|
+
"""
|
|
469
|
+
return pulumi.get(self, "rollback_statements")
|
|
470
|
+
|
|
471
|
+
@rollback_statements.setter
|
|
472
|
+
def rollback_statements(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
473
|
+
pulumi.set(self, "rollback_statements", value)
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
@pulumi.type_token("vault:database/secretBackendRole:SecretBackendRole")
|
|
477
|
+
class SecretBackendRole(pulumi.CustomResource):
|
|
478
|
+
@overload
|
|
479
|
+
def __init__(__self__,
|
|
480
|
+
resource_name: str,
|
|
481
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
482
|
+
backend: Optional[pulumi.Input[_builtins.str]] = None,
|
|
483
|
+
creation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
484
|
+
credential_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
485
|
+
credential_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
486
|
+
db_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
487
|
+
default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
488
|
+
max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
489
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
490
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
491
|
+
renew_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
492
|
+
revocation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
493
|
+
rollback_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
494
|
+
__props__=None):
|
|
495
|
+
"""
|
|
496
|
+
## Example Usage
|
|
497
|
+
|
|
498
|
+
```python
|
|
499
|
+
import pulumi
|
|
500
|
+
import pulumi_vault as vault
|
|
501
|
+
|
|
502
|
+
db = vault.Mount("db",
|
|
503
|
+
path="postgres",
|
|
504
|
+
type="database")
|
|
505
|
+
postgres = vault.database.SecretBackendConnection("postgres",
|
|
506
|
+
backend=db.path,
|
|
507
|
+
name="postgres",
|
|
508
|
+
allowed_roles=[
|
|
509
|
+
"dev",
|
|
510
|
+
"prod",
|
|
511
|
+
],
|
|
512
|
+
postgresql={
|
|
513
|
+
"connection_url": "postgres://username:password@host:port/database",
|
|
514
|
+
})
|
|
515
|
+
role = vault.database.SecretBackendRole("role",
|
|
516
|
+
backend=db.path,
|
|
517
|
+
name="dev",
|
|
518
|
+
db_name=postgres.name,
|
|
519
|
+
creation_statements=["CREATE ROLE \\"{{name}}\\" WITH LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}';"])
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
## Import
|
|
523
|
+
|
|
524
|
+
Database secret backend roles can be imported using the `backend`, `/roles/`, and the `name` e.g.
|
|
525
|
+
|
|
526
|
+
```sh
|
|
527
|
+
$ pulumi import vault:database/secretBackendRole:SecretBackendRole example postgres/roles/my-role
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
:param str resource_name: The name of the resource.
|
|
531
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
532
|
+
:param pulumi.Input[_builtins.str] backend: The unique name of the Vault mount to configure.
|
|
533
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] creation_statements: The database statements to execute when
|
|
534
|
+
creating a user.
|
|
535
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] credential_config: Specifies the configuration
|
|
536
|
+
for the given `credential_type`.
|
|
537
|
+
|
|
538
|
+
The following options are available for each `credential_type` value:
|
|
539
|
+
:param pulumi.Input[_builtins.str] credential_type: Specifies the type of credential that
|
|
540
|
+
will be generated for the role. Options include: `password`, `rsa_private_key`, `client_certificate`.
|
|
541
|
+
See the plugin's API page for credential types supported by individual databases.
|
|
542
|
+
:param pulumi.Input[_builtins.str] db_name: The unique name of the database connection to use for
|
|
543
|
+
the role.
|
|
544
|
+
:param pulumi.Input[_builtins.int] default_ttl: The default number of seconds for leases for this
|
|
545
|
+
role.
|
|
546
|
+
:param pulumi.Input[_builtins.int] max_ttl: The maximum number of seconds for leases for this
|
|
547
|
+
role.
|
|
548
|
+
:param pulumi.Input[_builtins.str] name: A unique name to give the role.
|
|
549
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
550
|
+
The value should not contain leading or trailing forward slashes.
|
|
551
|
+
The `namespace` is always relative to the provider's configured namespace.
|
|
552
|
+
*Available only for Vault Enterprise*.
|
|
553
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] renew_statements: The database statements to execute when
|
|
554
|
+
renewing a user.
|
|
555
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] revocation_statements: The database statements to execute when
|
|
556
|
+
revoking a user.
|
|
557
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] rollback_statements: The database statements to execute when
|
|
558
|
+
rolling back creation due to an error.
|
|
559
|
+
"""
|
|
560
|
+
...
|
|
561
|
+
@overload
|
|
562
|
+
def __init__(__self__,
|
|
563
|
+
resource_name: str,
|
|
564
|
+
args: SecretBackendRoleArgs,
|
|
565
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
566
|
+
"""
|
|
567
|
+
## Example Usage
|
|
568
|
+
|
|
569
|
+
```python
|
|
570
|
+
import pulumi
|
|
571
|
+
import pulumi_vault as vault
|
|
572
|
+
|
|
573
|
+
db = vault.Mount("db",
|
|
574
|
+
path="postgres",
|
|
575
|
+
type="database")
|
|
576
|
+
postgres = vault.database.SecretBackendConnection("postgres",
|
|
577
|
+
backend=db.path,
|
|
578
|
+
name="postgres",
|
|
579
|
+
allowed_roles=[
|
|
580
|
+
"dev",
|
|
581
|
+
"prod",
|
|
582
|
+
],
|
|
583
|
+
postgresql={
|
|
584
|
+
"connection_url": "postgres://username:password@host:port/database",
|
|
585
|
+
})
|
|
586
|
+
role = vault.database.SecretBackendRole("role",
|
|
587
|
+
backend=db.path,
|
|
588
|
+
name="dev",
|
|
589
|
+
db_name=postgres.name,
|
|
590
|
+
creation_statements=["CREATE ROLE \\"{{name}}\\" WITH LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}';"])
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
## Import
|
|
594
|
+
|
|
595
|
+
Database secret backend roles can be imported using the `backend`, `/roles/`, and the `name` e.g.
|
|
596
|
+
|
|
597
|
+
```sh
|
|
598
|
+
$ pulumi import vault:database/secretBackendRole:SecretBackendRole example postgres/roles/my-role
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
:param str resource_name: The name of the resource.
|
|
602
|
+
:param SecretBackendRoleArgs args: The arguments to use to populate this resource's properties.
|
|
603
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
604
|
+
"""
|
|
605
|
+
...
|
|
606
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
607
|
+
resource_args, opts = _utilities.get_resource_args_opts(SecretBackendRoleArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
608
|
+
if resource_args is not None:
|
|
609
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
610
|
+
else:
|
|
611
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
612
|
+
|
|
613
|
+
def _internal_init(__self__,
|
|
614
|
+
resource_name: str,
|
|
615
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
616
|
+
backend: Optional[pulumi.Input[_builtins.str]] = None,
|
|
617
|
+
creation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
618
|
+
credential_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
619
|
+
credential_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
620
|
+
db_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
621
|
+
default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
622
|
+
max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
623
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
624
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
625
|
+
renew_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
626
|
+
revocation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
627
|
+
rollback_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
628
|
+
__props__=None):
|
|
629
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
630
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
631
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
632
|
+
if opts.id is None:
|
|
633
|
+
if __props__ is not None:
|
|
634
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
635
|
+
__props__ = SecretBackendRoleArgs.__new__(SecretBackendRoleArgs)
|
|
636
|
+
|
|
637
|
+
if backend is None and not opts.urn:
|
|
638
|
+
raise TypeError("Missing required property 'backend'")
|
|
639
|
+
__props__.__dict__["backend"] = backend
|
|
640
|
+
if creation_statements is None and not opts.urn:
|
|
641
|
+
raise TypeError("Missing required property 'creation_statements'")
|
|
642
|
+
__props__.__dict__["creation_statements"] = creation_statements
|
|
643
|
+
__props__.__dict__["credential_config"] = credential_config
|
|
644
|
+
__props__.__dict__["credential_type"] = credential_type
|
|
645
|
+
if db_name is None and not opts.urn:
|
|
646
|
+
raise TypeError("Missing required property 'db_name'")
|
|
647
|
+
__props__.__dict__["db_name"] = db_name
|
|
648
|
+
__props__.__dict__["default_ttl"] = default_ttl
|
|
649
|
+
__props__.__dict__["max_ttl"] = max_ttl
|
|
650
|
+
__props__.__dict__["name"] = name
|
|
651
|
+
__props__.__dict__["namespace"] = namespace
|
|
652
|
+
__props__.__dict__["renew_statements"] = renew_statements
|
|
653
|
+
__props__.__dict__["revocation_statements"] = revocation_statements
|
|
654
|
+
__props__.__dict__["rollback_statements"] = rollback_statements
|
|
655
|
+
super(SecretBackendRole, __self__).__init__(
|
|
656
|
+
'vault:database/secretBackendRole:SecretBackendRole',
|
|
657
|
+
resource_name,
|
|
658
|
+
__props__,
|
|
659
|
+
opts)
|
|
660
|
+
|
|
661
|
+
@staticmethod
|
|
662
|
+
def get(resource_name: str,
|
|
663
|
+
id: pulumi.Input[str],
|
|
664
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
665
|
+
backend: Optional[pulumi.Input[_builtins.str]] = None,
|
|
666
|
+
creation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
667
|
+
credential_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
668
|
+
credential_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
669
|
+
db_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
670
|
+
default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
671
|
+
max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
672
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
673
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
674
|
+
renew_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
675
|
+
revocation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
676
|
+
rollback_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'SecretBackendRole':
|
|
677
|
+
"""
|
|
678
|
+
Get an existing SecretBackendRole resource's state with the given name, id, and optional extra
|
|
679
|
+
properties used to qualify the lookup.
|
|
680
|
+
|
|
681
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
682
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
683
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
684
|
+
:param pulumi.Input[_builtins.str] backend: The unique name of the Vault mount to configure.
|
|
685
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] creation_statements: The database statements to execute when
|
|
686
|
+
creating a user.
|
|
687
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] credential_config: Specifies the configuration
|
|
688
|
+
for the given `credential_type`.
|
|
689
|
+
|
|
690
|
+
The following options are available for each `credential_type` value:
|
|
691
|
+
:param pulumi.Input[_builtins.str] credential_type: Specifies the type of credential that
|
|
692
|
+
will be generated for the role. Options include: `password`, `rsa_private_key`, `client_certificate`.
|
|
693
|
+
See the plugin's API page for credential types supported by individual databases.
|
|
694
|
+
:param pulumi.Input[_builtins.str] db_name: The unique name of the database connection to use for
|
|
695
|
+
the role.
|
|
696
|
+
:param pulumi.Input[_builtins.int] default_ttl: The default number of seconds for leases for this
|
|
697
|
+
role.
|
|
698
|
+
:param pulumi.Input[_builtins.int] max_ttl: The maximum number of seconds for leases for this
|
|
699
|
+
role.
|
|
700
|
+
:param pulumi.Input[_builtins.str] name: A unique name to give the role.
|
|
701
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
702
|
+
The value should not contain leading or trailing forward slashes.
|
|
703
|
+
The `namespace` is always relative to the provider's configured namespace.
|
|
704
|
+
*Available only for Vault Enterprise*.
|
|
705
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] renew_statements: The database statements to execute when
|
|
706
|
+
renewing a user.
|
|
707
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] revocation_statements: The database statements to execute when
|
|
708
|
+
revoking a user.
|
|
709
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] rollback_statements: The database statements to execute when
|
|
710
|
+
rolling back creation due to an error.
|
|
711
|
+
"""
|
|
712
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
713
|
+
|
|
714
|
+
__props__ = _SecretBackendRoleState.__new__(_SecretBackendRoleState)
|
|
715
|
+
|
|
716
|
+
__props__.__dict__["backend"] = backend
|
|
717
|
+
__props__.__dict__["creation_statements"] = creation_statements
|
|
718
|
+
__props__.__dict__["credential_config"] = credential_config
|
|
719
|
+
__props__.__dict__["credential_type"] = credential_type
|
|
720
|
+
__props__.__dict__["db_name"] = db_name
|
|
721
|
+
__props__.__dict__["default_ttl"] = default_ttl
|
|
722
|
+
__props__.__dict__["max_ttl"] = max_ttl
|
|
723
|
+
__props__.__dict__["name"] = name
|
|
724
|
+
__props__.__dict__["namespace"] = namespace
|
|
725
|
+
__props__.__dict__["renew_statements"] = renew_statements
|
|
726
|
+
__props__.__dict__["revocation_statements"] = revocation_statements
|
|
727
|
+
__props__.__dict__["rollback_statements"] = rollback_statements
|
|
728
|
+
return SecretBackendRole(resource_name, opts=opts, __props__=__props__)
|
|
729
|
+
|
|
730
|
+
@_builtins.property
|
|
731
|
+
@pulumi.getter
|
|
732
|
+
def backend(self) -> pulumi.Output[_builtins.str]:
|
|
733
|
+
"""
|
|
734
|
+
The unique name of the Vault mount to configure.
|
|
735
|
+
"""
|
|
736
|
+
return pulumi.get(self, "backend")
|
|
737
|
+
|
|
738
|
+
@_builtins.property
|
|
739
|
+
@pulumi.getter(name="creationStatements")
|
|
740
|
+
def creation_statements(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
741
|
+
"""
|
|
742
|
+
The database statements to execute when
|
|
743
|
+
creating a user.
|
|
744
|
+
"""
|
|
745
|
+
return pulumi.get(self, "creation_statements")
|
|
746
|
+
|
|
747
|
+
@_builtins.property
|
|
748
|
+
@pulumi.getter(name="credentialConfig")
|
|
749
|
+
def credential_config(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
|
|
750
|
+
"""
|
|
751
|
+
Specifies the configuration
|
|
752
|
+
for the given `credential_type`.
|
|
753
|
+
|
|
754
|
+
The following options are available for each `credential_type` value:
|
|
755
|
+
"""
|
|
756
|
+
return pulumi.get(self, "credential_config")
|
|
757
|
+
|
|
758
|
+
@_builtins.property
|
|
759
|
+
@pulumi.getter(name="credentialType")
|
|
760
|
+
def credential_type(self) -> pulumi.Output[_builtins.str]:
|
|
761
|
+
"""
|
|
762
|
+
Specifies the type of credential that
|
|
763
|
+
will be generated for the role. Options include: `password`, `rsa_private_key`, `client_certificate`.
|
|
764
|
+
See the plugin's API page for credential types supported by individual databases.
|
|
765
|
+
"""
|
|
766
|
+
return pulumi.get(self, "credential_type")
|
|
767
|
+
|
|
768
|
+
@_builtins.property
|
|
769
|
+
@pulumi.getter(name="dbName")
|
|
770
|
+
def db_name(self) -> pulumi.Output[_builtins.str]:
|
|
771
|
+
"""
|
|
772
|
+
The unique name of the database connection to use for
|
|
773
|
+
the role.
|
|
774
|
+
"""
|
|
775
|
+
return pulumi.get(self, "db_name")
|
|
776
|
+
|
|
777
|
+
@_builtins.property
|
|
778
|
+
@pulumi.getter(name="defaultTtl")
|
|
779
|
+
def default_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
780
|
+
"""
|
|
781
|
+
The default number of seconds for leases for this
|
|
782
|
+
role.
|
|
783
|
+
"""
|
|
784
|
+
return pulumi.get(self, "default_ttl")
|
|
785
|
+
|
|
786
|
+
@_builtins.property
|
|
787
|
+
@pulumi.getter(name="maxTtl")
|
|
788
|
+
def max_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
789
|
+
"""
|
|
790
|
+
The maximum number of seconds for leases for this
|
|
791
|
+
role.
|
|
792
|
+
"""
|
|
793
|
+
return pulumi.get(self, "max_ttl")
|
|
794
|
+
|
|
795
|
+
@_builtins.property
|
|
796
|
+
@pulumi.getter
|
|
797
|
+
def name(self) -> pulumi.Output[_builtins.str]:
|
|
798
|
+
"""
|
|
799
|
+
A unique name to give the role.
|
|
800
|
+
"""
|
|
801
|
+
return pulumi.get(self, "name")
|
|
802
|
+
|
|
803
|
+
@_builtins.property
|
|
804
|
+
@pulumi.getter
|
|
805
|
+
def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
806
|
+
"""
|
|
807
|
+
The namespace to provision the resource in.
|
|
808
|
+
The value should not contain leading or trailing forward slashes.
|
|
809
|
+
The `namespace` is always relative to the provider's configured namespace.
|
|
810
|
+
*Available only for Vault Enterprise*.
|
|
811
|
+
"""
|
|
812
|
+
return pulumi.get(self, "namespace")
|
|
813
|
+
|
|
814
|
+
@_builtins.property
|
|
815
|
+
@pulumi.getter(name="renewStatements")
|
|
816
|
+
def renew_statements(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
817
|
+
"""
|
|
818
|
+
The database statements to execute when
|
|
819
|
+
renewing a user.
|
|
820
|
+
"""
|
|
821
|
+
return pulumi.get(self, "renew_statements")
|
|
822
|
+
|
|
823
|
+
@_builtins.property
|
|
824
|
+
@pulumi.getter(name="revocationStatements")
|
|
825
|
+
def revocation_statements(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
826
|
+
"""
|
|
827
|
+
The database statements to execute when
|
|
828
|
+
revoking a user.
|
|
829
|
+
"""
|
|
830
|
+
return pulumi.get(self, "revocation_statements")
|
|
831
|
+
|
|
832
|
+
@_builtins.property
|
|
833
|
+
@pulumi.getter(name="rollbackStatements")
|
|
834
|
+
def rollback_statements(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
835
|
+
"""
|
|
836
|
+
The database statements to execute when
|
|
837
|
+
rolling back creation due to an error.
|
|
838
|
+
"""
|
|
839
|
+
return pulumi.get(self, "rollback_statements")
|
|
840
|
+
|