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,268 @@
|
|
|
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__ = ['OidcArgs', 'Oidc']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class OidcArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
issuer: Optional[pulumi.Input[_builtins.str]] = None,
|
|
23
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None):
|
|
24
|
+
"""
|
|
25
|
+
The set of arguments for constructing a Oidc resource.
|
|
26
|
+
:param pulumi.Input[_builtins.str] issuer: Issuer URL to be used in the iss claim of the token. If not set, Vault's
|
|
27
|
+
`api_addr` will be used. The issuer is a case sensitive URL using the https scheme that contains
|
|
28
|
+
scheme, host, and optionally, port number and path components, but no query or fragment
|
|
29
|
+
components.
|
|
30
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
31
|
+
The value should not contain leading or trailing forward slashes.
|
|
32
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
33
|
+
*Available only for Vault Enterprise*.
|
|
34
|
+
"""
|
|
35
|
+
if issuer is not None:
|
|
36
|
+
pulumi.set(__self__, "issuer", issuer)
|
|
37
|
+
if namespace is not None:
|
|
38
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
39
|
+
|
|
40
|
+
@_builtins.property
|
|
41
|
+
@pulumi.getter
|
|
42
|
+
def issuer(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
43
|
+
"""
|
|
44
|
+
Issuer URL to be used in the iss claim of the token. If not set, Vault's
|
|
45
|
+
`api_addr` will be used. The issuer is a case sensitive URL using the https scheme that contains
|
|
46
|
+
scheme, host, and optionally, port number and path components, but no query or fragment
|
|
47
|
+
components.
|
|
48
|
+
"""
|
|
49
|
+
return pulumi.get(self, "issuer")
|
|
50
|
+
|
|
51
|
+
@issuer.setter
|
|
52
|
+
def issuer(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
53
|
+
pulumi.set(self, "issuer", value)
|
|
54
|
+
|
|
55
|
+
@_builtins.property
|
|
56
|
+
@pulumi.getter
|
|
57
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
58
|
+
"""
|
|
59
|
+
The namespace to provision the resource in.
|
|
60
|
+
The value should not contain leading or trailing forward slashes.
|
|
61
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
62
|
+
*Available only for Vault Enterprise*.
|
|
63
|
+
"""
|
|
64
|
+
return pulumi.get(self, "namespace")
|
|
65
|
+
|
|
66
|
+
@namespace.setter
|
|
67
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
68
|
+
pulumi.set(self, "namespace", value)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
@pulumi.input_type
|
|
72
|
+
class _OidcState:
|
|
73
|
+
def __init__(__self__, *,
|
|
74
|
+
issuer: Optional[pulumi.Input[_builtins.str]] = None,
|
|
75
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None):
|
|
76
|
+
"""
|
|
77
|
+
Input properties used for looking up and filtering Oidc resources.
|
|
78
|
+
:param pulumi.Input[_builtins.str] issuer: Issuer URL to be used in the iss claim of the token. If not set, Vault's
|
|
79
|
+
`api_addr` will be used. The issuer is a case sensitive URL using the https scheme that contains
|
|
80
|
+
scheme, host, and optionally, port number and path components, but no query or fragment
|
|
81
|
+
components.
|
|
82
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
83
|
+
The value should not contain leading or trailing forward slashes.
|
|
84
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
85
|
+
*Available only for Vault Enterprise*.
|
|
86
|
+
"""
|
|
87
|
+
if issuer is not None:
|
|
88
|
+
pulumi.set(__self__, "issuer", issuer)
|
|
89
|
+
if namespace is not None:
|
|
90
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
91
|
+
|
|
92
|
+
@_builtins.property
|
|
93
|
+
@pulumi.getter
|
|
94
|
+
def issuer(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
95
|
+
"""
|
|
96
|
+
Issuer URL to be used in the iss claim of the token. If not set, Vault's
|
|
97
|
+
`api_addr` will be used. The issuer is a case sensitive URL using the https scheme that contains
|
|
98
|
+
scheme, host, and optionally, port number and path components, but no query or fragment
|
|
99
|
+
components.
|
|
100
|
+
"""
|
|
101
|
+
return pulumi.get(self, "issuer")
|
|
102
|
+
|
|
103
|
+
@issuer.setter
|
|
104
|
+
def issuer(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
105
|
+
pulumi.set(self, "issuer", value)
|
|
106
|
+
|
|
107
|
+
@_builtins.property
|
|
108
|
+
@pulumi.getter
|
|
109
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
110
|
+
"""
|
|
111
|
+
The namespace to provision the resource in.
|
|
112
|
+
The value should not contain leading or trailing forward slashes.
|
|
113
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
114
|
+
*Available only for Vault Enterprise*.
|
|
115
|
+
"""
|
|
116
|
+
return pulumi.get(self, "namespace")
|
|
117
|
+
|
|
118
|
+
@namespace.setter
|
|
119
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
120
|
+
pulumi.set(self, "namespace", value)
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
@pulumi.type_token("vault:identity/oidc:Oidc")
|
|
124
|
+
class Oidc(pulumi.CustomResource):
|
|
125
|
+
@overload
|
|
126
|
+
def __init__(__self__,
|
|
127
|
+
resource_name: str,
|
|
128
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
129
|
+
issuer: Optional[pulumi.Input[_builtins.str]] = None,
|
|
130
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
131
|
+
__props__=None):
|
|
132
|
+
"""
|
|
133
|
+
Configure the [Identity Tokens Backend](https://www.vaultproject.io/docs/secrets/identity/index.html#identity-tokens).
|
|
134
|
+
|
|
135
|
+
The Identity secrets engine is the identity management solution for Vault. It internally maintains
|
|
136
|
+
the clients who are recognized by Vault.
|
|
137
|
+
|
|
138
|
+
> **NOTE:** Each Vault server may only have one Identity Tokens Backend configuration. Multiple configurations of the resource against the same Vault server will cause a perpetual difference.
|
|
139
|
+
|
|
140
|
+
## Example Usage
|
|
141
|
+
|
|
142
|
+
```python
|
|
143
|
+
import pulumi
|
|
144
|
+
import pulumi_vault as vault
|
|
145
|
+
|
|
146
|
+
server = vault.identity.Oidc("server", issuer="https://www.acme.com")
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
:param str resource_name: The name of the resource.
|
|
150
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
151
|
+
:param pulumi.Input[_builtins.str] issuer: Issuer URL to be used in the iss claim of the token. If not set, Vault's
|
|
152
|
+
`api_addr` will be used. The issuer is a case sensitive URL using the https scheme that contains
|
|
153
|
+
scheme, host, and optionally, port number and path components, but no query or fragment
|
|
154
|
+
components.
|
|
155
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
156
|
+
The value should not contain leading or trailing forward slashes.
|
|
157
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
158
|
+
*Available only for Vault Enterprise*.
|
|
159
|
+
"""
|
|
160
|
+
...
|
|
161
|
+
@overload
|
|
162
|
+
def __init__(__self__,
|
|
163
|
+
resource_name: str,
|
|
164
|
+
args: Optional[OidcArgs] = None,
|
|
165
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
166
|
+
"""
|
|
167
|
+
Configure the [Identity Tokens Backend](https://www.vaultproject.io/docs/secrets/identity/index.html#identity-tokens).
|
|
168
|
+
|
|
169
|
+
The Identity secrets engine is the identity management solution for Vault. It internally maintains
|
|
170
|
+
the clients who are recognized by Vault.
|
|
171
|
+
|
|
172
|
+
> **NOTE:** Each Vault server may only have one Identity Tokens Backend configuration. Multiple configurations of the resource against the same Vault server will cause a perpetual difference.
|
|
173
|
+
|
|
174
|
+
## Example Usage
|
|
175
|
+
|
|
176
|
+
```python
|
|
177
|
+
import pulumi
|
|
178
|
+
import pulumi_vault as vault
|
|
179
|
+
|
|
180
|
+
server = vault.identity.Oidc("server", issuer="https://www.acme.com")
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
:param str resource_name: The name of the resource.
|
|
184
|
+
:param OidcArgs args: The arguments to use to populate this resource's properties.
|
|
185
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
186
|
+
"""
|
|
187
|
+
...
|
|
188
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
189
|
+
resource_args, opts = _utilities.get_resource_args_opts(OidcArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
190
|
+
if resource_args is not None:
|
|
191
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
192
|
+
else:
|
|
193
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
194
|
+
|
|
195
|
+
def _internal_init(__self__,
|
|
196
|
+
resource_name: str,
|
|
197
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
198
|
+
issuer: Optional[pulumi.Input[_builtins.str]] = None,
|
|
199
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
200
|
+
__props__=None):
|
|
201
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
202
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
203
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
204
|
+
if opts.id is None:
|
|
205
|
+
if __props__ is not None:
|
|
206
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
207
|
+
__props__ = OidcArgs.__new__(OidcArgs)
|
|
208
|
+
|
|
209
|
+
__props__.__dict__["issuer"] = issuer
|
|
210
|
+
__props__.__dict__["namespace"] = namespace
|
|
211
|
+
super(Oidc, __self__).__init__(
|
|
212
|
+
'vault:identity/oidc:Oidc',
|
|
213
|
+
resource_name,
|
|
214
|
+
__props__,
|
|
215
|
+
opts)
|
|
216
|
+
|
|
217
|
+
@staticmethod
|
|
218
|
+
def get(resource_name: str,
|
|
219
|
+
id: pulumi.Input[str],
|
|
220
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
221
|
+
issuer: Optional[pulumi.Input[_builtins.str]] = None,
|
|
222
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None) -> 'Oidc':
|
|
223
|
+
"""
|
|
224
|
+
Get an existing Oidc resource's state with the given name, id, and optional extra
|
|
225
|
+
properties used to qualify the lookup.
|
|
226
|
+
|
|
227
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
228
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
229
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
230
|
+
:param pulumi.Input[_builtins.str] issuer: Issuer URL to be used in the iss claim of the token. If not set, Vault's
|
|
231
|
+
`api_addr` will be used. The issuer is a case sensitive URL using the https scheme that contains
|
|
232
|
+
scheme, host, and optionally, port number and path components, but no query or fragment
|
|
233
|
+
components.
|
|
234
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
235
|
+
The value should not contain leading or trailing forward slashes.
|
|
236
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
237
|
+
*Available only for Vault Enterprise*.
|
|
238
|
+
"""
|
|
239
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
240
|
+
|
|
241
|
+
__props__ = _OidcState.__new__(_OidcState)
|
|
242
|
+
|
|
243
|
+
__props__.__dict__["issuer"] = issuer
|
|
244
|
+
__props__.__dict__["namespace"] = namespace
|
|
245
|
+
return Oidc(resource_name, opts=opts, __props__=__props__)
|
|
246
|
+
|
|
247
|
+
@_builtins.property
|
|
248
|
+
@pulumi.getter
|
|
249
|
+
def issuer(self) -> pulumi.Output[_builtins.str]:
|
|
250
|
+
"""
|
|
251
|
+
Issuer URL to be used in the iss claim of the token. If not set, Vault's
|
|
252
|
+
`api_addr` will be used. The issuer is a case sensitive URL using the https scheme that contains
|
|
253
|
+
scheme, host, and optionally, port number and path components, but no query or fragment
|
|
254
|
+
components.
|
|
255
|
+
"""
|
|
256
|
+
return pulumi.get(self, "issuer")
|
|
257
|
+
|
|
258
|
+
@_builtins.property
|
|
259
|
+
@pulumi.getter
|
|
260
|
+
def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
261
|
+
"""
|
|
262
|
+
The namespace to provision the resource in.
|
|
263
|
+
The value should not contain leading or trailing forward slashes.
|
|
264
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
265
|
+
*Available only for Vault Enterprise*.
|
|
266
|
+
"""
|
|
267
|
+
return pulumi.get(self, "namespace")
|
|
268
|
+
|
|
@@ -0,0 +1,375 @@
|
|
|
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__ = ['OidcAssignmentArgs', 'OidcAssignment']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class OidcAssignmentArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
entity_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
23
|
+
group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
24
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
25
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None):
|
|
26
|
+
"""
|
|
27
|
+
The set of arguments for constructing a OidcAssignment resource.
|
|
28
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] entity_ids: A set of Vault entity IDs.
|
|
29
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] group_ids: A set of Vault group IDs.
|
|
30
|
+
:param pulumi.Input[_builtins.str] name: The name of the assignment.
|
|
31
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
32
|
+
The value should not contain leading or trailing forward slashes.
|
|
33
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
34
|
+
*Available only for Vault Enterprise*.
|
|
35
|
+
"""
|
|
36
|
+
if entity_ids is not None:
|
|
37
|
+
pulumi.set(__self__, "entity_ids", entity_ids)
|
|
38
|
+
if group_ids is not None:
|
|
39
|
+
pulumi.set(__self__, "group_ids", group_ids)
|
|
40
|
+
if name is not None:
|
|
41
|
+
pulumi.set(__self__, "name", name)
|
|
42
|
+
if namespace is not None:
|
|
43
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
44
|
+
|
|
45
|
+
@_builtins.property
|
|
46
|
+
@pulumi.getter(name="entityIds")
|
|
47
|
+
def entity_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
48
|
+
"""
|
|
49
|
+
A set of Vault entity IDs.
|
|
50
|
+
"""
|
|
51
|
+
return pulumi.get(self, "entity_ids")
|
|
52
|
+
|
|
53
|
+
@entity_ids.setter
|
|
54
|
+
def entity_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
55
|
+
pulumi.set(self, "entity_ids", value)
|
|
56
|
+
|
|
57
|
+
@_builtins.property
|
|
58
|
+
@pulumi.getter(name="groupIds")
|
|
59
|
+
def group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
60
|
+
"""
|
|
61
|
+
A set of Vault group IDs.
|
|
62
|
+
"""
|
|
63
|
+
return pulumi.get(self, "group_ids")
|
|
64
|
+
|
|
65
|
+
@group_ids.setter
|
|
66
|
+
def group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
67
|
+
pulumi.set(self, "group_ids", value)
|
|
68
|
+
|
|
69
|
+
@_builtins.property
|
|
70
|
+
@pulumi.getter
|
|
71
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
72
|
+
"""
|
|
73
|
+
The name of the assignment.
|
|
74
|
+
"""
|
|
75
|
+
return pulumi.get(self, "name")
|
|
76
|
+
|
|
77
|
+
@name.setter
|
|
78
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
79
|
+
pulumi.set(self, "name", value)
|
|
80
|
+
|
|
81
|
+
@_builtins.property
|
|
82
|
+
@pulumi.getter
|
|
83
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
84
|
+
"""
|
|
85
|
+
The namespace to provision the resource in.
|
|
86
|
+
The value should not contain leading or trailing forward slashes.
|
|
87
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
88
|
+
*Available only for Vault Enterprise*.
|
|
89
|
+
"""
|
|
90
|
+
return pulumi.get(self, "namespace")
|
|
91
|
+
|
|
92
|
+
@namespace.setter
|
|
93
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
94
|
+
pulumi.set(self, "namespace", value)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
@pulumi.input_type
|
|
98
|
+
class _OidcAssignmentState:
|
|
99
|
+
def __init__(__self__, *,
|
|
100
|
+
entity_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
101
|
+
group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
102
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
103
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None):
|
|
104
|
+
"""
|
|
105
|
+
Input properties used for looking up and filtering OidcAssignment resources.
|
|
106
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] entity_ids: A set of Vault entity IDs.
|
|
107
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] group_ids: A set of Vault group IDs.
|
|
108
|
+
:param pulumi.Input[_builtins.str] name: The name of the assignment.
|
|
109
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
110
|
+
The value should not contain leading or trailing forward slashes.
|
|
111
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
112
|
+
*Available only for Vault Enterprise*.
|
|
113
|
+
"""
|
|
114
|
+
if entity_ids is not None:
|
|
115
|
+
pulumi.set(__self__, "entity_ids", entity_ids)
|
|
116
|
+
if group_ids is not None:
|
|
117
|
+
pulumi.set(__self__, "group_ids", group_ids)
|
|
118
|
+
if name is not None:
|
|
119
|
+
pulumi.set(__self__, "name", name)
|
|
120
|
+
if namespace is not None:
|
|
121
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
122
|
+
|
|
123
|
+
@_builtins.property
|
|
124
|
+
@pulumi.getter(name="entityIds")
|
|
125
|
+
def entity_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
126
|
+
"""
|
|
127
|
+
A set of Vault entity IDs.
|
|
128
|
+
"""
|
|
129
|
+
return pulumi.get(self, "entity_ids")
|
|
130
|
+
|
|
131
|
+
@entity_ids.setter
|
|
132
|
+
def entity_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
133
|
+
pulumi.set(self, "entity_ids", value)
|
|
134
|
+
|
|
135
|
+
@_builtins.property
|
|
136
|
+
@pulumi.getter(name="groupIds")
|
|
137
|
+
def group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
138
|
+
"""
|
|
139
|
+
A set of Vault group IDs.
|
|
140
|
+
"""
|
|
141
|
+
return pulumi.get(self, "group_ids")
|
|
142
|
+
|
|
143
|
+
@group_ids.setter
|
|
144
|
+
def group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
145
|
+
pulumi.set(self, "group_ids", value)
|
|
146
|
+
|
|
147
|
+
@_builtins.property
|
|
148
|
+
@pulumi.getter
|
|
149
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
150
|
+
"""
|
|
151
|
+
The name of the assignment.
|
|
152
|
+
"""
|
|
153
|
+
return pulumi.get(self, "name")
|
|
154
|
+
|
|
155
|
+
@name.setter
|
|
156
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
157
|
+
pulumi.set(self, "name", value)
|
|
158
|
+
|
|
159
|
+
@_builtins.property
|
|
160
|
+
@pulumi.getter
|
|
161
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
162
|
+
"""
|
|
163
|
+
The namespace to provision the resource in.
|
|
164
|
+
The value should not contain leading or trailing forward slashes.
|
|
165
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
166
|
+
*Available only for Vault Enterprise*.
|
|
167
|
+
"""
|
|
168
|
+
return pulumi.get(self, "namespace")
|
|
169
|
+
|
|
170
|
+
@namespace.setter
|
|
171
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
172
|
+
pulumi.set(self, "namespace", value)
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
@pulumi.type_token("vault:identity/oidcAssignment:OidcAssignment")
|
|
176
|
+
class OidcAssignment(pulumi.CustomResource):
|
|
177
|
+
@overload
|
|
178
|
+
def __init__(__self__,
|
|
179
|
+
resource_name: str,
|
|
180
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
181
|
+
entity_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
182
|
+
group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
183
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
184
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
185
|
+
__props__=None):
|
|
186
|
+
"""
|
|
187
|
+
Manages OIDC Assignments in a Vault server. See the [Vault documentation](https://www.vaultproject.io/api-docs/secret/identity/oidc-provider#create-or-update-an-assignment)
|
|
188
|
+
for more information.
|
|
189
|
+
|
|
190
|
+
## Example Usage
|
|
191
|
+
|
|
192
|
+
```python
|
|
193
|
+
import pulumi
|
|
194
|
+
import pulumi_vault as vault
|
|
195
|
+
|
|
196
|
+
internal = vault.identity.Group("internal",
|
|
197
|
+
name="internal",
|
|
198
|
+
type="internal",
|
|
199
|
+
policies=[
|
|
200
|
+
"dev",
|
|
201
|
+
"test",
|
|
202
|
+
])
|
|
203
|
+
test = vault.identity.Entity("test",
|
|
204
|
+
name="test",
|
|
205
|
+
policies=["test"])
|
|
206
|
+
default = vault.identity.OidcAssignment("default",
|
|
207
|
+
name="assignment",
|
|
208
|
+
entity_ids=[test.id],
|
|
209
|
+
group_ids=[internal.id])
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## Import
|
|
213
|
+
|
|
214
|
+
OIDC Assignments can be imported using the `name`, e.g.
|
|
215
|
+
|
|
216
|
+
```sh
|
|
217
|
+
$ pulumi import vault:identity/oidcAssignment:OidcAssignment default assignment
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
:param str resource_name: The name of the resource.
|
|
221
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
222
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] entity_ids: A set of Vault entity IDs.
|
|
223
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] group_ids: A set of Vault group IDs.
|
|
224
|
+
:param pulumi.Input[_builtins.str] name: The name of the assignment.
|
|
225
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
226
|
+
The value should not contain leading or trailing forward slashes.
|
|
227
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
228
|
+
*Available only for Vault Enterprise*.
|
|
229
|
+
"""
|
|
230
|
+
...
|
|
231
|
+
@overload
|
|
232
|
+
def __init__(__self__,
|
|
233
|
+
resource_name: str,
|
|
234
|
+
args: Optional[OidcAssignmentArgs] = None,
|
|
235
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
236
|
+
"""
|
|
237
|
+
Manages OIDC Assignments in a Vault server. See the [Vault documentation](https://www.vaultproject.io/api-docs/secret/identity/oidc-provider#create-or-update-an-assignment)
|
|
238
|
+
for more information.
|
|
239
|
+
|
|
240
|
+
## Example Usage
|
|
241
|
+
|
|
242
|
+
```python
|
|
243
|
+
import pulumi
|
|
244
|
+
import pulumi_vault as vault
|
|
245
|
+
|
|
246
|
+
internal = vault.identity.Group("internal",
|
|
247
|
+
name="internal",
|
|
248
|
+
type="internal",
|
|
249
|
+
policies=[
|
|
250
|
+
"dev",
|
|
251
|
+
"test",
|
|
252
|
+
])
|
|
253
|
+
test = vault.identity.Entity("test",
|
|
254
|
+
name="test",
|
|
255
|
+
policies=["test"])
|
|
256
|
+
default = vault.identity.OidcAssignment("default",
|
|
257
|
+
name="assignment",
|
|
258
|
+
entity_ids=[test.id],
|
|
259
|
+
group_ids=[internal.id])
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
## Import
|
|
263
|
+
|
|
264
|
+
OIDC Assignments can be imported using the `name`, e.g.
|
|
265
|
+
|
|
266
|
+
```sh
|
|
267
|
+
$ pulumi import vault:identity/oidcAssignment:OidcAssignment default assignment
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
:param str resource_name: The name of the resource.
|
|
271
|
+
:param OidcAssignmentArgs args: The arguments to use to populate this resource's properties.
|
|
272
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
273
|
+
"""
|
|
274
|
+
...
|
|
275
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
276
|
+
resource_args, opts = _utilities.get_resource_args_opts(OidcAssignmentArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
277
|
+
if resource_args is not None:
|
|
278
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
279
|
+
else:
|
|
280
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
281
|
+
|
|
282
|
+
def _internal_init(__self__,
|
|
283
|
+
resource_name: str,
|
|
284
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
285
|
+
entity_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
286
|
+
group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
287
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
288
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
289
|
+
__props__=None):
|
|
290
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
291
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
292
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
293
|
+
if opts.id is None:
|
|
294
|
+
if __props__ is not None:
|
|
295
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
296
|
+
__props__ = OidcAssignmentArgs.__new__(OidcAssignmentArgs)
|
|
297
|
+
|
|
298
|
+
__props__.__dict__["entity_ids"] = entity_ids
|
|
299
|
+
__props__.__dict__["group_ids"] = group_ids
|
|
300
|
+
__props__.__dict__["name"] = name
|
|
301
|
+
__props__.__dict__["namespace"] = namespace
|
|
302
|
+
super(OidcAssignment, __self__).__init__(
|
|
303
|
+
'vault:identity/oidcAssignment:OidcAssignment',
|
|
304
|
+
resource_name,
|
|
305
|
+
__props__,
|
|
306
|
+
opts)
|
|
307
|
+
|
|
308
|
+
@staticmethod
|
|
309
|
+
def get(resource_name: str,
|
|
310
|
+
id: pulumi.Input[str],
|
|
311
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
312
|
+
entity_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
313
|
+
group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
314
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
315
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None) -> 'OidcAssignment':
|
|
316
|
+
"""
|
|
317
|
+
Get an existing OidcAssignment resource's state with the given name, id, and optional extra
|
|
318
|
+
properties used to qualify the lookup.
|
|
319
|
+
|
|
320
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
321
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
322
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
323
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] entity_ids: A set of Vault entity IDs.
|
|
324
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] group_ids: A set of Vault group IDs.
|
|
325
|
+
:param pulumi.Input[_builtins.str] name: The name of the assignment.
|
|
326
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
327
|
+
The value should not contain leading or trailing forward slashes.
|
|
328
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
329
|
+
*Available only for Vault Enterprise*.
|
|
330
|
+
"""
|
|
331
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
332
|
+
|
|
333
|
+
__props__ = _OidcAssignmentState.__new__(_OidcAssignmentState)
|
|
334
|
+
|
|
335
|
+
__props__.__dict__["entity_ids"] = entity_ids
|
|
336
|
+
__props__.__dict__["group_ids"] = group_ids
|
|
337
|
+
__props__.__dict__["name"] = name
|
|
338
|
+
__props__.__dict__["namespace"] = namespace
|
|
339
|
+
return OidcAssignment(resource_name, opts=opts, __props__=__props__)
|
|
340
|
+
|
|
341
|
+
@_builtins.property
|
|
342
|
+
@pulumi.getter(name="entityIds")
|
|
343
|
+
def entity_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
344
|
+
"""
|
|
345
|
+
A set of Vault entity IDs.
|
|
346
|
+
"""
|
|
347
|
+
return pulumi.get(self, "entity_ids")
|
|
348
|
+
|
|
349
|
+
@_builtins.property
|
|
350
|
+
@pulumi.getter(name="groupIds")
|
|
351
|
+
def group_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
352
|
+
"""
|
|
353
|
+
A set of Vault group IDs.
|
|
354
|
+
"""
|
|
355
|
+
return pulumi.get(self, "group_ids")
|
|
356
|
+
|
|
357
|
+
@_builtins.property
|
|
358
|
+
@pulumi.getter
|
|
359
|
+
def name(self) -> pulumi.Output[_builtins.str]:
|
|
360
|
+
"""
|
|
361
|
+
The name of the assignment.
|
|
362
|
+
"""
|
|
363
|
+
return pulumi.get(self, "name")
|
|
364
|
+
|
|
365
|
+
@_builtins.property
|
|
366
|
+
@pulumi.getter
|
|
367
|
+
def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
368
|
+
"""
|
|
369
|
+
The namespace to provision the resource in.
|
|
370
|
+
The value should not contain leading or trailing forward slashes.
|
|
371
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
372
|
+
*Available only for Vault Enterprise*.
|
|
373
|
+
"""
|
|
374
|
+
return pulumi.get(self, "namespace")
|
|
375
|
+
|