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
pulumi_vault/mfa_duo.py
ADDED
|
@@ -0,0 +1,589 @@
|
|
|
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__ = ['MfaDuoArgs', 'MfaDuo']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class MfaDuoArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
api_hostname: pulumi.Input[_builtins.str],
|
|
23
|
+
integration_key: pulumi.Input[_builtins.str],
|
|
24
|
+
mount_accessor: pulumi.Input[_builtins.str],
|
|
25
|
+
secret_key: pulumi.Input[_builtins.str],
|
|
26
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
27
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
28
|
+
push_info: Optional[pulumi.Input[_builtins.str]] = None,
|
|
29
|
+
username_format: Optional[pulumi.Input[_builtins.str]] = None):
|
|
30
|
+
"""
|
|
31
|
+
The set of arguments for constructing a MfaDuo resource.
|
|
32
|
+
:param pulumi.Input[_builtins.str] api_hostname: `(string: <required>)` - API hostname for Duo.
|
|
33
|
+
:param pulumi.Input[_builtins.str] integration_key: `(string: <required>)` - Integration key for Duo.
|
|
34
|
+
:param pulumi.Input[_builtins.str] mount_accessor: `(string: <required>)` - The mount to tie this method to for use in automatic mappings. The mapping will use the Name field of Aliases associated with this mount as the username in the mapping.
|
|
35
|
+
:param pulumi.Input[_builtins.str] secret_key: `(string: <required>)` - Secret key for Duo.
|
|
36
|
+
:param pulumi.Input[_builtins.str] name: `(string: <required>)` – Name of the MFA method.
|
|
37
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
38
|
+
The value should not contain leading or trailing forward slashes.
|
|
39
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
40
|
+
*Available only for Vault Enterprise*.
|
|
41
|
+
:param pulumi.Input[_builtins.str] push_info: `(string)` - Push information for Duo.
|
|
42
|
+
:param pulumi.Input[_builtins.str] username_format: `(string)` - A format string for mapping Identity names to MFA method names. Values to substitute should be placed in `{{}}`. For example, `"{{alias.name}}@example.com"`. If blank, the Alias's Name field will be used as-is. Currently-supported mappings:
|
|
43
|
+
- alias.name: The name returned by the mount configured via the `mount_accessor` parameter
|
|
44
|
+
- entity.name: The name configured for the Entity
|
|
45
|
+
- alias.metadata.`<key>`: The value of the Alias's metadata parameter
|
|
46
|
+
- entity.metadata.`<key>`: The value of the Entity's metadata parameter
|
|
47
|
+
"""
|
|
48
|
+
pulumi.set(__self__, "api_hostname", api_hostname)
|
|
49
|
+
pulumi.set(__self__, "integration_key", integration_key)
|
|
50
|
+
pulumi.set(__self__, "mount_accessor", mount_accessor)
|
|
51
|
+
pulumi.set(__self__, "secret_key", secret_key)
|
|
52
|
+
if name is not None:
|
|
53
|
+
pulumi.set(__self__, "name", name)
|
|
54
|
+
if namespace is not None:
|
|
55
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
56
|
+
if push_info is not None:
|
|
57
|
+
pulumi.set(__self__, "push_info", push_info)
|
|
58
|
+
if username_format is not None:
|
|
59
|
+
pulumi.set(__self__, "username_format", username_format)
|
|
60
|
+
|
|
61
|
+
@_builtins.property
|
|
62
|
+
@pulumi.getter(name="apiHostname")
|
|
63
|
+
def api_hostname(self) -> pulumi.Input[_builtins.str]:
|
|
64
|
+
"""
|
|
65
|
+
`(string: <required>)` - API hostname for Duo.
|
|
66
|
+
"""
|
|
67
|
+
return pulumi.get(self, "api_hostname")
|
|
68
|
+
|
|
69
|
+
@api_hostname.setter
|
|
70
|
+
def api_hostname(self, value: pulumi.Input[_builtins.str]):
|
|
71
|
+
pulumi.set(self, "api_hostname", value)
|
|
72
|
+
|
|
73
|
+
@_builtins.property
|
|
74
|
+
@pulumi.getter(name="integrationKey")
|
|
75
|
+
def integration_key(self) -> pulumi.Input[_builtins.str]:
|
|
76
|
+
"""
|
|
77
|
+
`(string: <required>)` - Integration key for Duo.
|
|
78
|
+
"""
|
|
79
|
+
return pulumi.get(self, "integration_key")
|
|
80
|
+
|
|
81
|
+
@integration_key.setter
|
|
82
|
+
def integration_key(self, value: pulumi.Input[_builtins.str]):
|
|
83
|
+
pulumi.set(self, "integration_key", value)
|
|
84
|
+
|
|
85
|
+
@_builtins.property
|
|
86
|
+
@pulumi.getter(name="mountAccessor")
|
|
87
|
+
def mount_accessor(self) -> pulumi.Input[_builtins.str]:
|
|
88
|
+
"""
|
|
89
|
+
`(string: <required>)` - The mount to tie this method to for use in automatic mappings. The mapping will use the Name field of Aliases associated with this mount as the username in the mapping.
|
|
90
|
+
"""
|
|
91
|
+
return pulumi.get(self, "mount_accessor")
|
|
92
|
+
|
|
93
|
+
@mount_accessor.setter
|
|
94
|
+
def mount_accessor(self, value: pulumi.Input[_builtins.str]):
|
|
95
|
+
pulumi.set(self, "mount_accessor", value)
|
|
96
|
+
|
|
97
|
+
@_builtins.property
|
|
98
|
+
@pulumi.getter(name="secretKey")
|
|
99
|
+
def secret_key(self) -> pulumi.Input[_builtins.str]:
|
|
100
|
+
"""
|
|
101
|
+
`(string: <required>)` - Secret key for Duo.
|
|
102
|
+
"""
|
|
103
|
+
return pulumi.get(self, "secret_key")
|
|
104
|
+
|
|
105
|
+
@secret_key.setter
|
|
106
|
+
def secret_key(self, value: pulumi.Input[_builtins.str]):
|
|
107
|
+
pulumi.set(self, "secret_key", value)
|
|
108
|
+
|
|
109
|
+
@_builtins.property
|
|
110
|
+
@pulumi.getter
|
|
111
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
112
|
+
"""
|
|
113
|
+
`(string: <required>)` – Name of the MFA method.
|
|
114
|
+
"""
|
|
115
|
+
return pulumi.get(self, "name")
|
|
116
|
+
|
|
117
|
+
@name.setter
|
|
118
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
119
|
+
pulumi.set(self, "name", value)
|
|
120
|
+
|
|
121
|
+
@_builtins.property
|
|
122
|
+
@pulumi.getter
|
|
123
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
124
|
+
"""
|
|
125
|
+
The namespace to provision the resource in.
|
|
126
|
+
The value should not contain leading or trailing forward slashes.
|
|
127
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
128
|
+
*Available only for Vault Enterprise*.
|
|
129
|
+
"""
|
|
130
|
+
return pulumi.get(self, "namespace")
|
|
131
|
+
|
|
132
|
+
@namespace.setter
|
|
133
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
134
|
+
pulumi.set(self, "namespace", value)
|
|
135
|
+
|
|
136
|
+
@_builtins.property
|
|
137
|
+
@pulumi.getter(name="pushInfo")
|
|
138
|
+
def push_info(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
139
|
+
"""
|
|
140
|
+
`(string)` - Push information for Duo.
|
|
141
|
+
"""
|
|
142
|
+
return pulumi.get(self, "push_info")
|
|
143
|
+
|
|
144
|
+
@push_info.setter
|
|
145
|
+
def push_info(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
146
|
+
pulumi.set(self, "push_info", value)
|
|
147
|
+
|
|
148
|
+
@_builtins.property
|
|
149
|
+
@pulumi.getter(name="usernameFormat")
|
|
150
|
+
def username_format(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
151
|
+
"""
|
|
152
|
+
`(string)` - A format string for mapping Identity names to MFA method names. Values to substitute should be placed in `{{}}`. For example, `"{{alias.name}}@example.com"`. If blank, the Alias's Name field will be used as-is. Currently-supported mappings:
|
|
153
|
+
- alias.name: The name returned by the mount configured via the `mount_accessor` parameter
|
|
154
|
+
- entity.name: The name configured for the Entity
|
|
155
|
+
- alias.metadata.`<key>`: The value of the Alias's metadata parameter
|
|
156
|
+
- entity.metadata.`<key>`: The value of the Entity's metadata parameter
|
|
157
|
+
"""
|
|
158
|
+
return pulumi.get(self, "username_format")
|
|
159
|
+
|
|
160
|
+
@username_format.setter
|
|
161
|
+
def username_format(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
162
|
+
pulumi.set(self, "username_format", value)
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
@pulumi.input_type
|
|
166
|
+
class _MfaDuoState:
|
|
167
|
+
def __init__(__self__, *,
|
|
168
|
+
api_hostname: Optional[pulumi.Input[_builtins.str]] = None,
|
|
169
|
+
integration_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
170
|
+
mount_accessor: Optional[pulumi.Input[_builtins.str]] = None,
|
|
171
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
172
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
173
|
+
push_info: Optional[pulumi.Input[_builtins.str]] = None,
|
|
174
|
+
secret_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
175
|
+
username_format: Optional[pulumi.Input[_builtins.str]] = None):
|
|
176
|
+
"""
|
|
177
|
+
Input properties used for looking up and filtering MfaDuo resources.
|
|
178
|
+
:param pulumi.Input[_builtins.str] api_hostname: `(string: <required>)` - API hostname for Duo.
|
|
179
|
+
:param pulumi.Input[_builtins.str] integration_key: `(string: <required>)` - Integration key for Duo.
|
|
180
|
+
:param pulumi.Input[_builtins.str] mount_accessor: `(string: <required>)` - The mount to tie this method to for use in automatic mappings. The mapping will use the Name field of Aliases associated with this mount as the username in the mapping.
|
|
181
|
+
:param pulumi.Input[_builtins.str] name: `(string: <required>)` – Name of the MFA method.
|
|
182
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
183
|
+
The value should not contain leading or trailing forward slashes.
|
|
184
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
185
|
+
*Available only for Vault Enterprise*.
|
|
186
|
+
:param pulumi.Input[_builtins.str] push_info: `(string)` - Push information for Duo.
|
|
187
|
+
:param pulumi.Input[_builtins.str] secret_key: `(string: <required>)` - Secret key for Duo.
|
|
188
|
+
:param pulumi.Input[_builtins.str] username_format: `(string)` - A format string for mapping Identity names to MFA method names. Values to substitute should be placed in `{{}}`. For example, `"{{alias.name}}@example.com"`. If blank, the Alias's Name field will be used as-is. Currently-supported mappings:
|
|
189
|
+
- alias.name: The name returned by the mount configured via the `mount_accessor` parameter
|
|
190
|
+
- entity.name: The name configured for the Entity
|
|
191
|
+
- alias.metadata.`<key>`: The value of the Alias's metadata parameter
|
|
192
|
+
- entity.metadata.`<key>`: The value of the Entity's metadata parameter
|
|
193
|
+
"""
|
|
194
|
+
if api_hostname is not None:
|
|
195
|
+
pulumi.set(__self__, "api_hostname", api_hostname)
|
|
196
|
+
if integration_key is not None:
|
|
197
|
+
pulumi.set(__self__, "integration_key", integration_key)
|
|
198
|
+
if mount_accessor is not None:
|
|
199
|
+
pulumi.set(__self__, "mount_accessor", mount_accessor)
|
|
200
|
+
if name is not None:
|
|
201
|
+
pulumi.set(__self__, "name", name)
|
|
202
|
+
if namespace is not None:
|
|
203
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
204
|
+
if push_info is not None:
|
|
205
|
+
pulumi.set(__self__, "push_info", push_info)
|
|
206
|
+
if secret_key is not None:
|
|
207
|
+
pulumi.set(__self__, "secret_key", secret_key)
|
|
208
|
+
if username_format is not None:
|
|
209
|
+
pulumi.set(__self__, "username_format", username_format)
|
|
210
|
+
|
|
211
|
+
@_builtins.property
|
|
212
|
+
@pulumi.getter(name="apiHostname")
|
|
213
|
+
def api_hostname(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
214
|
+
"""
|
|
215
|
+
`(string: <required>)` - API hostname for Duo.
|
|
216
|
+
"""
|
|
217
|
+
return pulumi.get(self, "api_hostname")
|
|
218
|
+
|
|
219
|
+
@api_hostname.setter
|
|
220
|
+
def api_hostname(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
221
|
+
pulumi.set(self, "api_hostname", value)
|
|
222
|
+
|
|
223
|
+
@_builtins.property
|
|
224
|
+
@pulumi.getter(name="integrationKey")
|
|
225
|
+
def integration_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
226
|
+
"""
|
|
227
|
+
`(string: <required>)` - Integration key for Duo.
|
|
228
|
+
"""
|
|
229
|
+
return pulumi.get(self, "integration_key")
|
|
230
|
+
|
|
231
|
+
@integration_key.setter
|
|
232
|
+
def integration_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
233
|
+
pulumi.set(self, "integration_key", value)
|
|
234
|
+
|
|
235
|
+
@_builtins.property
|
|
236
|
+
@pulumi.getter(name="mountAccessor")
|
|
237
|
+
def mount_accessor(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
238
|
+
"""
|
|
239
|
+
`(string: <required>)` - The mount to tie this method to for use in automatic mappings. The mapping will use the Name field of Aliases associated with this mount as the username in the mapping.
|
|
240
|
+
"""
|
|
241
|
+
return pulumi.get(self, "mount_accessor")
|
|
242
|
+
|
|
243
|
+
@mount_accessor.setter
|
|
244
|
+
def mount_accessor(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
245
|
+
pulumi.set(self, "mount_accessor", value)
|
|
246
|
+
|
|
247
|
+
@_builtins.property
|
|
248
|
+
@pulumi.getter
|
|
249
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
250
|
+
"""
|
|
251
|
+
`(string: <required>)` – Name of the MFA method.
|
|
252
|
+
"""
|
|
253
|
+
return pulumi.get(self, "name")
|
|
254
|
+
|
|
255
|
+
@name.setter
|
|
256
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
257
|
+
pulumi.set(self, "name", value)
|
|
258
|
+
|
|
259
|
+
@_builtins.property
|
|
260
|
+
@pulumi.getter
|
|
261
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
262
|
+
"""
|
|
263
|
+
The namespace to provision the resource in.
|
|
264
|
+
The value should not contain leading or trailing forward slashes.
|
|
265
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
266
|
+
*Available only for Vault Enterprise*.
|
|
267
|
+
"""
|
|
268
|
+
return pulumi.get(self, "namespace")
|
|
269
|
+
|
|
270
|
+
@namespace.setter
|
|
271
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
272
|
+
pulumi.set(self, "namespace", value)
|
|
273
|
+
|
|
274
|
+
@_builtins.property
|
|
275
|
+
@pulumi.getter(name="pushInfo")
|
|
276
|
+
def push_info(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
277
|
+
"""
|
|
278
|
+
`(string)` - Push information for Duo.
|
|
279
|
+
"""
|
|
280
|
+
return pulumi.get(self, "push_info")
|
|
281
|
+
|
|
282
|
+
@push_info.setter
|
|
283
|
+
def push_info(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
284
|
+
pulumi.set(self, "push_info", value)
|
|
285
|
+
|
|
286
|
+
@_builtins.property
|
|
287
|
+
@pulumi.getter(name="secretKey")
|
|
288
|
+
def secret_key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
289
|
+
"""
|
|
290
|
+
`(string: <required>)` - Secret key for Duo.
|
|
291
|
+
"""
|
|
292
|
+
return pulumi.get(self, "secret_key")
|
|
293
|
+
|
|
294
|
+
@secret_key.setter
|
|
295
|
+
def secret_key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
296
|
+
pulumi.set(self, "secret_key", value)
|
|
297
|
+
|
|
298
|
+
@_builtins.property
|
|
299
|
+
@pulumi.getter(name="usernameFormat")
|
|
300
|
+
def username_format(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
301
|
+
"""
|
|
302
|
+
`(string)` - A format string for mapping Identity names to MFA method names. Values to substitute should be placed in `{{}}`. For example, `"{{alias.name}}@example.com"`. If blank, the Alias's Name field will be used as-is. Currently-supported mappings:
|
|
303
|
+
- alias.name: The name returned by the mount configured via the `mount_accessor` parameter
|
|
304
|
+
- entity.name: The name configured for the Entity
|
|
305
|
+
- alias.metadata.`<key>`: The value of the Alias's metadata parameter
|
|
306
|
+
- entity.metadata.`<key>`: The value of the Entity's metadata parameter
|
|
307
|
+
"""
|
|
308
|
+
return pulumi.get(self, "username_format")
|
|
309
|
+
|
|
310
|
+
@username_format.setter
|
|
311
|
+
def username_format(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
312
|
+
pulumi.set(self, "username_format", value)
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
@pulumi.type_token("vault:index/mfaDuo:MfaDuo")
|
|
316
|
+
class MfaDuo(pulumi.CustomResource):
|
|
317
|
+
@overload
|
|
318
|
+
def __init__(__self__,
|
|
319
|
+
resource_name: str,
|
|
320
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
321
|
+
api_hostname: Optional[pulumi.Input[_builtins.str]] = None,
|
|
322
|
+
integration_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
323
|
+
mount_accessor: Optional[pulumi.Input[_builtins.str]] = None,
|
|
324
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
325
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
326
|
+
push_info: Optional[pulumi.Input[_builtins.str]] = None,
|
|
327
|
+
secret_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
328
|
+
username_format: Optional[pulumi.Input[_builtins.str]] = None,
|
|
329
|
+
__props__=None):
|
|
330
|
+
"""
|
|
331
|
+
Provides a resource to manage [Duo MFA](https://www.vaultproject.io/docs/enterprise/mfa/mfa-duo.html).
|
|
332
|
+
|
|
333
|
+
**Note** this feature is available only with Vault Enterprise.
|
|
334
|
+
|
|
335
|
+
## Example Usage
|
|
336
|
+
|
|
337
|
+
```python
|
|
338
|
+
import pulumi
|
|
339
|
+
import pulumi_vault as vault
|
|
340
|
+
|
|
341
|
+
userpass = vault.AuthBackend("userpass",
|
|
342
|
+
type="userpass",
|
|
343
|
+
path="userpass")
|
|
344
|
+
my_duo = vault.MfaDuo("my_duo",
|
|
345
|
+
name="my_duo",
|
|
346
|
+
mount_accessor=userpass.accessor,
|
|
347
|
+
secret_key="8C7THtrIigh2rPZQMbguugt8IUftWhMRCOBzbuyz",
|
|
348
|
+
integration_key="BIACEUEAXI20BNWTEYXT",
|
|
349
|
+
api_hostname="api-2b5c39f5.duosecurity.com")
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
## Import
|
|
353
|
+
|
|
354
|
+
Mounts can be imported using the `path`, e.g.
|
|
355
|
+
|
|
356
|
+
```sh
|
|
357
|
+
$ pulumi import vault:index/mfaDuo:MfaDuo my_duo my_duo
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
:param str resource_name: The name of the resource.
|
|
361
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
362
|
+
:param pulumi.Input[_builtins.str] api_hostname: `(string: <required>)` - API hostname for Duo.
|
|
363
|
+
:param pulumi.Input[_builtins.str] integration_key: `(string: <required>)` - Integration key for Duo.
|
|
364
|
+
:param pulumi.Input[_builtins.str] mount_accessor: `(string: <required>)` - The mount to tie this method to for use in automatic mappings. The mapping will use the Name field of Aliases associated with this mount as the username in the mapping.
|
|
365
|
+
:param pulumi.Input[_builtins.str] name: `(string: <required>)` – Name of the MFA method.
|
|
366
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
367
|
+
The value should not contain leading or trailing forward slashes.
|
|
368
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
369
|
+
*Available only for Vault Enterprise*.
|
|
370
|
+
:param pulumi.Input[_builtins.str] push_info: `(string)` - Push information for Duo.
|
|
371
|
+
:param pulumi.Input[_builtins.str] secret_key: `(string: <required>)` - Secret key for Duo.
|
|
372
|
+
:param pulumi.Input[_builtins.str] username_format: `(string)` - A format string for mapping Identity names to MFA method names. Values to substitute should be placed in `{{}}`. For example, `"{{alias.name}}@example.com"`. If blank, the Alias's Name field will be used as-is. Currently-supported mappings:
|
|
373
|
+
- alias.name: The name returned by the mount configured via the `mount_accessor` parameter
|
|
374
|
+
- entity.name: The name configured for the Entity
|
|
375
|
+
- alias.metadata.`<key>`: The value of the Alias's metadata parameter
|
|
376
|
+
- entity.metadata.`<key>`: The value of the Entity's metadata parameter
|
|
377
|
+
"""
|
|
378
|
+
...
|
|
379
|
+
@overload
|
|
380
|
+
def __init__(__self__,
|
|
381
|
+
resource_name: str,
|
|
382
|
+
args: MfaDuoArgs,
|
|
383
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
384
|
+
"""
|
|
385
|
+
Provides a resource to manage [Duo MFA](https://www.vaultproject.io/docs/enterprise/mfa/mfa-duo.html).
|
|
386
|
+
|
|
387
|
+
**Note** this feature is available only with Vault Enterprise.
|
|
388
|
+
|
|
389
|
+
## Example Usage
|
|
390
|
+
|
|
391
|
+
```python
|
|
392
|
+
import pulumi
|
|
393
|
+
import pulumi_vault as vault
|
|
394
|
+
|
|
395
|
+
userpass = vault.AuthBackend("userpass",
|
|
396
|
+
type="userpass",
|
|
397
|
+
path="userpass")
|
|
398
|
+
my_duo = vault.MfaDuo("my_duo",
|
|
399
|
+
name="my_duo",
|
|
400
|
+
mount_accessor=userpass.accessor,
|
|
401
|
+
secret_key="8C7THtrIigh2rPZQMbguugt8IUftWhMRCOBzbuyz",
|
|
402
|
+
integration_key="BIACEUEAXI20BNWTEYXT",
|
|
403
|
+
api_hostname="api-2b5c39f5.duosecurity.com")
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
## Import
|
|
407
|
+
|
|
408
|
+
Mounts can be imported using the `path`, e.g.
|
|
409
|
+
|
|
410
|
+
```sh
|
|
411
|
+
$ pulumi import vault:index/mfaDuo:MfaDuo my_duo my_duo
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
:param str resource_name: The name of the resource.
|
|
415
|
+
:param MfaDuoArgs args: The arguments to use to populate this resource's properties.
|
|
416
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
417
|
+
"""
|
|
418
|
+
...
|
|
419
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
420
|
+
resource_args, opts = _utilities.get_resource_args_opts(MfaDuoArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
421
|
+
if resource_args is not None:
|
|
422
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
423
|
+
else:
|
|
424
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
425
|
+
|
|
426
|
+
def _internal_init(__self__,
|
|
427
|
+
resource_name: str,
|
|
428
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
429
|
+
api_hostname: Optional[pulumi.Input[_builtins.str]] = None,
|
|
430
|
+
integration_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
431
|
+
mount_accessor: Optional[pulumi.Input[_builtins.str]] = None,
|
|
432
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
433
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
434
|
+
push_info: Optional[pulumi.Input[_builtins.str]] = None,
|
|
435
|
+
secret_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
436
|
+
username_format: Optional[pulumi.Input[_builtins.str]] = None,
|
|
437
|
+
__props__=None):
|
|
438
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
439
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
440
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
441
|
+
if opts.id is None:
|
|
442
|
+
if __props__ is not None:
|
|
443
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
444
|
+
__props__ = MfaDuoArgs.__new__(MfaDuoArgs)
|
|
445
|
+
|
|
446
|
+
if api_hostname is None and not opts.urn:
|
|
447
|
+
raise TypeError("Missing required property 'api_hostname'")
|
|
448
|
+
__props__.__dict__["api_hostname"] = api_hostname
|
|
449
|
+
if integration_key is None and not opts.urn:
|
|
450
|
+
raise TypeError("Missing required property 'integration_key'")
|
|
451
|
+
__props__.__dict__["integration_key"] = None if integration_key is None else pulumi.Output.secret(integration_key)
|
|
452
|
+
if mount_accessor is None and not opts.urn:
|
|
453
|
+
raise TypeError("Missing required property 'mount_accessor'")
|
|
454
|
+
__props__.__dict__["mount_accessor"] = mount_accessor
|
|
455
|
+
__props__.__dict__["name"] = name
|
|
456
|
+
__props__.__dict__["namespace"] = namespace
|
|
457
|
+
__props__.__dict__["push_info"] = push_info
|
|
458
|
+
if secret_key is None and not opts.urn:
|
|
459
|
+
raise TypeError("Missing required property 'secret_key'")
|
|
460
|
+
__props__.__dict__["secret_key"] = None if secret_key is None else pulumi.Output.secret(secret_key)
|
|
461
|
+
__props__.__dict__["username_format"] = username_format
|
|
462
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["integrationKey", "secretKey"])
|
|
463
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
|
464
|
+
super(MfaDuo, __self__).__init__(
|
|
465
|
+
'vault:index/mfaDuo:MfaDuo',
|
|
466
|
+
resource_name,
|
|
467
|
+
__props__,
|
|
468
|
+
opts)
|
|
469
|
+
|
|
470
|
+
@staticmethod
|
|
471
|
+
def get(resource_name: str,
|
|
472
|
+
id: pulumi.Input[str],
|
|
473
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
474
|
+
api_hostname: Optional[pulumi.Input[_builtins.str]] = None,
|
|
475
|
+
integration_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
476
|
+
mount_accessor: Optional[pulumi.Input[_builtins.str]] = None,
|
|
477
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
478
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
479
|
+
push_info: Optional[pulumi.Input[_builtins.str]] = None,
|
|
480
|
+
secret_key: Optional[pulumi.Input[_builtins.str]] = None,
|
|
481
|
+
username_format: Optional[pulumi.Input[_builtins.str]] = None) -> 'MfaDuo':
|
|
482
|
+
"""
|
|
483
|
+
Get an existing MfaDuo resource's state with the given name, id, and optional extra
|
|
484
|
+
properties used to qualify the lookup.
|
|
485
|
+
|
|
486
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
487
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
488
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
489
|
+
:param pulumi.Input[_builtins.str] api_hostname: `(string: <required>)` - API hostname for Duo.
|
|
490
|
+
:param pulumi.Input[_builtins.str] integration_key: `(string: <required>)` - Integration key for Duo.
|
|
491
|
+
:param pulumi.Input[_builtins.str] mount_accessor: `(string: <required>)` - The mount to tie this method to for use in automatic mappings. The mapping will use the Name field of Aliases associated with this mount as the username in the mapping.
|
|
492
|
+
:param pulumi.Input[_builtins.str] name: `(string: <required>)` – Name of the MFA method.
|
|
493
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
494
|
+
The value should not contain leading or trailing forward slashes.
|
|
495
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
496
|
+
*Available only for Vault Enterprise*.
|
|
497
|
+
:param pulumi.Input[_builtins.str] push_info: `(string)` - Push information for Duo.
|
|
498
|
+
:param pulumi.Input[_builtins.str] secret_key: `(string: <required>)` - Secret key for Duo.
|
|
499
|
+
:param pulumi.Input[_builtins.str] username_format: `(string)` - A format string for mapping Identity names to MFA method names. Values to substitute should be placed in `{{}}`. For example, `"{{alias.name}}@example.com"`. If blank, the Alias's Name field will be used as-is. Currently-supported mappings:
|
|
500
|
+
- alias.name: The name returned by the mount configured via the `mount_accessor` parameter
|
|
501
|
+
- entity.name: The name configured for the Entity
|
|
502
|
+
- alias.metadata.`<key>`: The value of the Alias's metadata parameter
|
|
503
|
+
- entity.metadata.`<key>`: The value of the Entity's metadata parameter
|
|
504
|
+
"""
|
|
505
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
506
|
+
|
|
507
|
+
__props__ = _MfaDuoState.__new__(_MfaDuoState)
|
|
508
|
+
|
|
509
|
+
__props__.__dict__["api_hostname"] = api_hostname
|
|
510
|
+
__props__.__dict__["integration_key"] = integration_key
|
|
511
|
+
__props__.__dict__["mount_accessor"] = mount_accessor
|
|
512
|
+
__props__.__dict__["name"] = name
|
|
513
|
+
__props__.__dict__["namespace"] = namespace
|
|
514
|
+
__props__.__dict__["push_info"] = push_info
|
|
515
|
+
__props__.__dict__["secret_key"] = secret_key
|
|
516
|
+
__props__.__dict__["username_format"] = username_format
|
|
517
|
+
return MfaDuo(resource_name, opts=opts, __props__=__props__)
|
|
518
|
+
|
|
519
|
+
@_builtins.property
|
|
520
|
+
@pulumi.getter(name="apiHostname")
|
|
521
|
+
def api_hostname(self) -> pulumi.Output[_builtins.str]:
|
|
522
|
+
"""
|
|
523
|
+
`(string: <required>)` - API hostname for Duo.
|
|
524
|
+
"""
|
|
525
|
+
return pulumi.get(self, "api_hostname")
|
|
526
|
+
|
|
527
|
+
@_builtins.property
|
|
528
|
+
@pulumi.getter(name="integrationKey")
|
|
529
|
+
def integration_key(self) -> pulumi.Output[_builtins.str]:
|
|
530
|
+
"""
|
|
531
|
+
`(string: <required>)` - Integration key for Duo.
|
|
532
|
+
"""
|
|
533
|
+
return pulumi.get(self, "integration_key")
|
|
534
|
+
|
|
535
|
+
@_builtins.property
|
|
536
|
+
@pulumi.getter(name="mountAccessor")
|
|
537
|
+
def mount_accessor(self) -> pulumi.Output[_builtins.str]:
|
|
538
|
+
"""
|
|
539
|
+
`(string: <required>)` - The mount to tie this method to for use in automatic mappings. The mapping will use the Name field of Aliases associated with this mount as the username in the mapping.
|
|
540
|
+
"""
|
|
541
|
+
return pulumi.get(self, "mount_accessor")
|
|
542
|
+
|
|
543
|
+
@_builtins.property
|
|
544
|
+
@pulumi.getter
|
|
545
|
+
def name(self) -> pulumi.Output[_builtins.str]:
|
|
546
|
+
"""
|
|
547
|
+
`(string: <required>)` – Name of the MFA method.
|
|
548
|
+
"""
|
|
549
|
+
return pulumi.get(self, "name")
|
|
550
|
+
|
|
551
|
+
@_builtins.property
|
|
552
|
+
@pulumi.getter
|
|
553
|
+
def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
554
|
+
"""
|
|
555
|
+
The namespace to provision the resource in.
|
|
556
|
+
The value should not contain leading or trailing forward slashes.
|
|
557
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
558
|
+
*Available only for Vault Enterprise*.
|
|
559
|
+
"""
|
|
560
|
+
return pulumi.get(self, "namespace")
|
|
561
|
+
|
|
562
|
+
@_builtins.property
|
|
563
|
+
@pulumi.getter(name="pushInfo")
|
|
564
|
+
def push_info(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
565
|
+
"""
|
|
566
|
+
`(string)` - Push information for Duo.
|
|
567
|
+
"""
|
|
568
|
+
return pulumi.get(self, "push_info")
|
|
569
|
+
|
|
570
|
+
@_builtins.property
|
|
571
|
+
@pulumi.getter(name="secretKey")
|
|
572
|
+
def secret_key(self) -> pulumi.Output[_builtins.str]:
|
|
573
|
+
"""
|
|
574
|
+
`(string: <required>)` - Secret key for Duo.
|
|
575
|
+
"""
|
|
576
|
+
return pulumi.get(self, "secret_key")
|
|
577
|
+
|
|
578
|
+
@_builtins.property
|
|
579
|
+
@pulumi.getter(name="usernameFormat")
|
|
580
|
+
def username_format(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
581
|
+
"""
|
|
582
|
+
`(string)` - A format string for mapping Identity names to MFA method names. Values to substitute should be placed in `{{}}`. For example, `"{{alias.name}}@example.com"`. If blank, the Alias's Name field will be used as-is. Currently-supported mappings:
|
|
583
|
+
- alias.name: The name returned by the mount configured via the `mount_accessor` parameter
|
|
584
|
+
- entity.name: The name configured for the Entity
|
|
585
|
+
- alias.metadata.`<key>`: The value of the Alias's metadata parameter
|
|
586
|
+
- entity.metadata.`<key>`: The value of the Entity's metadata parameter
|
|
587
|
+
"""
|
|
588
|
+
return pulumi.get(self, "username_format")
|
|
589
|
+
|