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,1188 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins as _builtins
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from .. import _utilities
|
|
16
|
+
|
|
17
|
+
__all__ = ['SecretBackendRoleArgs', 'SecretBackendRole']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class SecretBackendRoleArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
backend: pulumi.Input[_builtins.str],
|
|
23
|
+
credential_type: pulumi.Input[_builtins.str],
|
|
24
|
+
default_sts_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
25
|
+
external_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
26
|
+
iam_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
27
|
+
iam_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
28
|
+
max_sts_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
29
|
+
mfa_serial_number: Optional[pulumi.Input[_builtins.str]] = None,
|
|
30
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
31
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
32
|
+
permissions_boundary_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
33
|
+
policy_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
34
|
+
policy_document: Optional[pulumi.Input[_builtins.str]] = None,
|
|
35
|
+
role_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
36
|
+
session_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
37
|
+
user_path: Optional[pulumi.Input[_builtins.str]] = None):
|
|
38
|
+
"""
|
|
39
|
+
The set of arguments for constructing a SecretBackendRole resource.
|
|
40
|
+
:param pulumi.Input[_builtins.str] backend: The path the AWS secret backend is mounted at,
|
|
41
|
+
with no leading or trailing `/`s.
|
|
42
|
+
:param pulumi.Input[_builtins.str] credential_type: Specifies the type of credential to be used when
|
|
43
|
+
retrieving credentials from the role. Must be one of `iam_user`, `assumed_role`, or
|
|
44
|
+
`federation_token`.
|
|
45
|
+
:param pulumi.Input[_builtins.int] default_sts_ttl: The default TTL in seconds for STS credentials.
|
|
46
|
+
When a TTL is not specified when STS credentials are requested,
|
|
47
|
+
and a default TTL is specified on the role,
|
|
48
|
+
then this default TTL will be used. Valid only when `credential_type` is one of
|
|
49
|
+
`assumed_role` or `federation_token`.
|
|
50
|
+
:param pulumi.Input[_builtins.str] external_id: External ID to set for assume role creds.
|
|
51
|
+
Valid only when `credential_type` is set to `assumed_role`.
|
|
52
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] iam_groups: A list of IAM group names. IAM users generated
|
|
53
|
+
against this vault role will be added to these IAM Groups. For a credential
|
|
54
|
+
type of `assumed_role` or `federation_token`, the policies sent to the
|
|
55
|
+
corresponding AWS call (sts:AssumeRole or sts:GetFederation) will be the
|
|
56
|
+
policies from each group in `iam_groups` combined with the `policy_document`
|
|
57
|
+
and `policy_arns` parameters.
|
|
58
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] iam_tags: A map of strings representing key/value pairs
|
|
59
|
+
to be used as tags for any IAM user that is created by this role.
|
|
60
|
+
:param pulumi.Input[_builtins.int] max_sts_ttl: The max allowed TTL in seconds for STS credentials
|
|
61
|
+
(credentials TTL are capped to `max_sts_ttl`). Valid only when `credential_type` is
|
|
62
|
+
one of `assumed_role` or `federation_token`.
|
|
63
|
+
:param pulumi.Input[_builtins.str] mfa_serial_number: The ARN or hardware device number of the device configured to the IAM user for multi-factor authentication. Only required if the IAM user has an MFA device set up in AWS.
|
|
64
|
+
:param pulumi.Input[_builtins.str] name: The name to identify this role within the backend.
|
|
65
|
+
Must be unique within the backend.
|
|
66
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
67
|
+
The value should not contain leading or trailing forward slashes.
|
|
68
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
69
|
+
*Available only for Vault Enterprise*.
|
|
70
|
+
:param pulumi.Input[_builtins.str] permissions_boundary_arn: The ARN of the AWS Permissions
|
|
71
|
+
Boundary to attach to IAM users created in the role. Valid only when
|
|
72
|
+
`credential_type` is `iam_user`. If not specified, then no permissions boundary
|
|
73
|
+
policy will be attached.
|
|
74
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policy_arns: Specifies a list of AWS managed policy ARNs. The
|
|
75
|
+
behavior depends on the credential type. With `iam_user`, the policies will be
|
|
76
|
+
attached to IAM users when they are requested. With `assumed_role` and
|
|
77
|
+
`federation_token`, the policy ARNs will act as a filter on what the credentials
|
|
78
|
+
can do, similar to `policy_document`. When `credential_type` is `iam_user` or
|
|
79
|
+
`federation_token`, at least one of `policy_document` or `policy_arns` must
|
|
80
|
+
be specified.
|
|
81
|
+
:param pulumi.Input[_builtins.str] policy_document: The IAM policy document for the role. The
|
|
82
|
+
behavior depends on the credential type. With `iam_user`, the policy document
|
|
83
|
+
will be attached to the IAM user generated and augment the permissions the IAM
|
|
84
|
+
user has. With `assumed_role` and `federation_token`, the policy document will
|
|
85
|
+
act as a filter on what the credentials can do, similar to `policy_arns`.
|
|
86
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] role_arns: Specifies the ARNs of the AWS roles this Vault role
|
|
87
|
+
is allowed to assume. Required when `credential_type` is `assumed_role` and
|
|
88
|
+
prohibited otherwise.
|
|
89
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] session_tags: A map of strings representing key/value pairs to be set
|
|
90
|
+
during assume role creds creation. Valid only when `credential_type` is set to
|
|
91
|
+
`assumed_role`.
|
|
92
|
+
:param pulumi.Input[_builtins.str] user_path: The path for the user name. Valid only when
|
|
93
|
+
`credential_type` is `iam_user`. Default is `/`.
|
|
94
|
+
"""
|
|
95
|
+
pulumi.set(__self__, "backend", backend)
|
|
96
|
+
pulumi.set(__self__, "credential_type", credential_type)
|
|
97
|
+
if default_sts_ttl is not None:
|
|
98
|
+
pulumi.set(__self__, "default_sts_ttl", default_sts_ttl)
|
|
99
|
+
if external_id is not None:
|
|
100
|
+
pulumi.set(__self__, "external_id", external_id)
|
|
101
|
+
if iam_groups is not None:
|
|
102
|
+
pulumi.set(__self__, "iam_groups", iam_groups)
|
|
103
|
+
if iam_tags is not None:
|
|
104
|
+
pulumi.set(__self__, "iam_tags", iam_tags)
|
|
105
|
+
if max_sts_ttl is not None:
|
|
106
|
+
pulumi.set(__self__, "max_sts_ttl", max_sts_ttl)
|
|
107
|
+
if mfa_serial_number is not None:
|
|
108
|
+
pulumi.set(__self__, "mfa_serial_number", mfa_serial_number)
|
|
109
|
+
if name is not None:
|
|
110
|
+
pulumi.set(__self__, "name", name)
|
|
111
|
+
if namespace is not None:
|
|
112
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
113
|
+
if permissions_boundary_arn is not None:
|
|
114
|
+
pulumi.set(__self__, "permissions_boundary_arn", permissions_boundary_arn)
|
|
115
|
+
if policy_arns is not None:
|
|
116
|
+
pulumi.set(__self__, "policy_arns", policy_arns)
|
|
117
|
+
if policy_document is not None:
|
|
118
|
+
pulumi.set(__self__, "policy_document", policy_document)
|
|
119
|
+
if role_arns is not None:
|
|
120
|
+
pulumi.set(__self__, "role_arns", role_arns)
|
|
121
|
+
if session_tags is not None:
|
|
122
|
+
pulumi.set(__self__, "session_tags", session_tags)
|
|
123
|
+
if user_path is not None:
|
|
124
|
+
pulumi.set(__self__, "user_path", user_path)
|
|
125
|
+
|
|
126
|
+
@_builtins.property
|
|
127
|
+
@pulumi.getter
|
|
128
|
+
def backend(self) -> pulumi.Input[_builtins.str]:
|
|
129
|
+
"""
|
|
130
|
+
The path the AWS secret backend is mounted at,
|
|
131
|
+
with no leading or trailing `/`s.
|
|
132
|
+
"""
|
|
133
|
+
return pulumi.get(self, "backend")
|
|
134
|
+
|
|
135
|
+
@backend.setter
|
|
136
|
+
def backend(self, value: pulumi.Input[_builtins.str]):
|
|
137
|
+
pulumi.set(self, "backend", value)
|
|
138
|
+
|
|
139
|
+
@_builtins.property
|
|
140
|
+
@pulumi.getter(name="credentialType")
|
|
141
|
+
def credential_type(self) -> pulumi.Input[_builtins.str]:
|
|
142
|
+
"""
|
|
143
|
+
Specifies the type of credential to be used when
|
|
144
|
+
retrieving credentials from the role. Must be one of `iam_user`, `assumed_role`, or
|
|
145
|
+
`federation_token`.
|
|
146
|
+
"""
|
|
147
|
+
return pulumi.get(self, "credential_type")
|
|
148
|
+
|
|
149
|
+
@credential_type.setter
|
|
150
|
+
def credential_type(self, value: pulumi.Input[_builtins.str]):
|
|
151
|
+
pulumi.set(self, "credential_type", value)
|
|
152
|
+
|
|
153
|
+
@_builtins.property
|
|
154
|
+
@pulumi.getter(name="defaultStsTtl")
|
|
155
|
+
def default_sts_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
156
|
+
"""
|
|
157
|
+
The default TTL in seconds for STS credentials.
|
|
158
|
+
When a TTL is not specified when STS credentials are requested,
|
|
159
|
+
and a default TTL is specified on the role,
|
|
160
|
+
then this default TTL will be used. Valid only when `credential_type` is one of
|
|
161
|
+
`assumed_role` or `federation_token`.
|
|
162
|
+
"""
|
|
163
|
+
return pulumi.get(self, "default_sts_ttl")
|
|
164
|
+
|
|
165
|
+
@default_sts_ttl.setter
|
|
166
|
+
def default_sts_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
167
|
+
pulumi.set(self, "default_sts_ttl", value)
|
|
168
|
+
|
|
169
|
+
@_builtins.property
|
|
170
|
+
@pulumi.getter(name="externalId")
|
|
171
|
+
def external_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
172
|
+
"""
|
|
173
|
+
External ID to set for assume role creds.
|
|
174
|
+
Valid only when `credential_type` is set to `assumed_role`.
|
|
175
|
+
"""
|
|
176
|
+
return pulumi.get(self, "external_id")
|
|
177
|
+
|
|
178
|
+
@external_id.setter
|
|
179
|
+
def external_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
180
|
+
pulumi.set(self, "external_id", value)
|
|
181
|
+
|
|
182
|
+
@_builtins.property
|
|
183
|
+
@pulumi.getter(name="iamGroups")
|
|
184
|
+
def iam_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
185
|
+
"""
|
|
186
|
+
A list of IAM group names. IAM users generated
|
|
187
|
+
against this vault role will be added to these IAM Groups. For a credential
|
|
188
|
+
type of `assumed_role` or `federation_token`, the policies sent to the
|
|
189
|
+
corresponding AWS call (sts:AssumeRole or sts:GetFederation) will be the
|
|
190
|
+
policies from each group in `iam_groups` combined with the `policy_document`
|
|
191
|
+
and `policy_arns` parameters.
|
|
192
|
+
"""
|
|
193
|
+
return pulumi.get(self, "iam_groups")
|
|
194
|
+
|
|
195
|
+
@iam_groups.setter
|
|
196
|
+
def iam_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
197
|
+
pulumi.set(self, "iam_groups", value)
|
|
198
|
+
|
|
199
|
+
@_builtins.property
|
|
200
|
+
@pulumi.getter(name="iamTags")
|
|
201
|
+
def iam_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
202
|
+
"""
|
|
203
|
+
A map of strings representing key/value pairs
|
|
204
|
+
to be used as tags for any IAM user that is created by this role.
|
|
205
|
+
"""
|
|
206
|
+
return pulumi.get(self, "iam_tags")
|
|
207
|
+
|
|
208
|
+
@iam_tags.setter
|
|
209
|
+
def iam_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
210
|
+
pulumi.set(self, "iam_tags", value)
|
|
211
|
+
|
|
212
|
+
@_builtins.property
|
|
213
|
+
@pulumi.getter(name="maxStsTtl")
|
|
214
|
+
def max_sts_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
215
|
+
"""
|
|
216
|
+
The max allowed TTL in seconds for STS credentials
|
|
217
|
+
(credentials TTL are capped to `max_sts_ttl`). Valid only when `credential_type` is
|
|
218
|
+
one of `assumed_role` or `federation_token`.
|
|
219
|
+
"""
|
|
220
|
+
return pulumi.get(self, "max_sts_ttl")
|
|
221
|
+
|
|
222
|
+
@max_sts_ttl.setter
|
|
223
|
+
def max_sts_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
224
|
+
pulumi.set(self, "max_sts_ttl", value)
|
|
225
|
+
|
|
226
|
+
@_builtins.property
|
|
227
|
+
@pulumi.getter(name="mfaSerialNumber")
|
|
228
|
+
def mfa_serial_number(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
229
|
+
"""
|
|
230
|
+
The ARN or hardware device number of the device configured to the IAM user for multi-factor authentication. Only required if the IAM user has an MFA device set up in AWS.
|
|
231
|
+
"""
|
|
232
|
+
return pulumi.get(self, "mfa_serial_number")
|
|
233
|
+
|
|
234
|
+
@mfa_serial_number.setter
|
|
235
|
+
def mfa_serial_number(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
236
|
+
pulumi.set(self, "mfa_serial_number", value)
|
|
237
|
+
|
|
238
|
+
@_builtins.property
|
|
239
|
+
@pulumi.getter
|
|
240
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
241
|
+
"""
|
|
242
|
+
The name to identify this role within the backend.
|
|
243
|
+
Must be unique within the backend.
|
|
244
|
+
"""
|
|
245
|
+
return pulumi.get(self, "name")
|
|
246
|
+
|
|
247
|
+
@name.setter
|
|
248
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
249
|
+
pulumi.set(self, "name", value)
|
|
250
|
+
|
|
251
|
+
@_builtins.property
|
|
252
|
+
@pulumi.getter
|
|
253
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
254
|
+
"""
|
|
255
|
+
The namespace to provision the resource in.
|
|
256
|
+
The value should not contain leading or trailing forward slashes.
|
|
257
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
258
|
+
*Available only for Vault Enterprise*.
|
|
259
|
+
"""
|
|
260
|
+
return pulumi.get(self, "namespace")
|
|
261
|
+
|
|
262
|
+
@namespace.setter
|
|
263
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
264
|
+
pulumi.set(self, "namespace", value)
|
|
265
|
+
|
|
266
|
+
@_builtins.property
|
|
267
|
+
@pulumi.getter(name="permissionsBoundaryArn")
|
|
268
|
+
def permissions_boundary_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
269
|
+
"""
|
|
270
|
+
The ARN of the AWS Permissions
|
|
271
|
+
Boundary to attach to IAM users created in the role. Valid only when
|
|
272
|
+
`credential_type` is `iam_user`. If not specified, then no permissions boundary
|
|
273
|
+
policy will be attached.
|
|
274
|
+
"""
|
|
275
|
+
return pulumi.get(self, "permissions_boundary_arn")
|
|
276
|
+
|
|
277
|
+
@permissions_boundary_arn.setter
|
|
278
|
+
def permissions_boundary_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
279
|
+
pulumi.set(self, "permissions_boundary_arn", value)
|
|
280
|
+
|
|
281
|
+
@_builtins.property
|
|
282
|
+
@pulumi.getter(name="policyArns")
|
|
283
|
+
def policy_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
284
|
+
"""
|
|
285
|
+
Specifies a list of AWS managed policy ARNs. The
|
|
286
|
+
behavior depends on the credential type. With `iam_user`, the policies will be
|
|
287
|
+
attached to IAM users when they are requested. With `assumed_role` and
|
|
288
|
+
`federation_token`, the policy ARNs will act as a filter on what the credentials
|
|
289
|
+
can do, similar to `policy_document`. When `credential_type` is `iam_user` or
|
|
290
|
+
`federation_token`, at least one of `policy_document` or `policy_arns` must
|
|
291
|
+
be specified.
|
|
292
|
+
"""
|
|
293
|
+
return pulumi.get(self, "policy_arns")
|
|
294
|
+
|
|
295
|
+
@policy_arns.setter
|
|
296
|
+
def policy_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
297
|
+
pulumi.set(self, "policy_arns", value)
|
|
298
|
+
|
|
299
|
+
@_builtins.property
|
|
300
|
+
@pulumi.getter(name="policyDocument")
|
|
301
|
+
def policy_document(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
302
|
+
"""
|
|
303
|
+
The IAM policy document for the role. The
|
|
304
|
+
behavior depends on the credential type. With `iam_user`, the policy document
|
|
305
|
+
will be attached to the IAM user generated and augment the permissions the IAM
|
|
306
|
+
user has. With `assumed_role` and `federation_token`, the policy document will
|
|
307
|
+
act as a filter on what the credentials can do, similar to `policy_arns`.
|
|
308
|
+
"""
|
|
309
|
+
return pulumi.get(self, "policy_document")
|
|
310
|
+
|
|
311
|
+
@policy_document.setter
|
|
312
|
+
def policy_document(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
313
|
+
pulumi.set(self, "policy_document", value)
|
|
314
|
+
|
|
315
|
+
@_builtins.property
|
|
316
|
+
@pulumi.getter(name="roleArns")
|
|
317
|
+
def role_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
318
|
+
"""
|
|
319
|
+
Specifies the ARNs of the AWS roles this Vault role
|
|
320
|
+
is allowed to assume. Required when `credential_type` is `assumed_role` and
|
|
321
|
+
prohibited otherwise.
|
|
322
|
+
"""
|
|
323
|
+
return pulumi.get(self, "role_arns")
|
|
324
|
+
|
|
325
|
+
@role_arns.setter
|
|
326
|
+
def role_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
327
|
+
pulumi.set(self, "role_arns", value)
|
|
328
|
+
|
|
329
|
+
@_builtins.property
|
|
330
|
+
@pulumi.getter(name="sessionTags")
|
|
331
|
+
def session_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
332
|
+
"""
|
|
333
|
+
A map of strings representing key/value pairs to be set
|
|
334
|
+
during assume role creds creation. Valid only when `credential_type` is set to
|
|
335
|
+
`assumed_role`.
|
|
336
|
+
"""
|
|
337
|
+
return pulumi.get(self, "session_tags")
|
|
338
|
+
|
|
339
|
+
@session_tags.setter
|
|
340
|
+
def session_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
341
|
+
pulumi.set(self, "session_tags", value)
|
|
342
|
+
|
|
343
|
+
@_builtins.property
|
|
344
|
+
@pulumi.getter(name="userPath")
|
|
345
|
+
def user_path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
346
|
+
"""
|
|
347
|
+
The path for the user name. Valid only when
|
|
348
|
+
`credential_type` is `iam_user`. Default is `/`.
|
|
349
|
+
"""
|
|
350
|
+
return pulumi.get(self, "user_path")
|
|
351
|
+
|
|
352
|
+
@user_path.setter
|
|
353
|
+
def user_path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
354
|
+
pulumi.set(self, "user_path", value)
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
@pulumi.input_type
|
|
358
|
+
class _SecretBackendRoleState:
|
|
359
|
+
def __init__(__self__, *,
|
|
360
|
+
backend: Optional[pulumi.Input[_builtins.str]] = None,
|
|
361
|
+
credential_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
362
|
+
default_sts_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
363
|
+
external_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
364
|
+
iam_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
365
|
+
iam_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
366
|
+
max_sts_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
367
|
+
mfa_serial_number: Optional[pulumi.Input[_builtins.str]] = None,
|
|
368
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
369
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
370
|
+
permissions_boundary_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
371
|
+
policy_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
372
|
+
policy_document: Optional[pulumi.Input[_builtins.str]] = None,
|
|
373
|
+
role_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
374
|
+
session_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
375
|
+
user_path: Optional[pulumi.Input[_builtins.str]] = None):
|
|
376
|
+
"""
|
|
377
|
+
Input properties used for looking up and filtering SecretBackendRole resources.
|
|
378
|
+
:param pulumi.Input[_builtins.str] backend: The path the AWS secret backend is mounted at,
|
|
379
|
+
with no leading or trailing `/`s.
|
|
380
|
+
:param pulumi.Input[_builtins.str] credential_type: Specifies the type of credential to be used when
|
|
381
|
+
retrieving credentials from the role. Must be one of `iam_user`, `assumed_role`, or
|
|
382
|
+
`federation_token`.
|
|
383
|
+
:param pulumi.Input[_builtins.int] default_sts_ttl: The default TTL in seconds for STS credentials.
|
|
384
|
+
When a TTL is not specified when STS credentials are requested,
|
|
385
|
+
and a default TTL is specified on the role,
|
|
386
|
+
then this default TTL will be used. Valid only when `credential_type` is one of
|
|
387
|
+
`assumed_role` or `federation_token`.
|
|
388
|
+
:param pulumi.Input[_builtins.str] external_id: External ID to set for assume role creds.
|
|
389
|
+
Valid only when `credential_type` is set to `assumed_role`.
|
|
390
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] iam_groups: A list of IAM group names. IAM users generated
|
|
391
|
+
against this vault role will be added to these IAM Groups. For a credential
|
|
392
|
+
type of `assumed_role` or `federation_token`, the policies sent to the
|
|
393
|
+
corresponding AWS call (sts:AssumeRole or sts:GetFederation) will be the
|
|
394
|
+
policies from each group in `iam_groups` combined with the `policy_document`
|
|
395
|
+
and `policy_arns` parameters.
|
|
396
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] iam_tags: A map of strings representing key/value pairs
|
|
397
|
+
to be used as tags for any IAM user that is created by this role.
|
|
398
|
+
:param pulumi.Input[_builtins.int] max_sts_ttl: The max allowed TTL in seconds for STS credentials
|
|
399
|
+
(credentials TTL are capped to `max_sts_ttl`). Valid only when `credential_type` is
|
|
400
|
+
one of `assumed_role` or `federation_token`.
|
|
401
|
+
:param pulumi.Input[_builtins.str] mfa_serial_number: The ARN or hardware device number of the device configured to the IAM user for multi-factor authentication. Only required if the IAM user has an MFA device set up in AWS.
|
|
402
|
+
:param pulumi.Input[_builtins.str] name: The name to identify this role within the backend.
|
|
403
|
+
Must be unique within the backend.
|
|
404
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
405
|
+
The value should not contain leading or trailing forward slashes.
|
|
406
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
407
|
+
*Available only for Vault Enterprise*.
|
|
408
|
+
:param pulumi.Input[_builtins.str] permissions_boundary_arn: The ARN of the AWS Permissions
|
|
409
|
+
Boundary to attach to IAM users created in the role. Valid only when
|
|
410
|
+
`credential_type` is `iam_user`. If not specified, then no permissions boundary
|
|
411
|
+
policy will be attached.
|
|
412
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policy_arns: Specifies a list of AWS managed policy ARNs. The
|
|
413
|
+
behavior depends on the credential type. With `iam_user`, the policies will be
|
|
414
|
+
attached to IAM users when they are requested. With `assumed_role` and
|
|
415
|
+
`federation_token`, the policy ARNs will act as a filter on what the credentials
|
|
416
|
+
can do, similar to `policy_document`. When `credential_type` is `iam_user` or
|
|
417
|
+
`federation_token`, at least one of `policy_document` or `policy_arns` must
|
|
418
|
+
be specified.
|
|
419
|
+
:param pulumi.Input[_builtins.str] policy_document: The IAM policy document for the role. The
|
|
420
|
+
behavior depends on the credential type. With `iam_user`, the policy document
|
|
421
|
+
will be attached to the IAM user generated and augment the permissions the IAM
|
|
422
|
+
user has. With `assumed_role` and `federation_token`, the policy document will
|
|
423
|
+
act as a filter on what the credentials can do, similar to `policy_arns`.
|
|
424
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] role_arns: Specifies the ARNs of the AWS roles this Vault role
|
|
425
|
+
is allowed to assume. Required when `credential_type` is `assumed_role` and
|
|
426
|
+
prohibited otherwise.
|
|
427
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] session_tags: A map of strings representing key/value pairs to be set
|
|
428
|
+
during assume role creds creation. Valid only when `credential_type` is set to
|
|
429
|
+
`assumed_role`.
|
|
430
|
+
:param pulumi.Input[_builtins.str] user_path: The path for the user name. Valid only when
|
|
431
|
+
`credential_type` is `iam_user`. Default is `/`.
|
|
432
|
+
"""
|
|
433
|
+
if backend is not None:
|
|
434
|
+
pulumi.set(__self__, "backend", backend)
|
|
435
|
+
if credential_type is not None:
|
|
436
|
+
pulumi.set(__self__, "credential_type", credential_type)
|
|
437
|
+
if default_sts_ttl is not None:
|
|
438
|
+
pulumi.set(__self__, "default_sts_ttl", default_sts_ttl)
|
|
439
|
+
if external_id is not None:
|
|
440
|
+
pulumi.set(__self__, "external_id", external_id)
|
|
441
|
+
if iam_groups is not None:
|
|
442
|
+
pulumi.set(__self__, "iam_groups", iam_groups)
|
|
443
|
+
if iam_tags is not None:
|
|
444
|
+
pulumi.set(__self__, "iam_tags", iam_tags)
|
|
445
|
+
if max_sts_ttl is not None:
|
|
446
|
+
pulumi.set(__self__, "max_sts_ttl", max_sts_ttl)
|
|
447
|
+
if mfa_serial_number is not None:
|
|
448
|
+
pulumi.set(__self__, "mfa_serial_number", mfa_serial_number)
|
|
449
|
+
if name is not None:
|
|
450
|
+
pulumi.set(__self__, "name", name)
|
|
451
|
+
if namespace is not None:
|
|
452
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
453
|
+
if permissions_boundary_arn is not None:
|
|
454
|
+
pulumi.set(__self__, "permissions_boundary_arn", permissions_boundary_arn)
|
|
455
|
+
if policy_arns is not None:
|
|
456
|
+
pulumi.set(__self__, "policy_arns", policy_arns)
|
|
457
|
+
if policy_document is not None:
|
|
458
|
+
pulumi.set(__self__, "policy_document", policy_document)
|
|
459
|
+
if role_arns is not None:
|
|
460
|
+
pulumi.set(__self__, "role_arns", role_arns)
|
|
461
|
+
if session_tags is not None:
|
|
462
|
+
pulumi.set(__self__, "session_tags", session_tags)
|
|
463
|
+
if user_path is not None:
|
|
464
|
+
pulumi.set(__self__, "user_path", user_path)
|
|
465
|
+
|
|
466
|
+
@_builtins.property
|
|
467
|
+
@pulumi.getter
|
|
468
|
+
def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
469
|
+
"""
|
|
470
|
+
The path the AWS secret backend is mounted at,
|
|
471
|
+
with no leading or trailing `/`s.
|
|
472
|
+
"""
|
|
473
|
+
return pulumi.get(self, "backend")
|
|
474
|
+
|
|
475
|
+
@backend.setter
|
|
476
|
+
def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
477
|
+
pulumi.set(self, "backend", value)
|
|
478
|
+
|
|
479
|
+
@_builtins.property
|
|
480
|
+
@pulumi.getter(name="credentialType")
|
|
481
|
+
def credential_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
482
|
+
"""
|
|
483
|
+
Specifies the type of credential to be used when
|
|
484
|
+
retrieving credentials from the role. Must be one of `iam_user`, `assumed_role`, or
|
|
485
|
+
`federation_token`.
|
|
486
|
+
"""
|
|
487
|
+
return pulumi.get(self, "credential_type")
|
|
488
|
+
|
|
489
|
+
@credential_type.setter
|
|
490
|
+
def credential_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
491
|
+
pulumi.set(self, "credential_type", value)
|
|
492
|
+
|
|
493
|
+
@_builtins.property
|
|
494
|
+
@pulumi.getter(name="defaultStsTtl")
|
|
495
|
+
def default_sts_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
496
|
+
"""
|
|
497
|
+
The default TTL in seconds for STS credentials.
|
|
498
|
+
When a TTL is not specified when STS credentials are requested,
|
|
499
|
+
and a default TTL is specified on the role,
|
|
500
|
+
then this default TTL will be used. Valid only when `credential_type` is one of
|
|
501
|
+
`assumed_role` or `federation_token`.
|
|
502
|
+
"""
|
|
503
|
+
return pulumi.get(self, "default_sts_ttl")
|
|
504
|
+
|
|
505
|
+
@default_sts_ttl.setter
|
|
506
|
+
def default_sts_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
507
|
+
pulumi.set(self, "default_sts_ttl", value)
|
|
508
|
+
|
|
509
|
+
@_builtins.property
|
|
510
|
+
@pulumi.getter(name="externalId")
|
|
511
|
+
def external_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
512
|
+
"""
|
|
513
|
+
External ID to set for assume role creds.
|
|
514
|
+
Valid only when `credential_type` is set to `assumed_role`.
|
|
515
|
+
"""
|
|
516
|
+
return pulumi.get(self, "external_id")
|
|
517
|
+
|
|
518
|
+
@external_id.setter
|
|
519
|
+
def external_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
520
|
+
pulumi.set(self, "external_id", value)
|
|
521
|
+
|
|
522
|
+
@_builtins.property
|
|
523
|
+
@pulumi.getter(name="iamGroups")
|
|
524
|
+
def iam_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
525
|
+
"""
|
|
526
|
+
A list of IAM group names. IAM users generated
|
|
527
|
+
against this vault role will be added to these IAM Groups. For a credential
|
|
528
|
+
type of `assumed_role` or `federation_token`, the policies sent to the
|
|
529
|
+
corresponding AWS call (sts:AssumeRole or sts:GetFederation) will be the
|
|
530
|
+
policies from each group in `iam_groups` combined with the `policy_document`
|
|
531
|
+
and `policy_arns` parameters.
|
|
532
|
+
"""
|
|
533
|
+
return pulumi.get(self, "iam_groups")
|
|
534
|
+
|
|
535
|
+
@iam_groups.setter
|
|
536
|
+
def iam_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
537
|
+
pulumi.set(self, "iam_groups", value)
|
|
538
|
+
|
|
539
|
+
@_builtins.property
|
|
540
|
+
@pulumi.getter(name="iamTags")
|
|
541
|
+
def iam_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
542
|
+
"""
|
|
543
|
+
A map of strings representing key/value pairs
|
|
544
|
+
to be used as tags for any IAM user that is created by this role.
|
|
545
|
+
"""
|
|
546
|
+
return pulumi.get(self, "iam_tags")
|
|
547
|
+
|
|
548
|
+
@iam_tags.setter
|
|
549
|
+
def iam_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
550
|
+
pulumi.set(self, "iam_tags", value)
|
|
551
|
+
|
|
552
|
+
@_builtins.property
|
|
553
|
+
@pulumi.getter(name="maxStsTtl")
|
|
554
|
+
def max_sts_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
555
|
+
"""
|
|
556
|
+
The max allowed TTL in seconds for STS credentials
|
|
557
|
+
(credentials TTL are capped to `max_sts_ttl`). Valid only when `credential_type` is
|
|
558
|
+
one of `assumed_role` or `federation_token`.
|
|
559
|
+
"""
|
|
560
|
+
return pulumi.get(self, "max_sts_ttl")
|
|
561
|
+
|
|
562
|
+
@max_sts_ttl.setter
|
|
563
|
+
def max_sts_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
564
|
+
pulumi.set(self, "max_sts_ttl", value)
|
|
565
|
+
|
|
566
|
+
@_builtins.property
|
|
567
|
+
@pulumi.getter(name="mfaSerialNumber")
|
|
568
|
+
def mfa_serial_number(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
569
|
+
"""
|
|
570
|
+
The ARN or hardware device number of the device configured to the IAM user for multi-factor authentication. Only required if the IAM user has an MFA device set up in AWS.
|
|
571
|
+
"""
|
|
572
|
+
return pulumi.get(self, "mfa_serial_number")
|
|
573
|
+
|
|
574
|
+
@mfa_serial_number.setter
|
|
575
|
+
def mfa_serial_number(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
576
|
+
pulumi.set(self, "mfa_serial_number", value)
|
|
577
|
+
|
|
578
|
+
@_builtins.property
|
|
579
|
+
@pulumi.getter
|
|
580
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
581
|
+
"""
|
|
582
|
+
The name to identify this role within the backend.
|
|
583
|
+
Must be unique within the backend.
|
|
584
|
+
"""
|
|
585
|
+
return pulumi.get(self, "name")
|
|
586
|
+
|
|
587
|
+
@name.setter
|
|
588
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
589
|
+
pulumi.set(self, "name", value)
|
|
590
|
+
|
|
591
|
+
@_builtins.property
|
|
592
|
+
@pulumi.getter
|
|
593
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
594
|
+
"""
|
|
595
|
+
The namespace to provision the resource in.
|
|
596
|
+
The value should not contain leading or trailing forward slashes.
|
|
597
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
598
|
+
*Available only for Vault Enterprise*.
|
|
599
|
+
"""
|
|
600
|
+
return pulumi.get(self, "namespace")
|
|
601
|
+
|
|
602
|
+
@namespace.setter
|
|
603
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
604
|
+
pulumi.set(self, "namespace", value)
|
|
605
|
+
|
|
606
|
+
@_builtins.property
|
|
607
|
+
@pulumi.getter(name="permissionsBoundaryArn")
|
|
608
|
+
def permissions_boundary_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
609
|
+
"""
|
|
610
|
+
The ARN of the AWS Permissions
|
|
611
|
+
Boundary to attach to IAM users created in the role. Valid only when
|
|
612
|
+
`credential_type` is `iam_user`. If not specified, then no permissions boundary
|
|
613
|
+
policy will be attached.
|
|
614
|
+
"""
|
|
615
|
+
return pulumi.get(self, "permissions_boundary_arn")
|
|
616
|
+
|
|
617
|
+
@permissions_boundary_arn.setter
|
|
618
|
+
def permissions_boundary_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
619
|
+
pulumi.set(self, "permissions_boundary_arn", value)
|
|
620
|
+
|
|
621
|
+
@_builtins.property
|
|
622
|
+
@pulumi.getter(name="policyArns")
|
|
623
|
+
def policy_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
624
|
+
"""
|
|
625
|
+
Specifies a list of AWS managed policy ARNs. The
|
|
626
|
+
behavior depends on the credential type. With `iam_user`, the policies will be
|
|
627
|
+
attached to IAM users when they are requested. With `assumed_role` and
|
|
628
|
+
`federation_token`, the policy ARNs will act as a filter on what the credentials
|
|
629
|
+
can do, similar to `policy_document`. When `credential_type` is `iam_user` or
|
|
630
|
+
`federation_token`, at least one of `policy_document` or `policy_arns` must
|
|
631
|
+
be specified.
|
|
632
|
+
"""
|
|
633
|
+
return pulumi.get(self, "policy_arns")
|
|
634
|
+
|
|
635
|
+
@policy_arns.setter
|
|
636
|
+
def policy_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
637
|
+
pulumi.set(self, "policy_arns", value)
|
|
638
|
+
|
|
639
|
+
@_builtins.property
|
|
640
|
+
@pulumi.getter(name="policyDocument")
|
|
641
|
+
def policy_document(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
642
|
+
"""
|
|
643
|
+
The IAM policy document for the role. The
|
|
644
|
+
behavior depends on the credential type. With `iam_user`, the policy document
|
|
645
|
+
will be attached to the IAM user generated and augment the permissions the IAM
|
|
646
|
+
user has. With `assumed_role` and `federation_token`, the policy document will
|
|
647
|
+
act as a filter on what the credentials can do, similar to `policy_arns`.
|
|
648
|
+
"""
|
|
649
|
+
return pulumi.get(self, "policy_document")
|
|
650
|
+
|
|
651
|
+
@policy_document.setter
|
|
652
|
+
def policy_document(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
653
|
+
pulumi.set(self, "policy_document", value)
|
|
654
|
+
|
|
655
|
+
@_builtins.property
|
|
656
|
+
@pulumi.getter(name="roleArns")
|
|
657
|
+
def role_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
658
|
+
"""
|
|
659
|
+
Specifies the ARNs of the AWS roles this Vault role
|
|
660
|
+
is allowed to assume. Required when `credential_type` is `assumed_role` and
|
|
661
|
+
prohibited otherwise.
|
|
662
|
+
"""
|
|
663
|
+
return pulumi.get(self, "role_arns")
|
|
664
|
+
|
|
665
|
+
@role_arns.setter
|
|
666
|
+
def role_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
667
|
+
pulumi.set(self, "role_arns", value)
|
|
668
|
+
|
|
669
|
+
@_builtins.property
|
|
670
|
+
@pulumi.getter(name="sessionTags")
|
|
671
|
+
def session_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
672
|
+
"""
|
|
673
|
+
A map of strings representing key/value pairs to be set
|
|
674
|
+
during assume role creds creation. Valid only when `credential_type` is set to
|
|
675
|
+
`assumed_role`.
|
|
676
|
+
"""
|
|
677
|
+
return pulumi.get(self, "session_tags")
|
|
678
|
+
|
|
679
|
+
@session_tags.setter
|
|
680
|
+
def session_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
681
|
+
pulumi.set(self, "session_tags", value)
|
|
682
|
+
|
|
683
|
+
@_builtins.property
|
|
684
|
+
@pulumi.getter(name="userPath")
|
|
685
|
+
def user_path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
686
|
+
"""
|
|
687
|
+
The path for the user name. Valid only when
|
|
688
|
+
`credential_type` is `iam_user`. Default is `/`.
|
|
689
|
+
"""
|
|
690
|
+
return pulumi.get(self, "user_path")
|
|
691
|
+
|
|
692
|
+
@user_path.setter
|
|
693
|
+
def user_path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
694
|
+
pulumi.set(self, "user_path", value)
|
|
695
|
+
|
|
696
|
+
|
|
697
|
+
@pulumi.type_token("vault:aws/secretBackendRole:SecretBackendRole")
|
|
698
|
+
class SecretBackendRole(pulumi.CustomResource):
|
|
699
|
+
@overload
|
|
700
|
+
def __init__(__self__,
|
|
701
|
+
resource_name: str,
|
|
702
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
703
|
+
backend: Optional[pulumi.Input[_builtins.str]] = None,
|
|
704
|
+
credential_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
705
|
+
default_sts_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
706
|
+
external_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
707
|
+
iam_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
708
|
+
iam_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
709
|
+
max_sts_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
710
|
+
mfa_serial_number: Optional[pulumi.Input[_builtins.str]] = None,
|
|
711
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
712
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
713
|
+
permissions_boundary_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
714
|
+
policy_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
715
|
+
policy_document: Optional[pulumi.Input[_builtins.str]] = None,
|
|
716
|
+
role_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
717
|
+
session_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
718
|
+
user_path: Optional[pulumi.Input[_builtins.str]] = None,
|
|
719
|
+
__props__=None):
|
|
720
|
+
"""
|
|
721
|
+
## Example Usage
|
|
722
|
+
|
|
723
|
+
```python
|
|
724
|
+
import pulumi
|
|
725
|
+
import pulumi_vault as vault
|
|
726
|
+
|
|
727
|
+
aws = vault.aws.SecretBackend("aws",
|
|
728
|
+
access_key="AKIA.....",
|
|
729
|
+
secret_key="AWS secret key")
|
|
730
|
+
role = vault.aws.SecretBackendRole("role",
|
|
731
|
+
backend=aws.path,
|
|
732
|
+
name="deploy",
|
|
733
|
+
credential_type="iam_user",
|
|
734
|
+
policy_document=\"\"\"{
|
|
735
|
+
\\"Version\\": \\"2012-10-17\\",
|
|
736
|
+
\\"Statement\\": [
|
|
737
|
+
{
|
|
738
|
+
\\"Effect\\": \\"Allow\\",
|
|
739
|
+
\\"Action\\": \\"iam:*\\",
|
|
740
|
+
\\"Resource\\": \\"*\\"
|
|
741
|
+
}
|
|
742
|
+
]
|
|
743
|
+
}
|
|
744
|
+
\"\"\")
|
|
745
|
+
```
|
|
746
|
+
|
|
747
|
+
## Import
|
|
748
|
+
|
|
749
|
+
AWS secret backend roles can be imported using the `path`, e.g.
|
|
750
|
+
|
|
751
|
+
```sh
|
|
752
|
+
$ pulumi import vault:aws/secretBackendRole:SecretBackendRole role aws/roles/deploy
|
|
753
|
+
```
|
|
754
|
+
|
|
755
|
+
:param str resource_name: The name of the resource.
|
|
756
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
757
|
+
:param pulumi.Input[_builtins.str] backend: The path the AWS secret backend is mounted at,
|
|
758
|
+
with no leading or trailing `/`s.
|
|
759
|
+
:param pulumi.Input[_builtins.str] credential_type: Specifies the type of credential to be used when
|
|
760
|
+
retrieving credentials from the role. Must be one of `iam_user`, `assumed_role`, or
|
|
761
|
+
`federation_token`.
|
|
762
|
+
:param pulumi.Input[_builtins.int] default_sts_ttl: The default TTL in seconds for STS credentials.
|
|
763
|
+
When a TTL is not specified when STS credentials are requested,
|
|
764
|
+
and a default TTL is specified on the role,
|
|
765
|
+
then this default TTL will be used. Valid only when `credential_type` is one of
|
|
766
|
+
`assumed_role` or `federation_token`.
|
|
767
|
+
:param pulumi.Input[_builtins.str] external_id: External ID to set for assume role creds.
|
|
768
|
+
Valid only when `credential_type` is set to `assumed_role`.
|
|
769
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] iam_groups: A list of IAM group names. IAM users generated
|
|
770
|
+
against this vault role will be added to these IAM Groups. For a credential
|
|
771
|
+
type of `assumed_role` or `federation_token`, the policies sent to the
|
|
772
|
+
corresponding AWS call (sts:AssumeRole or sts:GetFederation) will be the
|
|
773
|
+
policies from each group in `iam_groups` combined with the `policy_document`
|
|
774
|
+
and `policy_arns` parameters.
|
|
775
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] iam_tags: A map of strings representing key/value pairs
|
|
776
|
+
to be used as tags for any IAM user that is created by this role.
|
|
777
|
+
:param pulumi.Input[_builtins.int] max_sts_ttl: The max allowed TTL in seconds for STS credentials
|
|
778
|
+
(credentials TTL are capped to `max_sts_ttl`). Valid only when `credential_type` is
|
|
779
|
+
one of `assumed_role` or `federation_token`.
|
|
780
|
+
:param pulumi.Input[_builtins.str] mfa_serial_number: The ARN or hardware device number of the device configured to the IAM user for multi-factor authentication. Only required if the IAM user has an MFA device set up in AWS.
|
|
781
|
+
:param pulumi.Input[_builtins.str] name: The name to identify this role within the backend.
|
|
782
|
+
Must be unique within the backend.
|
|
783
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
784
|
+
The value should not contain leading or trailing forward slashes.
|
|
785
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
786
|
+
*Available only for Vault Enterprise*.
|
|
787
|
+
:param pulumi.Input[_builtins.str] permissions_boundary_arn: The ARN of the AWS Permissions
|
|
788
|
+
Boundary to attach to IAM users created in the role. Valid only when
|
|
789
|
+
`credential_type` is `iam_user`. If not specified, then no permissions boundary
|
|
790
|
+
policy will be attached.
|
|
791
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policy_arns: Specifies a list of AWS managed policy ARNs. The
|
|
792
|
+
behavior depends on the credential type. With `iam_user`, the policies will be
|
|
793
|
+
attached to IAM users when they are requested. With `assumed_role` and
|
|
794
|
+
`federation_token`, the policy ARNs will act as a filter on what the credentials
|
|
795
|
+
can do, similar to `policy_document`. When `credential_type` is `iam_user` or
|
|
796
|
+
`federation_token`, at least one of `policy_document` or `policy_arns` must
|
|
797
|
+
be specified.
|
|
798
|
+
:param pulumi.Input[_builtins.str] policy_document: The IAM policy document for the role. The
|
|
799
|
+
behavior depends on the credential type. With `iam_user`, the policy document
|
|
800
|
+
will be attached to the IAM user generated and augment the permissions the IAM
|
|
801
|
+
user has. With `assumed_role` and `federation_token`, the policy document will
|
|
802
|
+
act as a filter on what the credentials can do, similar to `policy_arns`.
|
|
803
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] role_arns: Specifies the ARNs of the AWS roles this Vault role
|
|
804
|
+
is allowed to assume. Required when `credential_type` is `assumed_role` and
|
|
805
|
+
prohibited otherwise.
|
|
806
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] session_tags: A map of strings representing key/value pairs to be set
|
|
807
|
+
during assume role creds creation. Valid only when `credential_type` is set to
|
|
808
|
+
`assumed_role`.
|
|
809
|
+
:param pulumi.Input[_builtins.str] user_path: The path for the user name. Valid only when
|
|
810
|
+
`credential_type` is `iam_user`. Default is `/`.
|
|
811
|
+
"""
|
|
812
|
+
...
|
|
813
|
+
@overload
|
|
814
|
+
def __init__(__self__,
|
|
815
|
+
resource_name: str,
|
|
816
|
+
args: SecretBackendRoleArgs,
|
|
817
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
818
|
+
"""
|
|
819
|
+
## Example Usage
|
|
820
|
+
|
|
821
|
+
```python
|
|
822
|
+
import pulumi
|
|
823
|
+
import pulumi_vault as vault
|
|
824
|
+
|
|
825
|
+
aws = vault.aws.SecretBackend("aws",
|
|
826
|
+
access_key="AKIA.....",
|
|
827
|
+
secret_key="AWS secret key")
|
|
828
|
+
role = vault.aws.SecretBackendRole("role",
|
|
829
|
+
backend=aws.path,
|
|
830
|
+
name="deploy",
|
|
831
|
+
credential_type="iam_user",
|
|
832
|
+
policy_document=\"\"\"{
|
|
833
|
+
\\"Version\\": \\"2012-10-17\\",
|
|
834
|
+
\\"Statement\\": [
|
|
835
|
+
{
|
|
836
|
+
\\"Effect\\": \\"Allow\\",
|
|
837
|
+
\\"Action\\": \\"iam:*\\",
|
|
838
|
+
\\"Resource\\": \\"*\\"
|
|
839
|
+
}
|
|
840
|
+
]
|
|
841
|
+
}
|
|
842
|
+
\"\"\")
|
|
843
|
+
```
|
|
844
|
+
|
|
845
|
+
## Import
|
|
846
|
+
|
|
847
|
+
AWS secret backend roles can be imported using the `path`, e.g.
|
|
848
|
+
|
|
849
|
+
```sh
|
|
850
|
+
$ pulumi import vault:aws/secretBackendRole:SecretBackendRole role aws/roles/deploy
|
|
851
|
+
```
|
|
852
|
+
|
|
853
|
+
:param str resource_name: The name of the resource.
|
|
854
|
+
:param SecretBackendRoleArgs args: The arguments to use to populate this resource's properties.
|
|
855
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
856
|
+
"""
|
|
857
|
+
...
|
|
858
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
859
|
+
resource_args, opts = _utilities.get_resource_args_opts(SecretBackendRoleArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
860
|
+
if resource_args is not None:
|
|
861
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
862
|
+
else:
|
|
863
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
864
|
+
|
|
865
|
+
def _internal_init(__self__,
|
|
866
|
+
resource_name: str,
|
|
867
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
868
|
+
backend: Optional[pulumi.Input[_builtins.str]] = None,
|
|
869
|
+
credential_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
870
|
+
default_sts_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
871
|
+
external_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
872
|
+
iam_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
873
|
+
iam_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
874
|
+
max_sts_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
875
|
+
mfa_serial_number: Optional[pulumi.Input[_builtins.str]] = None,
|
|
876
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
877
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
878
|
+
permissions_boundary_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
879
|
+
policy_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
880
|
+
policy_document: Optional[pulumi.Input[_builtins.str]] = None,
|
|
881
|
+
role_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
882
|
+
session_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
883
|
+
user_path: Optional[pulumi.Input[_builtins.str]] = None,
|
|
884
|
+
__props__=None):
|
|
885
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
886
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
887
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
888
|
+
if opts.id is None:
|
|
889
|
+
if __props__ is not None:
|
|
890
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
891
|
+
__props__ = SecretBackendRoleArgs.__new__(SecretBackendRoleArgs)
|
|
892
|
+
|
|
893
|
+
if backend is None and not opts.urn:
|
|
894
|
+
raise TypeError("Missing required property 'backend'")
|
|
895
|
+
__props__.__dict__["backend"] = backend
|
|
896
|
+
if credential_type is None and not opts.urn:
|
|
897
|
+
raise TypeError("Missing required property 'credential_type'")
|
|
898
|
+
__props__.__dict__["credential_type"] = credential_type
|
|
899
|
+
__props__.__dict__["default_sts_ttl"] = default_sts_ttl
|
|
900
|
+
__props__.__dict__["external_id"] = external_id
|
|
901
|
+
__props__.__dict__["iam_groups"] = iam_groups
|
|
902
|
+
__props__.__dict__["iam_tags"] = iam_tags
|
|
903
|
+
__props__.__dict__["max_sts_ttl"] = max_sts_ttl
|
|
904
|
+
__props__.__dict__["mfa_serial_number"] = mfa_serial_number
|
|
905
|
+
__props__.__dict__["name"] = name
|
|
906
|
+
__props__.__dict__["namespace"] = namespace
|
|
907
|
+
__props__.__dict__["permissions_boundary_arn"] = permissions_boundary_arn
|
|
908
|
+
__props__.__dict__["policy_arns"] = policy_arns
|
|
909
|
+
__props__.__dict__["policy_document"] = policy_document
|
|
910
|
+
__props__.__dict__["role_arns"] = role_arns
|
|
911
|
+
__props__.__dict__["session_tags"] = session_tags
|
|
912
|
+
__props__.__dict__["user_path"] = user_path
|
|
913
|
+
super(SecretBackendRole, __self__).__init__(
|
|
914
|
+
'vault:aws/secretBackendRole:SecretBackendRole',
|
|
915
|
+
resource_name,
|
|
916
|
+
__props__,
|
|
917
|
+
opts)
|
|
918
|
+
|
|
919
|
+
@staticmethod
|
|
920
|
+
def get(resource_name: str,
|
|
921
|
+
id: pulumi.Input[str],
|
|
922
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
923
|
+
backend: Optional[pulumi.Input[_builtins.str]] = None,
|
|
924
|
+
credential_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
925
|
+
default_sts_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
926
|
+
external_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
927
|
+
iam_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
928
|
+
iam_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
929
|
+
max_sts_ttl: Optional[pulumi.Input[_builtins.int]] = None,
|
|
930
|
+
mfa_serial_number: Optional[pulumi.Input[_builtins.str]] = None,
|
|
931
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
932
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
933
|
+
permissions_boundary_arn: Optional[pulumi.Input[_builtins.str]] = None,
|
|
934
|
+
policy_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
935
|
+
policy_document: Optional[pulumi.Input[_builtins.str]] = None,
|
|
936
|
+
role_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
937
|
+
session_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
938
|
+
user_path: Optional[pulumi.Input[_builtins.str]] = None) -> 'SecretBackendRole':
|
|
939
|
+
"""
|
|
940
|
+
Get an existing SecretBackendRole resource's state with the given name, id, and optional extra
|
|
941
|
+
properties used to qualify the lookup.
|
|
942
|
+
|
|
943
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
944
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
945
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
946
|
+
:param pulumi.Input[_builtins.str] backend: The path the AWS secret backend is mounted at,
|
|
947
|
+
with no leading or trailing `/`s.
|
|
948
|
+
:param pulumi.Input[_builtins.str] credential_type: Specifies the type of credential to be used when
|
|
949
|
+
retrieving credentials from the role. Must be one of `iam_user`, `assumed_role`, or
|
|
950
|
+
`federation_token`.
|
|
951
|
+
:param pulumi.Input[_builtins.int] default_sts_ttl: The default TTL in seconds for STS credentials.
|
|
952
|
+
When a TTL is not specified when STS credentials are requested,
|
|
953
|
+
and a default TTL is specified on the role,
|
|
954
|
+
then this default TTL will be used. Valid only when `credential_type` is one of
|
|
955
|
+
`assumed_role` or `federation_token`.
|
|
956
|
+
:param pulumi.Input[_builtins.str] external_id: External ID to set for assume role creds.
|
|
957
|
+
Valid only when `credential_type` is set to `assumed_role`.
|
|
958
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] iam_groups: A list of IAM group names. IAM users generated
|
|
959
|
+
against this vault role will be added to these IAM Groups. For a credential
|
|
960
|
+
type of `assumed_role` or `federation_token`, the policies sent to the
|
|
961
|
+
corresponding AWS call (sts:AssumeRole or sts:GetFederation) will be the
|
|
962
|
+
policies from each group in `iam_groups` combined with the `policy_document`
|
|
963
|
+
and `policy_arns` parameters.
|
|
964
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] iam_tags: A map of strings representing key/value pairs
|
|
965
|
+
to be used as tags for any IAM user that is created by this role.
|
|
966
|
+
:param pulumi.Input[_builtins.int] max_sts_ttl: The max allowed TTL in seconds for STS credentials
|
|
967
|
+
(credentials TTL are capped to `max_sts_ttl`). Valid only when `credential_type` is
|
|
968
|
+
one of `assumed_role` or `federation_token`.
|
|
969
|
+
:param pulumi.Input[_builtins.str] mfa_serial_number: The ARN or hardware device number of the device configured to the IAM user for multi-factor authentication. Only required if the IAM user has an MFA device set up in AWS.
|
|
970
|
+
:param pulumi.Input[_builtins.str] name: The name to identify this role within the backend.
|
|
971
|
+
Must be unique within the backend.
|
|
972
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
973
|
+
The value should not contain leading or trailing forward slashes.
|
|
974
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
975
|
+
*Available only for Vault Enterprise*.
|
|
976
|
+
:param pulumi.Input[_builtins.str] permissions_boundary_arn: The ARN of the AWS Permissions
|
|
977
|
+
Boundary to attach to IAM users created in the role. Valid only when
|
|
978
|
+
`credential_type` is `iam_user`. If not specified, then no permissions boundary
|
|
979
|
+
policy will be attached.
|
|
980
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policy_arns: Specifies a list of AWS managed policy ARNs. The
|
|
981
|
+
behavior depends on the credential type. With `iam_user`, the policies will be
|
|
982
|
+
attached to IAM users when they are requested. With `assumed_role` and
|
|
983
|
+
`federation_token`, the policy ARNs will act as a filter on what the credentials
|
|
984
|
+
can do, similar to `policy_document`. When `credential_type` is `iam_user` or
|
|
985
|
+
`federation_token`, at least one of `policy_document` or `policy_arns` must
|
|
986
|
+
be specified.
|
|
987
|
+
:param pulumi.Input[_builtins.str] policy_document: The IAM policy document for the role. The
|
|
988
|
+
behavior depends on the credential type. With `iam_user`, the policy document
|
|
989
|
+
will be attached to the IAM user generated and augment the permissions the IAM
|
|
990
|
+
user has. With `assumed_role` and `federation_token`, the policy document will
|
|
991
|
+
act as a filter on what the credentials can do, similar to `policy_arns`.
|
|
992
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] role_arns: Specifies the ARNs of the AWS roles this Vault role
|
|
993
|
+
is allowed to assume. Required when `credential_type` is `assumed_role` and
|
|
994
|
+
prohibited otherwise.
|
|
995
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] session_tags: A map of strings representing key/value pairs to be set
|
|
996
|
+
during assume role creds creation. Valid only when `credential_type` is set to
|
|
997
|
+
`assumed_role`.
|
|
998
|
+
:param pulumi.Input[_builtins.str] user_path: The path for the user name. Valid only when
|
|
999
|
+
`credential_type` is `iam_user`. Default is `/`.
|
|
1000
|
+
"""
|
|
1001
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
1002
|
+
|
|
1003
|
+
__props__ = _SecretBackendRoleState.__new__(_SecretBackendRoleState)
|
|
1004
|
+
|
|
1005
|
+
__props__.__dict__["backend"] = backend
|
|
1006
|
+
__props__.__dict__["credential_type"] = credential_type
|
|
1007
|
+
__props__.__dict__["default_sts_ttl"] = default_sts_ttl
|
|
1008
|
+
__props__.__dict__["external_id"] = external_id
|
|
1009
|
+
__props__.__dict__["iam_groups"] = iam_groups
|
|
1010
|
+
__props__.__dict__["iam_tags"] = iam_tags
|
|
1011
|
+
__props__.__dict__["max_sts_ttl"] = max_sts_ttl
|
|
1012
|
+
__props__.__dict__["mfa_serial_number"] = mfa_serial_number
|
|
1013
|
+
__props__.__dict__["name"] = name
|
|
1014
|
+
__props__.__dict__["namespace"] = namespace
|
|
1015
|
+
__props__.__dict__["permissions_boundary_arn"] = permissions_boundary_arn
|
|
1016
|
+
__props__.__dict__["policy_arns"] = policy_arns
|
|
1017
|
+
__props__.__dict__["policy_document"] = policy_document
|
|
1018
|
+
__props__.__dict__["role_arns"] = role_arns
|
|
1019
|
+
__props__.__dict__["session_tags"] = session_tags
|
|
1020
|
+
__props__.__dict__["user_path"] = user_path
|
|
1021
|
+
return SecretBackendRole(resource_name, opts=opts, __props__=__props__)
|
|
1022
|
+
|
|
1023
|
+
@_builtins.property
|
|
1024
|
+
@pulumi.getter
|
|
1025
|
+
def backend(self) -> pulumi.Output[_builtins.str]:
|
|
1026
|
+
"""
|
|
1027
|
+
The path the AWS secret backend is mounted at,
|
|
1028
|
+
with no leading or trailing `/`s.
|
|
1029
|
+
"""
|
|
1030
|
+
return pulumi.get(self, "backend")
|
|
1031
|
+
|
|
1032
|
+
@_builtins.property
|
|
1033
|
+
@pulumi.getter(name="credentialType")
|
|
1034
|
+
def credential_type(self) -> pulumi.Output[_builtins.str]:
|
|
1035
|
+
"""
|
|
1036
|
+
Specifies the type of credential to be used when
|
|
1037
|
+
retrieving credentials from the role. Must be one of `iam_user`, `assumed_role`, or
|
|
1038
|
+
`federation_token`.
|
|
1039
|
+
"""
|
|
1040
|
+
return pulumi.get(self, "credential_type")
|
|
1041
|
+
|
|
1042
|
+
@_builtins.property
|
|
1043
|
+
@pulumi.getter(name="defaultStsTtl")
|
|
1044
|
+
def default_sts_ttl(self) -> pulumi.Output[_builtins.int]:
|
|
1045
|
+
"""
|
|
1046
|
+
The default TTL in seconds for STS credentials.
|
|
1047
|
+
When a TTL is not specified when STS credentials are requested,
|
|
1048
|
+
and a default TTL is specified on the role,
|
|
1049
|
+
then this default TTL will be used. Valid only when `credential_type` is one of
|
|
1050
|
+
`assumed_role` or `federation_token`.
|
|
1051
|
+
"""
|
|
1052
|
+
return pulumi.get(self, "default_sts_ttl")
|
|
1053
|
+
|
|
1054
|
+
@_builtins.property
|
|
1055
|
+
@pulumi.getter(name="externalId")
|
|
1056
|
+
def external_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1057
|
+
"""
|
|
1058
|
+
External ID to set for assume role creds.
|
|
1059
|
+
Valid only when `credential_type` is set to `assumed_role`.
|
|
1060
|
+
"""
|
|
1061
|
+
return pulumi.get(self, "external_id")
|
|
1062
|
+
|
|
1063
|
+
@_builtins.property
|
|
1064
|
+
@pulumi.getter(name="iamGroups")
|
|
1065
|
+
def iam_groups(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
1066
|
+
"""
|
|
1067
|
+
A list of IAM group names. IAM users generated
|
|
1068
|
+
against this vault role will be added to these IAM Groups. For a credential
|
|
1069
|
+
type of `assumed_role` or `federation_token`, the policies sent to the
|
|
1070
|
+
corresponding AWS call (sts:AssumeRole or sts:GetFederation) will be the
|
|
1071
|
+
policies from each group in `iam_groups` combined with the `policy_document`
|
|
1072
|
+
and `policy_arns` parameters.
|
|
1073
|
+
"""
|
|
1074
|
+
return pulumi.get(self, "iam_groups")
|
|
1075
|
+
|
|
1076
|
+
@_builtins.property
|
|
1077
|
+
@pulumi.getter(name="iamTags")
|
|
1078
|
+
def iam_tags(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
|
|
1079
|
+
"""
|
|
1080
|
+
A map of strings representing key/value pairs
|
|
1081
|
+
to be used as tags for any IAM user that is created by this role.
|
|
1082
|
+
"""
|
|
1083
|
+
return pulumi.get(self, "iam_tags")
|
|
1084
|
+
|
|
1085
|
+
@_builtins.property
|
|
1086
|
+
@pulumi.getter(name="maxStsTtl")
|
|
1087
|
+
def max_sts_ttl(self) -> pulumi.Output[_builtins.int]:
|
|
1088
|
+
"""
|
|
1089
|
+
The max allowed TTL in seconds for STS credentials
|
|
1090
|
+
(credentials TTL are capped to `max_sts_ttl`). Valid only when `credential_type` is
|
|
1091
|
+
one of `assumed_role` or `federation_token`.
|
|
1092
|
+
"""
|
|
1093
|
+
return pulumi.get(self, "max_sts_ttl")
|
|
1094
|
+
|
|
1095
|
+
@_builtins.property
|
|
1096
|
+
@pulumi.getter(name="mfaSerialNumber")
|
|
1097
|
+
def mfa_serial_number(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1098
|
+
"""
|
|
1099
|
+
The ARN or hardware device number of the device configured to the IAM user for multi-factor authentication. Only required if the IAM user has an MFA device set up in AWS.
|
|
1100
|
+
"""
|
|
1101
|
+
return pulumi.get(self, "mfa_serial_number")
|
|
1102
|
+
|
|
1103
|
+
@_builtins.property
|
|
1104
|
+
@pulumi.getter
|
|
1105
|
+
def name(self) -> pulumi.Output[_builtins.str]:
|
|
1106
|
+
"""
|
|
1107
|
+
The name to identify this role within the backend.
|
|
1108
|
+
Must be unique within the backend.
|
|
1109
|
+
"""
|
|
1110
|
+
return pulumi.get(self, "name")
|
|
1111
|
+
|
|
1112
|
+
@_builtins.property
|
|
1113
|
+
@pulumi.getter
|
|
1114
|
+
def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1115
|
+
"""
|
|
1116
|
+
The namespace to provision the resource in.
|
|
1117
|
+
The value should not contain leading or trailing forward slashes.
|
|
1118
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
1119
|
+
*Available only for Vault Enterprise*.
|
|
1120
|
+
"""
|
|
1121
|
+
return pulumi.get(self, "namespace")
|
|
1122
|
+
|
|
1123
|
+
@_builtins.property
|
|
1124
|
+
@pulumi.getter(name="permissionsBoundaryArn")
|
|
1125
|
+
def permissions_boundary_arn(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1126
|
+
"""
|
|
1127
|
+
The ARN of the AWS Permissions
|
|
1128
|
+
Boundary to attach to IAM users created in the role. Valid only when
|
|
1129
|
+
`credential_type` is `iam_user`. If not specified, then no permissions boundary
|
|
1130
|
+
policy will be attached.
|
|
1131
|
+
"""
|
|
1132
|
+
return pulumi.get(self, "permissions_boundary_arn")
|
|
1133
|
+
|
|
1134
|
+
@_builtins.property
|
|
1135
|
+
@pulumi.getter(name="policyArns")
|
|
1136
|
+
def policy_arns(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
1137
|
+
"""
|
|
1138
|
+
Specifies a list of AWS managed policy ARNs. The
|
|
1139
|
+
behavior depends on the credential type. With `iam_user`, the policies will be
|
|
1140
|
+
attached to IAM users when they are requested. With `assumed_role` and
|
|
1141
|
+
`federation_token`, the policy ARNs will act as a filter on what the credentials
|
|
1142
|
+
can do, similar to `policy_document`. When `credential_type` is `iam_user` or
|
|
1143
|
+
`federation_token`, at least one of `policy_document` or `policy_arns` must
|
|
1144
|
+
be specified.
|
|
1145
|
+
"""
|
|
1146
|
+
return pulumi.get(self, "policy_arns")
|
|
1147
|
+
|
|
1148
|
+
@_builtins.property
|
|
1149
|
+
@pulumi.getter(name="policyDocument")
|
|
1150
|
+
def policy_document(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1151
|
+
"""
|
|
1152
|
+
The IAM policy document for the role. The
|
|
1153
|
+
behavior depends on the credential type. With `iam_user`, the policy document
|
|
1154
|
+
will be attached to the IAM user generated and augment the permissions the IAM
|
|
1155
|
+
user has. With `assumed_role` and `federation_token`, the policy document will
|
|
1156
|
+
act as a filter on what the credentials can do, similar to `policy_arns`.
|
|
1157
|
+
"""
|
|
1158
|
+
return pulumi.get(self, "policy_document")
|
|
1159
|
+
|
|
1160
|
+
@_builtins.property
|
|
1161
|
+
@pulumi.getter(name="roleArns")
|
|
1162
|
+
def role_arns(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
1163
|
+
"""
|
|
1164
|
+
Specifies the ARNs of the AWS roles this Vault role
|
|
1165
|
+
is allowed to assume. Required when `credential_type` is `assumed_role` and
|
|
1166
|
+
prohibited otherwise.
|
|
1167
|
+
"""
|
|
1168
|
+
return pulumi.get(self, "role_arns")
|
|
1169
|
+
|
|
1170
|
+
@_builtins.property
|
|
1171
|
+
@pulumi.getter(name="sessionTags")
|
|
1172
|
+
def session_tags(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
|
|
1173
|
+
"""
|
|
1174
|
+
A map of strings representing key/value pairs to be set
|
|
1175
|
+
during assume role creds creation. Valid only when `credential_type` is set to
|
|
1176
|
+
`assumed_role`.
|
|
1177
|
+
"""
|
|
1178
|
+
return pulumi.get(self, "session_tags")
|
|
1179
|
+
|
|
1180
|
+
@_builtins.property
|
|
1181
|
+
@pulumi.getter(name="userPath")
|
|
1182
|
+
def user_path(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1183
|
+
"""
|
|
1184
|
+
The path for the user name. Valid only when
|
|
1185
|
+
`credential_type` is `iam_user`. Default is `/`.
|
|
1186
|
+
"""
|
|
1187
|
+
return pulumi.get(self, "user_path")
|
|
1188
|
+
|