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,767 @@
|
|
|
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__ = ['SecretBackendDynamicRoleArgs', 'SecretBackendDynamicRole']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class SecretBackendDynamicRoleArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
creation_ldif: pulumi.Input[_builtins.str],
|
|
23
|
+
deletion_ldif: pulumi.Input[_builtins.str],
|
|
24
|
+
role_name: pulumi.Input[_builtins.str],
|
|
25
|
+
default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
26
|
+
max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
27
|
+
mount: Optional[pulumi.Input[_builtins.str]] = None,
|
|
28
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
29
|
+
rollback_ldif: Optional[pulumi.Input[_builtins.str]] = None,
|
|
30
|
+
username_template: Optional[pulumi.Input[_builtins.str]] = None):
|
|
31
|
+
"""
|
|
32
|
+
The set of arguments for constructing a SecretBackendDynamicRole resource.
|
|
33
|
+
:param pulumi.Input[_builtins.str] creation_ldif: A templatized LDIF string used to create a user
|
|
34
|
+
account. This may contain multiple LDIF entries. The `creation_ldif` can also
|
|
35
|
+
be used to add the user account to an existing group. All LDIF entries are
|
|
36
|
+
performed in order. If Vault encounters an error while executing the
|
|
37
|
+
`creation_ldif` it will stop at the first error and not execute any remaining
|
|
38
|
+
LDIF entries. If an error occurs and `rollback_ldif` is specified, the LDIF
|
|
39
|
+
entries in `rollback_ldif` will be executed. See `rollback_ldif` for more
|
|
40
|
+
details. This field may optionally be provided as a base64 encoded string.
|
|
41
|
+
:param pulumi.Input[_builtins.str] deletion_ldif: A templatized LDIF string used to delete the
|
|
42
|
+
user account once its TTL has expired. This may contain multiple LDIF
|
|
43
|
+
entries. All LDIF entries are performed in order. If Vault encounters an
|
|
44
|
+
error while executing an entry in the `deletion_ldif` it will attempt to
|
|
45
|
+
continue executing any remaining entries. This field may optionally be
|
|
46
|
+
provided as a base64 encoded string.
|
|
47
|
+
:param pulumi.Input[_builtins.str] role_name: Name of the role.
|
|
48
|
+
:param pulumi.Input[_builtins.int] default_ttl: Specifies the TTL for the leases associated with this role.
|
|
49
|
+
:param pulumi.Input[_builtins.int] max_ttl: Specifies the maximum TTL for the leases associated with this role.
|
|
50
|
+
:param pulumi.Input[_builtins.str] mount: The unique path this backend should be mounted at. Must
|
|
51
|
+
not begin or end with a `/`. Defaults to `ldap`.
|
|
52
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
53
|
+
The value should not contain leading or trailing forward slashes.
|
|
54
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
55
|
+
*Available only for Vault Enterprise*.
|
|
56
|
+
:param pulumi.Input[_builtins.str] rollback_ldif: A templatized LDIF string used to attempt to
|
|
57
|
+
rollback any changes in the event that execution of the `creation_ldif` results
|
|
58
|
+
in an error. This may contain multiple LDIF entries. All LDIF entries are
|
|
59
|
+
performed in order. If Vault encounters an error while executing an entry in
|
|
60
|
+
the `rollback_ldif` it will attempt to continue executing any remaining
|
|
61
|
+
entries. This field may optionally be provided as a base64 encoded string.
|
|
62
|
+
:param pulumi.Input[_builtins.str] username_template: A template used to generate a dynamic
|
|
63
|
+
username. This will be used to fill in the `.Username` field within the
|
|
64
|
+
`creation_ldif` string.
|
|
65
|
+
"""
|
|
66
|
+
pulumi.set(__self__, "creation_ldif", creation_ldif)
|
|
67
|
+
pulumi.set(__self__, "deletion_ldif", deletion_ldif)
|
|
68
|
+
pulumi.set(__self__, "role_name", role_name)
|
|
69
|
+
if default_ttl is not None:
|
|
70
|
+
pulumi.set(__self__, "default_ttl", default_ttl)
|
|
71
|
+
if max_ttl is not None:
|
|
72
|
+
pulumi.set(__self__, "max_ttl", max_ttl)
|
|
73
|
+
if mount is not None:
|
|
74
|
+
pulumi.set(__self__, "mount", mount)
|
|
75
|
+
if namespace is not None:
|
|
76
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
77
|
+
if rollback_ldif is not None:
|
|
78
|
+
pulumi.set(__self__, "rollback_ldif", rollback_ldif)
|
|
79
|
+
if username_template is not None:
|
|
80
|
+
pulumi.set(__self__, "username_template", username_template)
|
|
81
|
+
|
|
82
|
+
@_builtins.property
|
|
83
|
+
@pulumi.getter(name="creationLdif")
|
|
84
|
+
def creation_ldif(self) -> pulumi.Input[_builtins.str]:
|
|
85
|
+
"""
|
|
86
|
+
A templatized LDIF string used to create a user
|
|
87
|
+
account. This may contain multiple LDIF entries. The `creation_ldif` can also
|
|
88
|
+
be used to add the user account to an existing group. All LDIF entries are
|
|
89
|
+
performed in order. If Vault encounters an error while executing the
|
|
90
|
+
`creation_ldif` it will stop at the first error and not execute any remaining
|
|
91
|
+
LDIF entries. If an error occurs and `rollback_ldif` is specified, the LDIF
|
|
92
|
+
entries in `rollback_ldif` will be executed. See `rollback_ldif` for more
|
|
93
|
+
details. This field may optionally be provided as a base64 encoded string.
|
|
94
|
+
"""
|
|
95
|
+
return pulumi.get(self, "creation_ldif")
|
|
96
|
+
|
|
97
|
+
@creation_ldif.setter
|
|
98
|
+
def creation_ldif(self, value: pulumi.Input[_builtins.str]):
|
|
99
|
+
pulumi.set(self, "creation_ldif", value)
|
|
100
|
+
|
|
101
|
+
@_builtins.property
|
|
102
|
+
@pulumi.getter(name="deletionLdif")
|
|
103
|
+
def deletion_ldif(self) -> pulumi.Input[_builtins.str]:
|
|
104
|
+
"""
|
|
105
|
+
A templatized LDIF string used to delete the
|
|
106
|
+
user account once its TTL has expired. This may contain multiple LDIF
|
|
107
|
+
entries. All LDIF entries are performed in order. If Vault encounters an
|
|
108
|
+
error while executing an entry in the `deletion_ldif` it will attempt to
|
|
109
|
+
continue executing any remaining entries. This field may optionally be
|
|
110
|
+
provided as a base64 encoded string.
|
|
111
|
+
"""
|
|
112
|
+
return pulumi.get(self, "deletion_ldif")
|
|
113
|
+
|
|
114
|
+
@deletion_ldif.setter
|
|
115
|
+
def deletion_ldif(self, value: pulumi.Input[_builtins.str]):
|
|
116
|
+
pulumi.set(self, "deletion_ldif", value)
|
|
117
|
+
|
|
118
|
+
@_builtins.property
|
|
119
|
+
@pulumi.getter(name="roleName")
|
|
120
|
+
def role_name(self) -> pulumi.Input[_builtins.str]:
|
|
121
|
+
"""
|
|
122
|
+
Name of the role.
|
|
123
|
+
"""
|
|
124
|
+
return pulumi.get(self, "role_name")
|
|
125
|
+
|
|
126
|
+
@role_name.setter
|
|
127
|
+
def role_name(self, value: pulumi.Input[_builtins.str]):
|
|
128
|
+
pulumi.set(self, "role_name", value)
|
|
129
|
+
|
|
130
|
+
@_builtins.property
|
|
131
|
+
@pulumi.getter(name="defaultTtl")
|
|
132
|
+
def default_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
133
|
+
"""
|
|
134
|
+
Specifies the TTL for the leases associated with this role.
|
|
135
|
+
"""
|
|
136
|
+
return pulumi.get(self, "default_ttl")
|
|
137
|
+
|
|
138
|
+
@default_ttl.setter
|
|
139
|
+
def default_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
140
|
+
pulumi.set(self, "default_ttl", value)
|
|
141
|
+
|
|
142
|
+
@_builtins.property
|
|
143
|
+
@pulumi.getter(name="maxTtl")
|
|
144
|
+
def max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
145
|
+
"""
|
|
146
|
+
Specifies the maximum TTL for the leases associated with this role.
|
|
147
|
+
"""
|
|
148
|
+
return pulumi.get(self, "max_ttl")
|
|
149
|
+
|
|
150
|
+
@max_ttl.setter
|
|
151
|
+
def max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
152
|
+
pulumi.set(self, "max_ttl", value)
|
|
153
|
+
|
|
154
|
+
@_builtins.property
|
|
155
|
+
@pulumi.getter
|
|
156
|
+
def mount(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
157
|
+
"""
|
|
158
|
+
The unique path this backend should be mounted at. Must
|
|
159
|
+
not begin or end with a `/`. Defaults to `ldap`.
|
|
160
|
+
"""
|
|
161
|
+
return pulumi.get(self, "mount")
|
|
162
|
+
|
|
163
|
+
@mount.setter
|
|
164
|
+
def mount(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
165
|
+
pulumi.set(self, "mount", value)
|
|
166
|
+
|
|
167
|
+
@_builtins.property
|
|
168
|
+
@pulumi.getter
|
|
169
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
170
|
+
"""
|
|
171
|
+
The namespace to provision the resource in.
|
|
172
|
+
The value should not contain leading or trailing forward slashes.
|
|
173
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
174
|
+
*Available only for Vault Enterprise*.
|
|
175
|
+
"""
|
|
176
|
+
return pulumi.get(self, "namespace")
|
|
177
|
+
|
|
178
|
+
@namespace.setter
|
|
179
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
180
|
+
pulumi.set(self, "namespace", value)
|
|
181
|
+
|
|
182
|
+
@_builtins.property
|
|
183
|
+
@pulumi.getter(name="rollbackLdif")
|
|
184
|
+
def rollback_ldif(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
185
|
+
"""
|
|
186
|
+
A templatized LDIF string used to attempt to
|
|
187
|
+
rollback any changes in the event that execution of the `creation_ldif` results
|
|
188
|
+
in an error. This may contain multiple LDIF entries. All LDIF entries are
|
|
189
|
+
performed in order. If Vault encounters an error while executing an entry in
|
|
190
|
+
the `rollback_ldif` it will attempt to continue executing any remaining
|
|
191
|
+
entries. This field may optionally be provided as a base64 encoded string.
|
|
192
|
+
"""
|
|
193
|
+
return pulumi.get(self, "rollback_ldif")
|
|
194
|
+
|
|
195
|
+
@rollback_ldif.setter
|
|
196
|
+
def rollback_ldif(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
197
|
+
pulumi.set(self, "rollback_ldif", value)
|
|
198
|
+
|
|
199
|
+
@_builtins.property
|
|
200
|
+
@pulumi.getter(name="usernameTemplate")
|
|
201
|
+
def username_template(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
202
|
+
"""
|
|
203
|
+
A template used to generate a dynamic
|
|
204
|
+
username. This will be used to fill in the `.Username` field within the
|
|
205
|
+
`creation_ldif` string.
|
|
206
|
+
"""
|
|
207
|
+
return pulumi.get(self, "username_template")
|
|
208
|
+
|
|
209
|
+
@username_template.setter
|
|
210
|
+
def username_template(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
211
|
+
pulumi.set(self, "username_template", value)
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
@pulumi.input_type
|
|
215
|
+
class _SecretBackendDynamicRoleState:
|
|
216
|
+
def __init__(__self__, *,
|
|
217
|
+
creation_ldif: Optional[pulumi.Input[_builtins.str]] = None,
|
|
218
|
+
default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
219
|
+
deletion_ldif: Optional[pulumi.Input[_builtins.str]] = None,
|
|
220
|
+
max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
221
|
+
mount: Optional[pulumi.Input[_builtins.str]] = None,
|
|
222
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
223
|
+
role_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
224
|
+
rollback_ldif: Optional[pulumi.Input[_builtins.str]] = None,
|
|
225
|
+
username_template: Optional[pulumi.Input[_builtins.str]] = None):
|
|
226
|
+
"""
|
|
227
|
+
Input properties used for looking up and filtering SecretBackendDynamicRole resources.
|
|
228
|
+
:param pulumi.Input[_builtins.str] creation_ldif: A templatized LDIF string used to create a user
|
|
229
|
+
account. This may contain multiple LDIF entries. The `creation_ldif` can also
|
|
230
|
+
be used to add the user account to an existing group. All LDIF entries are
|
|
231
|
+
performed in order. If Vault encounters an error while executing the
|
|
232
|
+
`creation_ldif` it will stop at the first error and not execute any remaining
|
|
233
|
+
LDIF entries. If an error occurs and `rollback_ldif` is specified, the LDIF
|
|
234
|
+
entries in `rollback_ldif` will be executed. See `rollback_ldif` for more
|
|
235
|
+
details. This field may optionally be provided as a base64 encoded string.
|
|
236
|
+
:param pulumi.Input[_builtins.int] default_ttl: Specifies the TTL for the leases associated with this role.
|
|
237
|
+
:param pulumi.Input[_builtins.str] deletion_ldif: A templatized LDIF string used to delete the
|
|
238
|
+
user account once its TTL has expired. This may contain multiple LDIF
|
|
239
|
+
entries. All LDIF entries are performed in order. If Vault encounters an
|
|
240
|
+
error while executing an entry in the `deletion_ldif` it will attempt to
|
|
241
|
+
continue executing any remaining entries. This field may optionally be
|
|
242
|
+
provided as a base64 encoded string.
|
|
243
|
+
:param pulumi.Input[_builtins.int] max_ttl: Specifies the maximum TTL for the leases associated with this role.
|
|
244
|
+
:param pulumi.Input[_builtins.str] mount: The unique path this backend should be mounted at. Must
|
|
245
|
+
not begin or end with a `/`. Defaults to `ldap`.
|
|
246
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
247
|
+
The value should not contain leading or trailing forward slashes.
|
|
248
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
249
|
+
*Available only for Vault Enterprise*.
|
|
250
|
+
:param pulumi.Input[_builtins.str] role_name: Name of the role.
|
|
251
|
+
:param pulumi.Input[_builtins.str] rollback_ldif: A templatized LDIF string used to attempt to
|
|
252
|
+
rollback any changes in the event that execution of the `creation_ldif` results
|
|
253
|
+
in an error. This may contain multiple LDIF entries. All LDIF entries are
|
|
254
|
+
performed in order. If Vault encounters an error while executing an entry in
|
|
255
|
+
the `rollback_ldif` it will attempt to continue executing any remaining
|
|
256
|
+
entries. This field may optionally be provided as a base64 encoded string.
|
|
257
|
+
:param pulumi.Input[_builtins.str] username_template: A template used to generate a dynamic
|
|
258
|
+
username. This will be used to fill in the `.Username` field within the
|
|
259
|
+
`creation_ldif` string.
|
|
260
|
+
"""
|
|
261
|
+
if creation_ldif is not None:
|
|
262
|
+
pulumi.set(__self__, "creation_ldif", creation_ldif)
|
|
263
|
+
if default_ttl is not None:
|
|
264
|
+
pulumi.set(__self__, "default_ttl", default_ttl)
|
|
265
|
+
if deletion_ldif is not None:
|
|
266
|
+
pulumi.set(__self__, "deletion_ldif", deletion_ldif)
|
|
267
|
+
if max_ttl is not None:
|
|
268
|
+
pulumi.set(__self__, "max_ttl", max_ttl)
|
|
269
|
+
if mount is not None:
|
|
270
|
+
pulumi.set(__self__, "mount", mount)
|
|
271
|
+
if namespace is not None:
|
|
272
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
273
|
+
if role_name is not None:
|
|
274
|
+
pulumi.set(__self__, "role_name", role_name)
|
|
275
|
+
if rollback_ldif is not None:
|
|
276
|
+
pulumi.set(__self__, "rollback_ldif", rollback_ldif)
|
|
277
|
+
if username_template is not None:
|
|
278
|
+
pulumi.set(__self__, "username_template", username_template)
|
|
279
|
+
|
|
280
|
+
@_builtins.property
|
|
281
|
+
@pulumi.getter(name="creationLdif")
|
|
282
|
+
def creation_ldif(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
283
|
+
"""
|
|
284
|
+
A templatized LDIF string used to create a user
|
|
285
|
+
account. This may contain multiple LDIF entries. The `creation_ldif` can also
|
|
286
|
+
be used to add the user account to an existing group. All LDIF entries are
|
|
287
|
+
performed in order. If Vault encounters an error while executing the
|
|
288
|
+
`creation_ldif` it will stop at the first error and not execute any remaining
|
|
289
|
+
LDIF entries. If an error occurs and `rollback_ldif` is specified, the LDIF
|
|
290
|
+
entries in `rollback_ldif` will be executed. See `rollback_ldif` for more
|
|
291
|
+
details. This field may optionally be provided as a base64 encoded string.
|
|
292
|
+
"""
|
|
293
|
+
return pulumi.get(self, "creation_ldif")
|
|
294
|
+
|
|
295
|
+
@creation_ldif.setter
|
|
296
|
+
def creation_ldif(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
297
|
+
pulumi.set(self, "creation_ldif", value)
|
|
298
|
+
|
|
299
|
+
@_builtins.property
|
|
300
|
+
@pulumi.getter(name="defaultTtl")
|
|
301
|
+
def default_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
302
|
+
"""
|
|
303
|
+
Specifies the TTL for the leases associated with this role.
|
|
304
|
+
"""
|
|
305
|
+
return pulumi.get(self, "default_ttl")
|
|
306
|
+
|
|
307
|
+
@default_ttl.setter
|
|
308
|
+
def default_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
309
|
+
pulumi.set(self, "default_ttl", value)
|
|
310
|
+
|
|
311
|
+
@_builtins.property
|
|
312
|
+
@pulumi.getter(name="deletionLdif")
|
|
313
|
+
def deletion_ldif(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
314
|
+
"""
|
|
315
|
+
A templatized LDIF string used to delete the
|
|
316
|
+
user account once its TTL has expired. This may contain multiple LDIF
|
|
317
|
+
entries. All LDIF entries are performed in order. If Vault encounters an
|
|
318
|
+
error while executing an entry in the `deletion_ldif` it will attempt to
|
|
319
|
+
continue executing any remaining entries. This field may optionally be
|
|
320
|
+
provided as a base64 encoded string.
|
|
321
|
+
"""
|
|
322
|
+
return pulumi.get(self, "deletion_ldif")
|
|
323
|
+
|
|
324
|
+
@deletion_ldif.setter
|
|
325
|
+
def deletion_ldif(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
326
|
+
pulumi.set(self, "deletion_ldif", value)
|
|
327
|
+
|
|
328
|
+
@_builtins.property
|
|
329
|
+
@pulumi.getter(name="maxTtl")
|
|
330
|
+
def max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
331
|
+
"""
|
|
332
|
+
Specifies the maximum TTL for the leases associated with this role.
|
|
333
|
+
"""
|
|
334
|
+
return pulumi.get(self, "max_ttl")
|
|
335
|
+
|
|
336
|
+
@max_ttl.setter
|
|
337
|
+
def max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
338
|
+
pulumi.set(self, "max_ttl", value)
|
|
339
|
+
|
|
340
|
+
@_builtins.property
|
|
341
|
+
@pulumi.getter
|
|
342
|
+
def mount(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
343
|
+
"""
|
|
344
|
+
The unique path this backend should be mounted at. Must
|
|
345
|
+
not begin or end with a `/`. Defaults to `ldap`.
|
|
346
|
+
"""
|
|
347
|
+
return pulumi.get(self, "mount")
|
|
348
|
+
|
|
349
|
+
@mount.setter
|
|
350
|
+
def mount(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
351
|
+
pulumi.set(self, "mount", value)
|
|
352
|
+
|
|
353
|
+
@_builtins.property
|
|
354
|
+
@pulumi.getter
|
|
355
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
356
|
+
"""
|
|
357
|
+
The namespace to provision the resource in.
|
|
358
|
+
The value should not contain leading or trailing forward slashes.
|
|
359
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
360
|
+
*Available only for Vault Enterprise*.
|
|
361
|
+
"""
|
|
362
|
+
return pulumi.get(self, "namespace")
|
|
363
|
+
|
|
364
|
+
@namespace.setter
|
|
365
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
366
|
+
pulumi.set(self, "namespace", value)
|
|
367
|
+
|
|
368
|
+
@_builtins.property
|
|
369
|
+
@pulumi.getter(name="roleName")
|
|
370
|
+
def role_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
371
|
+
"""
|
|
372
|
+
Name of the role.
|
|
373
|
+
"""
|
|
374
|
+
return pulumi.get(self, "role_name")
|
|
375
|
+
|
|
376
|
+
@role_name.setter
|
|
377
|
+
def role_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
378
|
+
pulumi.set(self, "role_name", value)
|
|
379
|
+
|
|
380
|
+
@_builtins.property
|
|
381
|
+
@pulumi.getter(name="rollbackLdif")
|
|
382
|
+
def rollback_ldif(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
383
|
+
"""
|
|
384
|
+
A templatized LDIF string used to attempt to
|
|
385
|
+
rollback any changes in the event that execution of the `creation_ldif` results
|
|
386
|
+
in an error. This may contain multiple LDIF entries. All LDIF entries are
|
|
387
|
+
performed in order. If Vault encounters an error while executing an entry in
|
|
388
|
+
the `rollback_ldif` it will attempt to continue executing any remaining
|
|
389
|
+
entries. This field may optionally be provided as a base64 encoded string.
|
|
390
|
+
"""
|
|
391
|
+
return pulumi.get(self, "rollback_ldif")
|
|
392
|
+
|
|
393
|
+
@rollback_ldif.setter
|
|
394
|
+
def rollback_ldif(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
395
|
+
pulumi.set(self, "rollback_ldif", value)
|
|
396
|
+
|
|
397
|
+
@_builtins.property
|
|
398
|
+
@pulumi.getter(name="usernameTemplate")
|
|
399
|
+
def username_template(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
400
|
+
"""
|
|
401
|
+
A template used to generate a dynamic
|
|
402
|
+
username. This will be used to fill in the `.Username` field within the
|
|
403
|
+
`creation_ldif` string.
|
|
404
|
+
"""
|
|
405
|
+
return pulumi.get(self, "username_template")
|
|
406
|
+
|
|
407
|
+
@username_template.setter
|
|
408
|
+
def username_template(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
409
|
+
pulumi.set(self, "username_template", value)
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
@pulumi.type_token("vault:ldap/secretBackendDynamicRole:SecretBackendDynamicRole")
|
|
413
|
+
class SecretBackendDynamicRole(pulumi.CustomResource):
|
|
414
|
+
@overload
|
|
415
|
+
def __init__(__self__,
|
|
416
|
+
resource_name: str,
|
|
417
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
418
|
+
creation_ldif: Optional[pulumi.Input[_builtins.str]] = None,
|
|
419
|
+
default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
420
|
+
deletion_ldif: Optional[pulumi.Input[_builtins.str]] = None,
|
|
421
|
+
max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
422
|
+
mount: Optional[pulumi.Input[_builtins.str]] = None,
|
|
423
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
424
|
+
role_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
425
|
+
rollback_ldif: Optional[pulumi.Input[_builtins.str]] = None,
|
|
426
|
+
username_template: Optional[pulumi.Input[_builtins.str]] = None,
|
|
427
|
+
__props__=None):
|
|
428
|
+
"""
|
|
429
|
+
## Example Usage
|
|
430
|
+
|
|
431
|
+
```python
|
|
432
|
+
import pulumi
|
|
433
|
+
import pulumi_vault as vault
|
|
434
|
+
|
|
435
|
+
config = vault.ldap.SecretBackend("config",
|
|
436
|
+
path="my-custom-ldap",
|
|
437
|
+
binddn="CN=Administrator,CN=Users,DC=corp,DC=example,DC=net",
|
|
438
|
+
bindpass="SuperSecretPassw0rd",
|
|
439
|
+
url="ldaps://localhost",
|
|
440
|
+
userdn="CN=Users,DC=corp,DC=example,DC=net")
|
|
441
|
+
role = vault.ldap.SecretBackendDynamicRole("role",
|
|
442
|
+
mount=config.path,
|
|
443
|
+
role_name="alice",
|
|
444
|
+
creation_ldif=\"\"\"dn: cn={{.Username}},ou=users,dc=learn,dc=example
|
|
445
|
+
objectClass: person
|
|
446
|
+
objectClass: top
|
|
447
|
+
cn: learn
|
|
448
|
+
sn: {{.Password | utf16le | base64}}
|
|
449
|
+
memberOf: cn=dev,ou=groups,dc=learn,dc=example
|
|
450
|
+
userPassword: {{.Password}}
|
|
451
|
+
\"\"\",
|
|
452
|
+
deletion_ldif=\"\"\"dn: cn={{.Username}},ou=users,dc=learn,dc=example
|
|
453
|
+
changetype: delete
|
|
454
|
+
rollback_ldif = <<EOT
|
|
455
|
+
dn: cn={{.Username}},ou=users,dc=learn,dc=example
|
|
456
|
+
changetype: delete
|
|
457
|
+
\"\"\")
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
## Import
|
|
461
|
+
|
|
462
|
+
LDAP secret backend dynamic role can be imported using the full path to the role
|
|
463
|
+
of the form: `<mount_path>/dynamic-role/<role_name>` e.g.
|
|
464
|
+
|
|
465
|
+
```sh
|
|
466
|
+
$ pulumi import vault:ldap/secretBackendDynamicRole:SecretBackendDynamicRole role ldap/role/dynamic-role
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
:param str resource_name: The name of the resource.
|
|
470
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
471
|
+
:param pulumi.Input[_builtins.str] creation_ldif: A templatized LDIF string used to create a user
|
|
472
|
+
account. This may contain multiple LDIF entries. The `creation_ldif` can also
|
|
473
|
+
be used to add the user account to an existing group. All LDIF entries are
|
|
474
|
+
performed in order. If Vault encounters an error while executing the
|
|
475
|
+
`creation_ldif` it will stop at the first error and not execute any remaining
|
|
476
|
+
LDIF entries. If an error occurs and `rollback_ldif` is specified, the LDIF
|
|
477
|
+
entries in `rollback_ldif` will be executed. See `rollback_ldif` for more
|
|
478
|
+
details. This field may optionally be provided as a base64 encoded string.
|
|
479
|
+
:param pulumi.Input[_builtins.int] default_ttl: Specifies the TTL for the leases associated with this role.
|
|
480
|
+
:param pulumi.Input[_builtins.str] deletion_ldif: A templatized LDIF string used to delete the
|
|
481
|
+
user account once its TTL has expired. This may contain multiple LDIF
|
|
482
|
+
entries. All LDIF entries are performed in order. If Vault encounters an
|
|
483
|
+
error while executing an entry in the `deletion_ldif` it will attempt to
|
|
484
|
+
continue executing any remaining entries. This field may optionally be
|
|
485
|
+
provided as a base64 encoded string.
|
|
486
|
+
:param pulumi.Input[_builtins.int] max_ttl: Specifies the maximum TTL for the leases associated with this role.
|
|
487
|
+
:param pulumi.Input[_builtins.str] mount: The unique path this backend should be mounted at. Must
|
|
488
|
+
not begin or end with a `/`. Defaults to `ldap`.
|
|
489
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
490
|
+
The value should not contain leading or trailing forward slashes.
|
|
491
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
492
|
+
*Available only for Vault Enterprise*.
|
|
493
|
+
:param pulumi.Input[_builtins.str] role_name: Name of the role.
|
|
494
|
+
:param pulumi.Input[_builtins.str] rollback_ldif: A templatized LDIF string used to attempt to
|
|
495
|
+
rollback any changes in the event that execution of the `creation_ldif` results
|
|
496
|
+
in an error. This may contain multiple LDIF entries. All LDIF entries are
|
|
497
|
+
performed in order. If Vault encounters an error while executing an entry in
|
|
498
|
+
the `rollback_ldif` it will attempt to continue executing any remaining
|
|
499
|
+
entries. This field may optionally be provided as a base64 encoded string.
|
|
500
|
+
:param pulumi.Input[_builtins.str] username_template: A template used to generate a dynamic
|
|
501
|
+
username. This will be used to fill in the `.Username` field within the
|
|
502
|
+
`creation_ldif` string.
|
|
503
|
+
"""
|
|
504
|
+
...
|
|
505
|
+
@overload
|
|
506
|
+
def __init__(__self__,
|
|
507
|
+
resource_name: str,
|
|
508
|
+
args: SecretBackendDynamicRoleArgs,
|
|
509
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
510
|
+
"""
|
|
511
|
+
## Example Usage
|
|
512
|
+
|
|
513
|
+
```python
|
|
514
|
+
import pulumi
|
|
515
|
+
import pulumi_vault as vault
|
|
516
|
+
|
|
517
|
+
config = vault.ldap.SecretBackend("config",
|
|
518
|
+
path="my-custom-ldap",
|
|
519
|
+
binddn="CN=Administrator,CN=Users,DC=corp,DC=example,DC=net",
|
|
520
|
+
bindpass="SuperSecretPassw0rd",
|
|
521
|
+
url="ldaps://localhost",
|
|
522
|
+
userdn="CN=Users,DC=corp,DC=example,DC=net")
|
|
523
|
+
role = vault.ldap.SecretBackendDynamicRole("role",
|
|
524
|
+
mount=config.path,
|
|
525
|
+
role_name="alice",
|
|
526
|
+
creation_ldif=\"\"\"dn: cn={{.Username}},ou=users,dc=learn,dc=example
|
|
527
|
+
objectClass: person
|
|
528
|
+
objectClass: top
|
|
529
|
+
cn: learn
|
|
530
|
+
sn: {{.Password | utf16le | base64}}
|
|
531
|
+
memberOf: cn=dev,ou=groups,dc=learn,dc=example
|
|
532
|
+
userPassword: {{.Password}}
|
|
533
|
+
\"\"\",
|
|
534
|
+
deletion_ldif=\"\"\"dn: cn={{.Username}},ou=users,dc=learn,dc=example
|
|
535
|
+
changetype: delete
|
|
536
|
+
rollback_ldif = <<EOT
|
|
537
|
+
dn: cn={{.Username}},ou=users,dc=learn,dc=example
|
|
538
|
+
changetype: delete
|
|
539
|
+
\"\"\")
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
## Import
|
|
543
|
+
|
|
544
|
+
LDAP secret backend dynamic role can be imported using the full path to the role
|
|
545
|
+
of the form: `<mount_path>/dynamic-role/<role_name>` e.g.
|
|
546
|
+
|
|
547
|
+
```sh
|
|
548
|
+
$ pulumi import vault:ldap/secretBackendDynamicRole:SecretBackendDynamicRole role ldap/role/dynamic-role
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
:param str resource_name: The name of the resource.
|
|
552
|
+
:param SecretBackendDynamicRoleArgs args: The arguments to use to populate this resource's properties.
|
|
553
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
554
|
+
"""
|
|
555
|
+
...
|
|
556
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
557
|
+
resource_args, opts = _utilities.get_resource_args_opts(SecretBackendDynamicRoleArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
558
|
+
if resource_args is not None:
|
|
559
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
560
|
+
else:
|
|
561
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
562
|
+
|
|
563
|
+
def _internal_init(__self__,
|
|
564
|
+
resource_name: str,
|
|
565
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
566
|
+
creation_ldif: Optional[pulumi.Input[_builtins.str]] = None,
|
|
567
|
+
default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
568
|
+
deletion_ldif: Optional[pulumi.Input[_builtins.str]] = None,
|
|
569
|
+
max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
570
|
+
mount: Optional[pulumi.Input[_builtins.str]] = None,
|
|
571
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
572
|
+
role_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
573
|
+
rollback_ldif: Optional[pulumi.Input[_builtins.str]] = None,
|
|
574
|
+
username_template: Optional[pulumi.Input[_builtins.str]] = None,
|
|
575
|
+
__props__=None):
|
|
576
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
577
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
578
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
579
|
+
if opts.id is None:
|
|
580
|
+
if __props__ is not None:
|
|
581
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
582
|
+
__props__ = SecretBackendDynamicRoleArgs.__new__(SecretBackendDynamicRoleArgs)
|
|
583
|
+
|
|
584
|
+
if creation_ldif is None and not opts.urn:
|
|
585
|
+
raise TypeError("Missing required property 'creation_ldif'")
|
|
586
|
+
__props__.__dict__["creation_ldif"] = creation_ldif
|
|
587
|
+
__props__.__dict__["default_ttl"] = default_ttl
|
|
588
|
+
if deletion_ldif is None and not opts.urn:
|
|
589
|
+
raise TypeError("Missing required property 'deletion_ldif'")
|
|
590
|
+
__props__.__dict__["deletion_ldif"] = deletion_ldif
|
|
591
|
+
__props__.__dict__["max_ttl"] = max_ttl
|
|
592
|
+
__props__.__dict__["mount"] = mount
|
|
593
|
+
__props__.__dict__["namespace"] = namespace
|
|
594
|
+
if role_name is None and not opts.urn:
|
|
595
|
+
raise TypeError("Missing required property 'role_name'")
|
|
596
|
+
__props__.__dict__["role_name"] = role_name
|
|
597
|
+
__props__.__dict__["rollback_ldif"] = rollback_ldif
|
|
598
|
+
__props__.__dict__["username_template"] = username_template
|
|
599
|
+
super(SecretBackendDynamicRole, __self__).__init__(
|
|
600
|
+
'vault:ldap/secretBackendDynamicRole:SecretBackendDynamicRole',
|
|
601
|
+
resource_name,
|
|
602
|
+
__props__,
|
|
603
|
+
opts)
|
|
604
|
+
|
|
605
|
+
@staticmethod
|
|
606
|
+
def get(resource_name: str,
|
|
607
|
+
id: pulumi.Input[str],
|
|
608
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
609
|
+
creation_ldif: Optional[pulumi.Input[_builtins.str]] = None,
|
|
610
|
+
default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
611
|
+
deletion_ldif: Optional[pulumi.Input[_builtins.str]] = None,
|
|
612
|
+
max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
613
|
+
mount: Optional[pulumi.Input[_builtins.str]] = None,
|
|
614
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
615
|
+
role_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
616
|
+
rollback_ldif: Optional[pulumi.Input[_builtins.str]] = None,
|
|
617
|
+
username_template: Optional[pulumi.Input[_builtins.str]] = None) -> 'SecretBackendDynamicRole':
|
|
618
|
+
"""
|
|
619
|
+
Get an existing SecretBackendDynamicRole resource's state with the given name, id, and optional extra
|
|
620
|
+
properties used to qualify the lookup.
|
|
621
|
+
|
|
622
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
623
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
624
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
625
|
+
:param pulumi.Input[_builtins.str] creation_ldif: A templatized LDIF string used to create a user
|
|
626
|
+
account. This may contain multiple LDIF entries. The `creation_ldif` can also
|
|
627
|
+
be used to add the user account to an existing group. All LDIF entries are
|
|
628
|
+
performed in order. If Vault encounters an error while executing the
|
|
629
|
+
`creation_ldif` it will stop at the first error and not execute any remaining
|
|
630
|
+
LDIF entries. If an error occurs and `rollback_ldif` is specified, the LDIF
|
|
631
|
+
entries in `rollback_ldif` will be executed. See `rollback_ldif` for more
|
|
632
|
+
details. This field may optionally be provided as a base64 encoded string.
|
|
633
|
+
:param pulumi.Input[_builtins.int] default_ttl: Specifies the TTL for the leases associated with this role.
|
|
634
|
+
:param pulumi.Input[_builtins.str] deletion_ldif: A templatized LDIF string used to delete the
|
|
635
|
+
user account once its TTL has expired. This may contain multiple LDIF
|
|
636
|
+
entries. All LDIF entries are performed in order. If Vault encounters an
|
|
637
|
+
error while executing an entry in the `deletion_ldif` it will attempt to
|
|
638
|
+
continue executing any remaining entries. This field may optionally be
|
|
639
|
+
provided as a base64 encoded string.
|
|
640
|
+
:param pulumi.Input[_builtins.int] max_ttl: Specifies the maximum TTL for the leases associated with this role.
|
|
641
|
+
:param pulumi.Input[_builtins.str] mount: The unique path this backend should be mounted at. Must
|
|
642
|
+
not begin or end with a `/`. Defaults to `ldap`.
|
|
643
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
644
|
+
The value should not contain leading or trailing forward slashes.
|
|
645
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
646
|
+
*Available only for Vault Enterprise*.
|
|
647
|
+
:param pulumi.Input[_builtins.str] role_name: Name of the role.
|
|
648
|
+
:param pulumi.Input[_builtins.str] rollback_ldif: A templatized LDIF string used to attempt to
|
|
649
|
+
rollback any changes in the event that execution of the `creation_ldif` results
|
|
650
|
+
in an error. This may contain multiple LDIF entries. All LDIF entries are
|
|
651
|
+
performed in order. If Vault encounters an error while executing an entry in
|
|
652
|
+
the `rollback_ldif` it will attempt to continue executing any remaining
|
|
653
|
+
entries. This field may optionally be provided as a base64 encoded string.
|
|
654
|
+
:param pulumi.Input[_builtins.str] username_template: A template used to generate a dynamic
|
|
655
|
+
username. This will be used to fill in the `.Username` field within the
|
|
656
|
+
`creation_ldif` string.
|
|
657
|
+
"""
|
|
658
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
659
|
+
|
|
660
|
+
__props__ = _SecretBackendDynamicRoleState.__new__(_SecretBackendDynamicRoleState)
|
|
661
|
+
|
|
662
|
+
__props__.__dict__["creation_ldif"] = creation_ldif
|
|
663
|
+
__props__.__dict__["default_ttl"] = default_ttl
|
|
664
|
+
__props__.__dict__["deletion_ldif"] = deletion_ldif
|
|
665
|
+
__props__.__dict__["max_ttl"] = max_ttl
|
|
666
|
+
__props__.__dict__["mount"] = mount
|
|
667
|
+
__props__.__dict__["namespace"] = namespace
|
|
668
|
+
__props__.__dict__["role_name"] = role_name
|
|
669
|
+
__props__.__dict__["rollback_ldif"] = rollback_ldif
|
|
670
|
+
__props__.__dict__["username_template"] = username_template
|
|
671
|
+
return SecretBackendDynamicRole(resource_name, opts=opts, __props__=__props__)
|
|
672
|
+
|
|
673
|
+
@_builtins.property
|
|
674
|
+
@pulumi.getter(name="creationLdif")
|
|
675
|
+
def creation_ldif(self) -> pulumi.Output[_builtins.str]:
|
|
676
|
+
"""
|
|
677
|
+
A templatized LDIF string used to create a user
|
|
678
|
+
account. This may contain multiple LDIF entries. The `creation_ldif` can also
|
|
679
|
+
be used to add the user account to an existing group. All LDIF entries are
|
|
680
|
+
performed in order. If Vault encounters an error while executing the
|
|
681
|
+
`creation_ldif` it will stop at the first error and not execute any remaining
|
|
682
|
+
LDIF entries. If an error occurs and `rollback_ldif` is specified, the LDIF
|
|
683
|
+
entries in `rollback_ldif` will be executed. See `rollback_ldif` for more
|
|
684
|
+
details. This field may optionally be provided as a base64 encoded string.
|
|
685
|
+
"""
|
|
686
|
+
return pulumi.get(self, "creation_ldif")
|
|
687
|
+
|
|
688
|
+
@_builtins.property
|
|
689
|
+
@pulumi.getter(name="defaultTtl")
|
|
690
|
+
def default_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
691
|
+
"""
|
|
692
|
+
Specifies the TTL for the leases associated with this role.
|
|
693
|
+
"""
|
|
694
|
+
return pulumi.get(self, "default_ttl")
|
|
695
|
+
|
|
696
|
+
@_builtins.property
|
|
697
|
+
@pulumi.getter(name="deletionLdif")
|
|
698
|
+
def deletion_ldif(self) -> pulumi.Output[_builtins.str]:
|
|
699
|
+
"""
|
|
700
|
+
A templatized LDIF string used to delete the
|
|
701
|
+
user account once its TTL has expired. This may contain multiple LDIF
|
|
702
|
+
entries. All LDIF entries are performed in order. If Vault encounters an
|
|
703
|
+
error while executing an entry in the `deletion_ldif` it will attempt to
|
|
704
|
+
continue executing any remaining entries. This field may optionally be
|
|
705
|
+
provided as a base64 encoded string.
|
|
706
|
+
"""
|
|
707
|
+
return pulumi.get(self, "deletion_ldif")
|
|
708
|
+
|
|
709
|
+
@_builtins.property
|
|
710
|
+
@pulumi.getter(name="maxTtl")
|
|
711
|
+
def max_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
712
|
+
"""
|
|
713
|
+
Specifies the maximum TTL for the leases associated with this role.
|
|
714
|
+
"""
|
|
715
|
+
return pulumi.get(self, "max_ttl")
|
|
716
|
+
|
|
717
|
+
@_builtins.property
|
|
718
|
+
@pulumi.getter
|
|
719
|
+
def mount(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
720
|
+
"""
|
|
721
|
+
The unique path this backend should be mounted at. Must
|
|
722
|
+
not begin or end with a `/`. Defaults to `ldap`.
|
|
723
|
+
"""
|
|
724
|
+
return pulumi.get(self, "mount")
|
|
725
|
+
|
|
726
|
+
@_builtins.property
|
|
727
|
+
@pulumi.getter
|
|
728
|
+
def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
729
|
+
"""
|
|
730
|
+
The namespace to provision the resource in.
|
|
731
|
+
The value should not contain leading or trailing forward slashes.
|
|
732
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
733
|
+
*Available only for Vault Enterprise*.
|
|
734
|
+
"""
|
|
735
|
+
return pulumi.get(self, "namespace")
|
|
736
|
+
|
|
737
|
+
@_builtins.property
|
|
738
|
+
@pulumi.getter(name="roleName")
|
|
739
|
+
def role_name(self) -> pulumi.Output[_builtins.str]:
|
|
740
|
+
"""
|
|
741
|
+
Name of the role.
|
|
742
|
+
"""
|
|
743
|
+
return pulumi.get(self, "role_name")
|
|
744
|
+
|
|
745
|
+
@_builtins.property
|
|
746
|
+
@pulumi.getter(name="rollbackLdif")
|
|
747
|
+
def rollback_ldif(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
748
|
+
"""
|
|
749
|
+
A templatized LDIF string used to attempt to
|
|
750
|
+
rollback any changes in the event that execution of the `creation_ldif` results
|
|
751
|
+
in an error. This may contain multiple LDIF entries. All LDIF entries are
|
|
752
|
+
performed in order. If Vault encounters an error while executing an entry in
|
|
753
|
+
the `rollback_ldif` it will attempt to continue executing any remaining
|
|
754
|
+
entries. This field may optionally be provided as a base64 encoded string.
|
|
755
|
+
"""
|
|
756
|
+
return pulumi.get(self, "rollback_ldif")
|
|
757
|
+
|
|
758
|
+
@_builtins.property
|
|
759
|
+
@pulumi.getter(name="usernameTemplate")
|
|
760
|
+
def username_template(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
761
|
+
"""
|
|
762
|
+
A template used to generate a dynamic
|
|
763
|
+
username. This will be used to fill in the `.Username` field within the
|
|
764
|
+
`creation_ldif` string.
|
|
765
|
+
"""
|
|
766
|
+
return pulumi.get(self, "username_template")
|
|
767
|
+
|