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,726 @@
|
|
|
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__ = ['SecretRoleArgs', 'SecretRole']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class SecretRoleArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
mount: pulumi.Input[_builtins.str],
|
|
23
|
+
roles: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
|
|
24
|
+
cidr_blocks: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
25
|
+
ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
26
|
+
max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
|
|
27
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
28
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
29
|
+
organization_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
30
|
+
project_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
31
|
+
project_roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
32
|
+
ttl: Optional[pulumi.Input[_builtins.str]] = None):
|
|
33
|
+
"""
|
|
34
|
+
The set of arguments for constructing a SecretRole resource.
|
|
35
|
+
:param pulumi.Input[_builtins.str] mount: Path where the MongoDB Atlas Secrets Engine is mounted.
|
|
36
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
|
|
37
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] cidr_blocks: Whitelist entry in CIDR notation to be added for the API key.
|
|
38
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_addresses: IP address to be added to the whitelist for the API key.
|
|
39
|
+
:param pulumi.Input[_builtins.str] max_ttl: The maximum allowed lifetime of credentials issued using this role.
|
|
40
|
+
:param pulumi.Input[_builtins.str] name: The name of the role.
|
|
41
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
42
|
+
The value should not contain leading or trailing forward slashes.
|
|
43
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
44
|
+
*Available only for Vault Enterprise*.
|
|
45
|
+
:param pulumi.Input[_builtins.str] organization_id: Unique identifier for the organization to which the target API Key belongs.
|
|
46
|
+
Required if `project_id` is not set.
|
|
47
|
+
:param pulumi.Input[_builtins.str] project_id: Unique identifier for the project to which the target API Key belongs.
|
|
48
|
+
Required if `organization_id` is not set.
|
|
49
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] project_roles: Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
|
|
50
|
+
:param pulumi.Input[_builtins.str] ttl: Duration in seconds after which the issued credential should expire.
|
|
51
|
+
"""
|
|
52
|
+
pulumi.set(__self__, "mount", mount)
|
|
53
|
+
pulumi.set(__self__, "roles", roles)
|
|
54
|
+
if cidr_blocks is not None:
|
|
55
|
+
pulumi.set(__self__, "cidr_blocks", cidr_blocks)
|
|
56
|
+
if ip_addresses is not None:
|
|
57
|
+
pulumi.set(__self__, "ip_addresses", ip_addresses)
|
|
58
|
+
if max_ttl is not None:
|
|
59
|
+
pulumi.set(__self__, "max_ttl", max_ttl)
|
|
60
|
+
if name is not None:
|
|
61
|
+
pulumi.set(__self__, "name", name)
|
|
62
|
+
if namespace is not None:
|
|
63
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
64
|
+
if organization_id is not None:
|
|
65
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
|
66
|
+
if project_id is not None:
|
|
67
|
+
pulumi.set(__self__, "project_id", project_id)
|
|
68
|
+
if project_roles is not None:
|
|
69
|
+
pulumi.set(__self__, "project_roles", project_roles)
|
|
70
|
+
if ttl is not None:
|
|
71
|
+
pulumi.set(__self__, "ttl", ttl)
|
|
72
|
+
|
|
73
|
+
@_builtins.property
|
|
74
|
+
@pulumi.getter
|
|
75
|
+
def mount(self) -> pulumi.Input[_builtins.str]:
|
|
76
|
+
"""
|
|
77
|
+
Path where the MongoDB Atlas Secrets Engine is mounted.
|
|
78
|
+
"""
|
|
79
|
+
return pulumi.get(self, "mount")
|
|
80
|
+
|
|
81
|
+
@mount.setter
|
|
82
|
+
def mount(self, value: pulumi.Input[_builtins.str]):
|
|
83
|
+
pulumi.set(self, "mount", value)
|
|
84
|
+
|
|
85
|
+
@_builtins.property
|
|
86
|
+
@pulumi.getter
|
|
87
|
+
def roles(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
|
|
88
|
+
"""
|
|
89
|
+
List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
|
|
90
|
+
"""
|
|
91
|
+
return pulumi.get(self, "roles")
|
|
92
|
+
|
|
93
|
+
@roles.setter
|
|
94
|
+
def roles(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
|
|
95
|
+
pulumi.set(self, "roles", value)
|
|
96
|
+
|
|
97
|
+
@_builtins.property
|
|
98
|
+
@pulumi.getter(name="cidrBlocks")
|
|
99
|
+
def cidr_blocks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
100
|
+
"""
|
|
101
|
+
Whitelist entry in CIDR notation to be added for the API key.
|
|
102
|
+
"""
|
|
103
|
+
return pulumi.get(self, "cidr_blocks")
|
|
104
|
+
|
|
105
|
+
@cidr_blocks.setter
|
|
106
|
+
def cidr_blocks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
107
|
+
pulumi.set(self, "cidr_blocks", value)
|
|
108
|
+
|
|
109
|
+
@_builtins.property
|
|
110
|
+
@pulumi.getter(name="ipAddresses")
|
|
111
|
+
def ip_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
112
|
+
"""
|
|
113
|
+
IP address to be added to the whitelist for the API key.
|
|
114
|
+
"""
|
|
115
|
+
return pulumi.get(self, "ip_addresses")
|
|
116
|
+
|
|
117
|
+
@ip_addresses.setter
|
|
118
|
+
def ip_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
119
|
+
pulumi.set(self, "ip_addresses", value)
|
|
120
|
+
|
|
121
|
+
@_builtins.property
|
|
122
|
+
@pulumi.getter(name="maxTtl")
|
|
123
|
+
def max_ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
124
|
+
"""
|
|
125
|
+
The maximum allowed lifetime of credentials issued using this role.
|
|
126
|
+
"""
|
|
127
|
+
return pulumi.get(self, "max_ttl")
|
|
128
|
+
|
|
129
|
+
@max_ttl.setter
|
|
130
|
+
def max_ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
131
|
+
pulumi.set(self, "max_ttl", value)
|
|
132
|
+
|
|
133
|
+
@_builtins.property
|
|
134
|
+
@pulumi.getter
|
|
135
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
136
|
+
"""
|
|
137
|
+
The name of the role.
|
|
138
|
+
"""
|
|
139
|
+
return pulumi.get(self, "name")
|
|
140
|
+
|
|
141
|
+
@name.setter
|
|
142
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
143
|
+
pulumi.set(self, "name", value)
|
|
144
|
+
|
|
145
|
+
@_builtins.property
|
|
146
|
+
@pulumi.getter
|
|
147
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
148
|
+
"""
|
|
149
|
+
The namespace to provision the resource in.
|
|
150
|
+
The value should not contain leading or trailing forward slashes.
|
|
151
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
152
|
+
*Available only for Vault Enterprise*.
|
|
153
|
+
"""
|
|
154
|
+
return pulumi.get(self, "namespace")
|
|
155
|
+
|
|
156
|
+
@namespace.setter
|
|
157
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
158
|
+
pulumi.set(self, "namespace", value)
|
|
159
|
+
|
|
160
|
+
@_builtins.property
|
|
161
|
+
@pulumi.getter(name="organizationId")
|
|
162
|
+
def organization_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
163
|
+
"""
|
|
164
|
+
Unique identifier for the organization to which the target API Key belongs.
|
|
165
|
+
Required if `project_id` is not set.
|
|
166
|
+
"""
|
|
167
|
+
return pulumi.get(self, "organization_id")
|
|
168
|
+
|
|
169
|
+
@organization_id.setter
|
|
170
|
+
def organization_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
171
|
+
pulumi.set(self, "organization_id", value)
|
|
172
|
+
|
|
173
|
+
@_builtins.property
|
|
174
|
+
@pulumi.getter(name="projectId")
|
|
175
|
+
def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
176
|
+
"""
|
|
177
|
+
Unique identifier for the project to which the target API Key belongs.
|
|
178
|
+
Required if `organization_id` is not set.
|
|
179
|
+
"""
|
|
180
|
+
return pulumi.get(self, "project_id")
|
|
181
|
+
|
|
182
|
+
@project_id.setter
|
|
183
|
+
def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
184
|
+
pulumi.set(self, "project_id", value)
|
|
185
|
+
|
|
186
|
+
@_builtins.property
|
|
187
|
+
@pulumi.getter(name="projectRoles")
|
|
188
|
+
def project_roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
189
|
+
"""
|
|
190
|
+
Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
|
|
191
|
+
"""
|
|
192
|
+
return pulumi.get(self, "project_roles")
|
|
193
|
+
|
|
194
|
+
@project_roles.setter
|
|
195
|
+
def project_roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
196
|
+
pulumi.set(self, "project_roles", value)
|
|
197
|
+
|
|
198
|
+
@_builtins.property
|
|
199
|
+
@pulumi.getter
|
|
200
|
+
def ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
201
|
+
"""
|
|
202
|
+
Duration in seconds after which the issued credential should expire.
|
|
203
|
+
"""
|
|
204
|
+
return pulumi.get(self, "ttl")
|
|
205
|
+
|
|
206
|
+
@ttl.setter
|
|
207
|
+
def ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
208
|
+
pulumi.set(self, "ttl", value)
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
@pulumi.input_type
|
|
212
|
+
class _SecretRoleState:
|
|
213
|
+
def __init__(__self__, *,
|
|
214
|
+
cidr_blocks: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
215
|
+
ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
216
|
+
max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
|
|
217
|
+
mount: Optional[pulumi.Input[_builtins.str]] = None,
|
|
218
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
219
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
220
|
+
organization_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
221
|
+
project_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
222
|
+
project_roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
223
|
+
roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
224
|
+
ttl: Optional[pulumi.Input[_builtins.str]] = None):
|
|
225
|
+
"""
|
|
226
|
+
Input properties used for looking up and filtering SecretRole resources.
|
|
227
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] cidr_blocks: Whitelist entry in CIDR notation to be added for the API key.
|
|
228
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_addresses: IP address to be added to the whitelist for the API key.
|
|
229
|
+
:param pulumi.Input[_builtins.str] max_ttl: The maximum allowed lifetime of credentials issued using this role.
|
|
230
|
+
:param pulumi.Input[_builtins.str] mount: Path where the MongoDB Atlas Secrets Engine is mounted.
|
|
231
|
+
:param pulumi.Input[_builtins.str] name: The name of the role.
|
|
232
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
233
|
+
The value should not contain leading or trailing forward slashes.
|
|
234
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
235
|
+
*Available only for Vault Enterprise*.
|
|
236
|
+
:param pulumi.Input[_builtins.str] organization_id: Unique identifier for the organization to which the target API Key belongs.
|
|
237
|
+
Required if `project_id` is not set.
|
|
238
|
+
:param pulumi.Input[_builtins.str] project_id: Unique identifier for the project to which the target API Key belongs.
|
|
239
|
+
Required if `organization_id` is not set.
|
|
240
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] project_roles: Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
|
|
241
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
|
|
242
|
+
:param pulumi.Input[_builtins.str] ttl: Duration in seconds after which the issued credential should expire.
|
|
243
|
+
"""
|
|
244
|
+
if cidr_blocks is not None:
|
|
245
|
+
pulumi.set(__self__, "cidr_blocks", cidr_blocks)
|
|
246
|
+
if ip_addresses is not None:
|
|
247
|
+
pulumi.set(__self__, "ip_addresses", ip_addresses)
|
|
248
|
+
if max_ttl is not None:
|
|
249
|
+
pulumi.set(__self__, "max_ttl", max_ttl)
|
|
250
|
+
if mount is not None:
|
|
251
|
+
pulumi.set(__self__, "mount", mount)
|
|
252
|
+
if name is not None:
|
|
253
|
+
pulumi.set(__self__, "name", name)
|
|
254
|
+
if namespace is not None:
|
|
255
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
256
|
+
if organization_id is not None:
|
|
257
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
|
258
|
+
if project_id is not None:
|
|
259
|
+
pulumi.set(__self__, "project_id", project_id)
|
|
260
|
+
if project_roles is not None:
|
|
261
|
+
pulumi.set(__self__, "project_roles", project_roles)
|
|
262
|
+
if roles is not None:
|
|
263
|
+
pulumi.set(__self__, "roles", roles)
|
|
264
|
+
if ttl is not None:
|
|
265
|
+
pulumi.set(__self__, "ttl", ttl)
|
|
266
|
+
|
|
267
|
+
@_builtins.property
|
|
268
|
+
@pulumi.getter(name="cidrBlocks")
|
|
269
|
+
def cidr_blocks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
270
|
+
"""
|
|
271
|
+
Whitelist entry in CIDR notation to be added for the API key.
|
|
272
|
+
"""
|
|
273
|
+
return pulumi.get(self, "cidr_blocks")
|
|
274
|
+
|
|
275
|
+
@cidr_blocks.setter
|
|
276
|
+
def cidr_blocks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
277
|
+
pulumi.set(self, "cidr_blocks", value)
|
|
278
|
+
|
|
279
|
+
@_builtins.property
|
|
280
|
+
@pulumi.getter(name="ipAddresses")
|
|
281
|
+
def ip_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
282
|
+
"""
|
|
283
|
+
IP address to be added to the whitelist for the API key.
|
|
284
|
+
"""
|
|
285
|
+
return pulumi.get(self, "ip_addresses")
|
|
286
|
+
|
|
287
|
+
@ip_addresses.setter
|
|
288
|
+
def ip_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
289
|
+
pulumi.set(self, "ip_addresses", value)
|
|
290
|
+
|
|
291
|
+
@_builtins.property
|
|
292
|
+
@pulumi.getter(name="maxTtl")
|
|
293
|
+
def max_ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
294
|
+
"""
|
|
295
|
+
The maximum allowed lifetime of credentials issued using this role.
|
|
296
|
+
"""
|
|
297
|
+
return pulumi.get(self, "max_ttl")
|
|
298
|
+
|
|
299
|
+
@max_ttl.setter
|
|
300
|
+
def max_ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
301
|
+
pulumi.set(self, "max_ttl", value)
|
|
302
|
+
|
|
303
|
+
@_builtins.property
|
|
304
|
+
@pulumi.getter
|
|
305
|
+
def mount(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
306
|
+
"""
|
|
307
|
+
Path where the MongoDB Atlas Secrets Engine is mounted.
|
|
308
|
+
"""
|
|
309
|
+
return pulumi.get(self, "mount")
|
|
310
|
+
|
|
311
|
+
@mount.setter
|
|
312
|
+
def mount(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
313
|
+
pulumi.set(self, "mount", value)
|
|
314
|
+
|
|
315
|
+
@_builtins.property
|
|
316
|
+
@pulumi.getter
|
|
317
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
318
|
+
"""
|
|
319
|
+
The name of the role.
|
|
320
|
+
"""
|
|
321
|
+
return pulumi.get(self, "name")
|
|
322
|
+
|
|
323
|
+
@name.setter
|
|
324
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
325
|
+
pulumi.set(self, "name", value)
|
|
326
|
+
|
|
327
|
+
@_builtins.property
|
|
328
|
+
@pulumi.getter
|
|
329
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
330
|
+
"""
|
|
331
|
+
The namespace to provision the resource in.
|
|
332
|
+
The value should not contain leading or trailing forward slashes.
|
|
333
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
334
|
+
*Available only for Vault Enterprise*.
|
|
335
|
+
"""
|
|
336
|
+
return pulumi.get(self, "namespace")
|
|
337
|
+
|
|
338
|
+
@namespace.setter
|
|
339
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
340
|
+
pulumi.set(self, "namespace", value)
|
|
341
|
+
|
|
342
|
+
@_builtins.property
|
|
343
|
+
@pulumi.getter(name="organizationId")
|
|
344
|
+
def organization_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
345
|
+
"""
|
|
346
|
+
Unique identifier for the organization to which the target API Key belongs.
|
|
347
|
+
Required if `project_id` is not set.
|
|
348
|
+
"""
|
|
349
|
+
return pulumi.get(self, "organization_id")
|
|
350
|
+
|
|
351
|
+
@organization_id.setter
|
|
352
|
+
def organization_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
353
|
+
pulumi.set(self, "organization_id", value)
|
|
354
|
+
|
|
355
|
+
@_builtins.property
|
|
356
|
+
@pulumi.getter(name="projectId")
|
|
357
|
+
def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
358
|
+
"""
|
|
359
|
+
Unique identifier for the project to which the target API Key belongs.
|
|
360
|
+
Required if `organization_id` is not set.
|
|
361
|
+
"""
|
|
362
|
+
return pulumi.get(self, "project_id")
|
|
363
|
+
|
|
364
|
+
@project_id.setter
|
|
365
|
+
def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
366
|
+
pulumi.set(self, "project_id", value)
|
|
367
|
+
|
|
368
|
+
@_builtins.property
|
|
369
|
+
@pulumi.getter(name="projectRoles")
|
|
370
|
+
def project_roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
371
|
+
"""
|
|
372
|
+
Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
|
|
373
|
+
"""
|
|
374
|
+
return pulumi.get(self, "project_roles")
|
|
375
|
+
|
|
376
|
+
@project_roles.setter
|
|
377
|
+
def project_roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
378
|
+
pulumi.set(self, "project_roles", value)
|
|
379
|
+
|
|
380
|
+
@_builtins.property
|
|
381
|
+
@pulumi.getter
|
|
382
|
+
def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
383
|
+
"""
|
|
384
|
+
List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
|
|
385
|
+
"""
|
|
386
|
+
return pulumi.get(self, "roles")
|
|
387
|
+
|
|
388
|
+
@roles.setter
|
|
389
|
+
def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
390
|
+
pulumi.set(self, "roles", value)
|
|
391
|
+
|
|
392
|
+
@_builtins.property
|
|
393
|
+
@pulumi.getter
|
|
394
|
+
def ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
395
|
+
"""
|
|
396
|
+
Duration in seconds after which the issued credential should expire.
|
|
397
|
+
"""
|
|
398
|
+
return pulumi.get(self, "ttl")
|
|
399
|
+
|
|
400
|
+
@ttl.setter
|
|
401
|
+
def ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
402
|
+
pulumi.set(self, "ttl", value)
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
@pulumi.type_token("vault:mongodbatlas/secretRole:SecretRole")
|
|
406
|
+
class SecretRole(pulumi.CustomResource):
|
|
407
|
+
@overload
|
|
408
|
+
def __init__(__self__,
|
|
409
|
+
resource_name: str,
|
|
410
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
411
|
+
cidr_blocks: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
412
|
+
ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
413
|
+
max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
|
|
414
|
+
mount: Optional[pulumi.Input[_builtins.str]] = None,
|
|
415
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
416
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
417
|
+
organization_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
418
|
+
project_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
419
|
+
project_roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
420
|
+
roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
421
|
+
ttl: Optional[pulumi.Input[_builtins.str]] = None,
|
|
422
|
+
__props__=None):
|
|
423
|
+
"""
|
|
424
|
+
## Example Usage
|
|
425
|
+
|
|
426
|
+
```python
|
|
427
|
+
import pulumi
|
|
428
|
+
import pulumi_vault as vault
|
|
429
|
+
|
|
430
|
+
mongo = vault.Mount("mongo",
|
|
431
|
+
path="%s",
|
|
432
|
+
type="mongodbatlas",
|
|
433
|
+
description="MongoDB Atlas secret engine mount")
|
|
434
|
+
config = vault.mongodbatlas.SecretBackend("config",
|
|
435
|
+
mount=mongo.path,
|
|
436
|
+
private_key="privateKey",
|
|
437
|
+
public_key="publicKey")
|
|
438
|
+
role = vault.mongodbatlas.SecretRole("role",
|
|
439
|
+
mount=mongo.path,
|
|
440
|
+
name="tf-test-role",
|
|
441
|
+
organization_id="7cf5a45a9ccf6400e60981b7",
|
|
442
|
+
project_id="5cf5a45a9ccf6400e60981b6",
|
|
443
|
+
roles=["ORG_READ_ONLY"],
|
|
444
|
+
ip_addresses="192.168.1.5, 192.168.1.6",
|
|
445
|
+
cidr_blocks="192.168.1.3/35",
|
|
446
|
+
project_roles=["GROUP_READ_ONLY"],
|
|
447
|
+
ttl="60",
|
|
448
|
+
max_ttl="120")
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
## Import
|
|
452
|
+
|
|
453
|
+
The MongoDB Atlas secret role can be imported using the full path to the role
|
|
454
|
+
of the form: `<mount_path>/roles/<role_name>` e.g.
|
|
455
|
+
|
|
456
|
+
```sh
|
|
457
|
+
$ pulumi import vault:mongodbatlas/secretRole:SecretRole example mongodbatlas/roles/example-role
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
:param str resource_name: The name of the resource.
|
|
461
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
462
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] cidr_blocks: Whitelist entry in CIDR notation to be added for the API key.
|
|
463
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_addresses: IP address to be added to the whitelist for the API key.
|
|
464
|
+
:param pulumi.Input[_builtins.str] max_ttl: The maximum allowed lifetime of credentials issued using this role.
|
|
465
|
+
:param pulumi.Input[_builtins.str] mount: Path where the MongoDB Atlas Secrets Engine is mounted.
|
|
466
|
+
:param pulumi.Input[_builtins.str] name: The name of the role.
|
|
467
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
468
|
+
The value should not contain leading or trailing forward slashes.
|
|
469
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
470
|
+
*Available only for Vault Enterprise*.
|
|
471
|
+
:param pulumi.Input[_builtins.str] organization_id: Unique identifier for the organization to which the target API Key belongs.
|
|
472
|
+
Required if `project_id` is not set.
|
|
473
|
+
:param pulumi.Input[_builtins.str] project_id: Unique identifier for the project to which the target API Key belongs.
|
|
474
|
+
Required if `organization_id` is not set.
|
|
475
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] project_roles: Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
|
|
476
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
|
|
477
|
+
:param pulumi.Input[_builtins.str] ttl: Duration in seconds after which the issued credential should expire.
|
|
478
|
+
"""
|
|
479
|
+
...
|
|
480
|
+
@overload
|
|
481
|
+
def __init__(__self__,
|
|
482
|
+
resource_name: str,
|
|
483
|
+
args: SecretRoleArgs,
|
|
484
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
485
|
+
"""
|
|
486
|
+
## Example Usage
|
|
487
|
+
|
|
488
|
+
```python
|
|
489
|
+
import pulumi
|
|
490
|
+
import pulumi_vault as vault
|
|
491
|
+
|
|
492
|
+
mongo = vault.Mount("mongo",
|
|
493
|
+
path="%s",
|
|
494
|
+
type="mongodbatlas",
|
|
495
|
+
description="MongoDB Atlas secret engine mount")
|
|
496
|
+
config = vault.mongodbatlas.SecretBackend("config",
|
|
497
|
+
mount=mongo.path,
|
|
498
|
+
private_key="privateKey",
|
|
499
|
+
public_key="publicKey")
|
|
500
|
+
role = vault.mongodbatlas.SecretRole("role",
|
|
501
|
+
mount=mongo.path,
|
|
502
|
+
name="tf-test-role",
|
|
503
|
+
organization_id="7cf5a45a9ccf6400e60981b7",
|
|
504
|
+
project_id="5cf5a45a9ccf6400e60981b6",
|
|
505
|
+
roles=["ORG_READ_ONLY"],
|
|
506
|
+
ip_addresses="192.168.1.5, 192.168.1.6",
|
|
507
|
+
cidr_blocks="192.168.1.3/35",
|
|
508
|
+
project_roles=["GROUP_READ_ONLY"],
|
|
509
|
+
ttl="60",
|
|
510
|
+
max_ttl="120")
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
## Import
|
|
514
|
+
|
|
515
|
+
The MongoDB Atlas secret role can be imported using the full path to the role
|
|
516
|
+
of the form: `<mount_path>/roles/<role_name>` e.g.
|
|
517
|
+
|
|
518
|
+
```sh
|
|
519
|
+
$ pulumi import vault:mongodbatlas/secretRole:SecretRole example mongodbatlas/roles/example-role
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
:param str resource_name: The name of the resource.
|
|
523
|
+
:param SecretRoleArgs args: The arguments to use to populate this resource's properties.
|
|
524
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
525
|
+
"""
|
|
526
|
+
...
|
|
527
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
528
|
+
resource_args, opts = _utilities.get_resource_args_opts(SecretRoleArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
529
|
+
if resource_args is not None:
|
|
530
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
531
|
+
else:
|
|
532
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
533
|
+
|
|
534
|
+
def _internal_init(__self__,
|
|
535
|
+
resource_name: str,
|
|
536
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
537
|
+
cidr_blocks: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
538
|
+
ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
539
|
+
max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
|
|
540
|
+
mount: Optional[pulumi.Input[_builtins.str]] = None,
|
|
541
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
542
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
543
|
+
organization_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
544
|
+
project_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
545
|
+
project_roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
546
|
+
roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
547
|
+
ttl: Optional[pulumi.Input[_builtins.str]] = None,
|
|
548
|
+
__props__=None):
|
|
549
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
550
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
551
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
552
|
+
if opts.id is None:
|
|
553
|
+
if __props__ is not None:
|
|
554
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
555
|
+
__props__ = SecretRoleArgs.__new__(SecretRoleArgs)
|
|
556
|
+
|
|
557
|
+
__props__.__dict__["cidr_blocks"] = cidr_blocks
|
|
558
|
+
__props__.__dict__["ip_addresses"] = ip_addresses
|
|
559
|
+
__props__.__dict__["max_ttl"] = max_ttl
|
|
560
|
+
if mount is None and not opts.urn:
|
|
561
|
+
raise TypeError("Missing required property 'mount'")
|
|
562
|
+
__props__.__dict__["mount"] = mount
|
|
563
|
+
__props__.__dict__["name"] = name
|
|
564
|
+
__props__.__dict__["namespace"] = namespace
|
|
565
|
+
__props__.__dict__["organization_id"] = organization_id
|
|
566
|
+
__props__.__dict__["project_id"] = project_id
|
|
567
|
+
__props__.__dict__["project_roles"] = project_roles
|
|
568
|
+
if roles is None and not opts.urn:
|
|
569
|
+
raise TypeError("Missing required property 'roles'")
|
|
570
|
+
__props__.__dict__["roles"] = roles
|
|
571
|
+
__props__.__dict__["ttl"] = ttl
|
|
572
|
+
super(SecretRole, __self__).__init__(
|
|
573
|
+
'vault:mongodbatlas/secretRole:SecretRole',
|
|
574
|
+
resource_name,
|
|
575
|
+
__props__,
|
|
576
|
+
opts)
|
|
577
|
+
|
|
578
|
+
@staticmethod
|
|
579
|
+
def get(resource_name: str,
|
|
580
|
+
id: pulumi.Input[str],
|
|
581
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
582
|
+
cidr_blocks: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
583
|
+
ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
584
|
+
max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
|
|
585
|
+
mount: Optional[pulumi.Input[_builtins.str]] = None,
|
|
586
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
587
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
588
|
+
organization_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
589
|
+
project_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
590
|
+
project_roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
591
|
+
roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
592
|
+
ttl: Optional[pulumi.Input[_builtins.str]] = None) -> 'SecretRole':
|
|
593
|
+
"""
|
|
594
|
+
Get an existing SecretRole resource's state with the given name, id, and optional extra
|
|
595
|
+
properties used to qualify the lookup.
|
|
596
|
+
|
|
597
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
598
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
599
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
600
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] cidr_blocks: Whitelist entry in CIDR notation to be added for the API key.
|
|
601
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_addresses: IP address to be added to the whitelist for the API key.
|
|
602
|
+
:param pulumi.Input[_builtins.str] max_ttl: The maximum allowed lifetime of credentials issued using this role.
|
|
603
|
+
:param pulumi.Input[_builtins.str] mount: Path where the MongoDB Atlas Secrets Engine is mounted.
|
|
604
|
+
:param pulumi.Input[_builtins.str] name: The name of the role.
|
|
605
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
606
|
+
The value should not contain leading or trailing forward slashes.
|
|
607
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
608
|
+
*Available only for Vault Enterprise*.
|
|
609
|
+
:param pulumi.Input[_builtins.str] organization_id: Unique identifier for the organization to which the target API Key belongs.
|
|
610
|
+
Required if `project_id` is not set.
|
|
611
|
+
:param pulumi.Input[_builtins.str] project_id: Unique identifier for the project to which the target API Key belongs.
|
|
612
|
+
Required if `organization_id` is not set.
|
|
613
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] project_roles: Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
|
|
614
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
|
|
615
|
+
:param pulumi.Input[_builtins.str] ttl: Duration in seconds after which the issued credential should expire.
|
|
616
|
+
"""
|
|
617
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
618
|
+
|
|
619
|
+
__props__ = _SecretRoleState.__new__(_SecretRoleState)
|
|
620
|
+
|
|
621
|
+
__props__.__dict__["cidr_blocks"] = cidr_blocks
|
|
622
|
+
__props__.__dict__["ip_addresses"] = ip_addresses
|
|
623
|
+
__props__.__dict__["max_ttl"] = max_ttl
|
|
624
|
+
__props__.__dict__["mount"] = mount
|
|
625
|
+
__props__.__dict__["name"] = name
|
|
626
|
+
__props__.__dict__["namespace"] = namespace
|
|
627
|
+
__props__.__dict__["organization_id"] = organization_id
|
|
628
|
+
__props__.__dict__["project_id"] = project_id
|
|
629
|
+
__props__.__dict__["project_roles"] = project_roles
|
|
630
|
+
__props__.__dict__["roles"] = roles
|
|
631
|
+
__props__.__dict__["ttl"] = ttl
|
|
632
|
+
return SecretRole(resource_name, opts=opts, __props__=__props__)
|
|
633
|
+
|
|
634
|
+
@_builtins.property
|
|
635
|
+
@pulumi.getter(name="cidrBlocks")
|
|
636
|
+
def cidr_blocks(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
637
|
+
"""
|
|
638
|
+
Whitelist entry in CIDR notation to be added for the API key.
|
|
639
|
+
"""
|
|
640
|
+
return pulumi.get(self, "cidr_blocks")
|
|
641
|
+
|
|
642
|
+
@_builtins.property
|
|
643
|
+
@pulumi.getter(name="ipAddresses")
|
|
644
|
+
def ip_addresses(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
645
|
+
"""
|
|
646
|
+
IP address to be added to the whitelist for the API key.
|
|
647
|
+
"""
|
|
648
|
+
return pulumi.get(self, "ip_addresses")
|
|
649
|
+
|
|
650
|
+
@_builtins.property
|
|
651
|
+
@pulumi.getter(name="maxTtl")
|
|
652
|
+
def max_ttl(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
653
|
+
"""
|
|
654
|
+
The maximum allowed lifetime of credentials issued using this role.
|
|
655
|
+
"""
|
|
656
|
+
return pulumi.get(self, "max_ttl")
|
|
657
|
+
|
|
658
|
+
@_builtins.property
|
|
659
|
+
@pulumi.getter
|
|
660
|
+
def mount(self) -> pulumi.Output[_builtins.str]:
|
|
661
|
+
"""
|
|
662
|
+
Path where the MongoDB Atlas Secrets Engine is mounted.
|
|
663
|
+
"""
|
|
664
|
+
return pulumi.get(self, "mount")
|
|
665
|
+
|
|
666
|
+
@_builtins.property
|
|
667
|
+
@pulumi.getter
|
|
668
|
+
def name(self) -> pulumi.Output[_builtins.str]:
|
|
669
|
+
"""
|
|
670
|
+
The name of the role.
|
|
671
|
+
"""
|
|
672
|
+
return pulumi.get(self, "name")
|
|
673
|
+
|
|
674
|
+
@_builtins.property
|
|
675
|
+
@pulumi.getter
|
|
676
|
+
def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
677
|
+
"""
|
|
678
|
+
The namespace to provision the resource in.
|
|
679
|
+
The value should not contain leading or trailing forward slashes.
|
|
680
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
681
|
+
*Available only for Vault Enterprise*.
|
|
682
|
+
"""
|
|
683
|
+
return pulumi.get(self, "namespace")
|
|
684
|
+
|
|
685
|
+
@_builtins.property
|
|
686
|
+
@pulumi.getter(name="organizationId")
|
|
687
|
+
def organization_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
688
|
+
"""
|
|
689
|
+
Unique identifier for the organization to which the target API Key belongs.
|
|
690
|
+
Required if `project_id` is not set.
|
|
691
|
+
"""
|
|
692
|
+
return pulumi.get(self, "organization_id")
|
|
693
|
+
|
|
694
|
+
@_builtins.property
|
|
695
|
+
@pulumi.getter(name="projectId")
|
|
696
|
+
def project_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
697
|
+
"""
|
|
698
|
+
Unique identifier for the project to which the target API Key belongs.
|
|
699
|
+
Required if `organization_id` is not set.
|
|
700
|
+
"""
|
|
701
|
+
return pulumi.get(self, "project_id")
|
|
702
|
+
|
|
703
|
+
@_builtins.property
|
|
704
|
+
@pulumi.getter(name="projectRoles")
|
|
705
|
+
def project_roles(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
706
|
+
"""
|
|
707
|
+
Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
|
|
708
|
+
"""
|
|
709
|
+
return pulumi.get(self, "project_roles")
|
|
710
|
+
|
|
711
|
+
@_builtins.property
|
|
712
|
+
@pulumi.getter
|
|
713
|
+
def roles(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
714
|
+
"""
|
|
715
|
+
List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
|
|
716
|
+
"""
|
|
717
|
+
return pulumi.get(self, "roles")
|
|
718
|
+
|
|
719
|
+
@_builtins.property
|
|
720
|
+
@pulumi.getter
|
|
721
|
+
def ttl(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
722
|
+
"""
|
|
723
|
+
Duration in seconds after which the issued credential should expire.
|
|
724
|
+
"""
|
|
725
|
+
return pulumi.get(self, "ttl")
|
|
726
|
+
|