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,1202 @@
|
|
|
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__ = ['SecretBackendKeyArgs', 'SecretBackendKey']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class SecretBackendKeyArgs:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
backend: pulumi.Input[_builtins.str],
|
|
23
|
+
allow_plaintext_backup: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
24
|
+
auto_rotate_period: Optional[pulumi.Input[_builtins.int]] = None,
|
|
25
|
+
convergent_encryption: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
26
|
+
deletion_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
27
|
+
derived: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
28
|
+
exportable: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
29
|
+
hybrid_key_type_ec: Optional[pulumi.Input[_builtins.str]] = None,
|
|
30
|
+
hybrid_key_type_pqc: Optional[pulumi.Input[_builtins.str]] = None,
|
|
31
|
+
key_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
32
|
+
min_decryption_version: Optional[pulumi.Input[_builtins.int]] = None,
|
|
33
|
+
min_encryption_version: Optional[pulumi.Input[_builtins.int]] = None,
|
|
34
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
35
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
36
|
+
parameter_set: Optional[pulumi.Input[_builtins.str]] = None,
|
|
37
|
+
type: Optional[pulumi.Input[_builtins.str]] = None):
|
|
38
|
+
"""
|
|
39
|
+
The set of arguments for constructing a SecretBackendKey resource.
|
|
40
|
+
:param pulumi.Input[_builtins.str] backend: The path the transit secret backend is mounted at, with no leading or trailing `/`s.
|
|
41
|
+
:param pulumi.Input[_builtins.bool] allow_plaintext_backup: Enables taking backup of entire keyring in the plaintext format. Once set, this cannot be disabled.
|
|
42
|
+
* Refer to Vault API documentation on key backups for more information: [Backup Key](https://www.vaultproject.io/api-docs/secret/transit#backup-key)
|
|
43
|
+
:param pulumi.Input[_builtins.int] auto_rotate_period: Amount of seconds the key should live before being automatically rotated.
|
|
44
|
+
A value of 0 disables automatic rotation for the key.
|
|
45
|
+
:param pulumi.Input[_builtins.bool] convergent_encryption: Whether or not to support convergent encryption, where the same plaintext creates the same ciphertext. This requires `derived` to be set to `true`.
|
|
46
|
+
:param pulumi.Input[_builtins.bool] deletion_allowed: Specifies if the key is allowed to be deleted.
|
|
47
|
+
:param pulumi.Input[_builtins.bool] derived: Specifies if key derivation is to be used. If enabled, all encrypt/decrypt requests to this key must provide a context which is used for key derivation.
|
|
48
|
+
:param pulumi.Input[_builtins.bool] exportable: Enables keys to be exportable. This allows for all valid private keys in the keyring to be exported. Once set, this cannot be disabled.
|
|
49
|
+
:param pulumi.Input[_builtins.str] hybrid_key_type_ec: The elliptic curve algorithm to use for hybrid signatures.
|
|
50
|
+
Supported key types are `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, and `ed25519`.
|
|
51
|
+
:param pulumi.Input[_builtins.str] hybrid_key_type_pqc: The post-quantum algorithm to use for hybrid signatures.
|
|
52
|
+
Currently, ML-DSA is the only supported key type.
|
|
53
|
+
:param pulumi.Input[_builtins.int] key_size: The key size in bytes for algorithms that allow variable key sizes. Currently only applicable to HMAC, where it must be between 32 and 512 bytes.
|
|
54
|
+
:param pulumi.Input[_builtins.int] min_decryption_version: Minimum key version to use for decryption.
|
|
55
|
+
:param pulumi.Input[_builtins.int] min_encryption_version: Minimum key version to use for encryption
|
|
56
|
+
:param pulumi.Input[_builtins.str] name: The name to identify this key within the backend. Must be unique within the backend.
|
|
57
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
58
|
+
The value should not contain leading or trailing forward slashes.
|
|
59
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
60
|
+
*Available only for Vault Enterprise*.
|
|
61
|
+
:param pulumi.Input[_builtins.str] parameter_set: The parameter set to use for ML-DSA or SLH-DSA. Required for
|
|
62
|
+
ML-DSA, hybrid, and SLH-DSA keys.
|
|
63
|
+
Valid values for ML-DSA are `44`, `65`, and `87`.
|
|
64
|
+
Valid values for SLH-DSA are `slh-dsa-sha2-128s`, `slh-dsa-shake-128s`, `slh-dsa-sha2-128f`, `slh-dsa-shake-128`, `slh-dsa-sha2-192s`,
|
|
65
|
+
`slh-dsa-shake-192s`, `slh-dsa-sha2-192f`, `slh-dsa-shake-192f`, `slh-dsa-sha2-256s`, `slh-dsa-shake-256s`,
|
|
66
|
+
`slh-dsa-sha2-256f`, and `slh-dsa-shake-256f`.
|
|
67
|
+
:param pulumi.Input[_builtins.str] type: Specifies the type of key to create. The currently-supported types are: `aes128-gcm96`, `aes256-gcm96` (default), `chacha20-poly1305`, `ed25519`, `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, `hmac`, `rsa-2048`, `rsa-3072`, `rsa-4096`, `managed_key`, `aes128-cmac`, `aes192-cmac`, `aes256-cmac`, `ml-dsa`, `hybrid`, and `slh-dsa`.
|
|
68
|
+
* Refer to the Vault documentation on transit key types for more information: [Key Types](https://www.vaultproject.io/docs/secrets/transit#key-types)
|
|
69
|
+
"""
|
|
70
|
+
pulumi.set(__self__, "backend", backend)
|
|
71
|
+
if allow_plaintext_backup is not None:
|
|
72
|
+
pulumi.set(__self__, "allow_plaintext_backup", allow_plaintext_backup)
|
|
73
|
+
if auto_rotate_period is not None:
|
|
74
|
+
pulumi.set(__self__, "auto_rotate_period", auto_rotate_period)
|
|
75
|
+
if convergent_encryption is not None:
|
|
76
|
+
pulumi.set(__self__, "convergent_encryption", convergent_encryption)
|
|
77
|
+
if deletion_allowed is not None:
|
|
78
|
+
pulumi.set(__self__, "deletion_allowed", deletion_allowed)
|
|
79
|
+
if derived is not None:
|
|
80
|
+
pulumi.set(__self__, "derived", derived)
|
|
81
|
+
if exportable is not None:
|
|
82
|
+
pulumi.set(__self__, "exportable", exportable)
|
|
83
|
+
if hybrid_key_type_ec is not None:
|
|
84
|
+
pulumi.set(__self__, "hybrid_key_type_ec", hybrid_key_type_ec)
|
|
85
|
+
if hybrid_key_type_pqc is not None:
|
|
86
|
+
pulumi.set(__self__, "hybrid_key_type_pqc", hybrid_key_type_pqc)
|
|
87
|
+
if key_size is not None:
|
|
88
|
+
pulumi.set(__self__, "key_size", key_size)
|
|
89
|
+
if min_decryption_version is not None:
|
|
90
|
+
pulumi.set(__self__, "min_decryption_version", min_decryption_version)
|
|
91
|
+
if min_encryption_version is not None:
|
|
92
|
+
pulumi.set(__self__, "min_encryption_version", min_encryption_version)
|
|
93
|
+
if name is not None:
|
|
94
|
+
pulumi.set(__self__, "name", name)
|
|
95
|
+
if namespace is not None:
|
|
96
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
97
|
+
if parameter_set is not None:
|
|
98
|
+
pulumi.set(__self__, "parameter_set", parameter_set)
|
|
99
|
+
if type is not None:
|
|
100
|
+
pulumi.set(__self__, "type", type)
|
|
101
|
+
|
|
102
|
+
@_builtins.property
|
|
103
|
+
@pulumi.getter
|
|
104
|
+
def backend(self) -> pulumi.Input[_builtins.str]:
|
|
105
|
+
"""
|
|
106
|
+
The path the transit secret backend is mounted at, with no leading or trailing `/`s.
|
|
107
|
+
"""
|
|
108
|
+
return pulumi.get(self, "backend")
|
|
109
|
+
|
|
110
|
+
@backend.setter
|
|
111
|
+
def backend(self, value: pulumi.Input[_builtins.str]):
|
|
112
|
+
pulumi.set(self, "backend", value)
|
|
113
|
+
|
|
114
|
+
@_builtins.property
|
|
115
|
+
@pulumi.getter(name="allowPlaintextBackup")
|
|
116
|
+
def allow_plaintext_backup(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
117
|
+
"""
|
|
118
|
+
Enables taking backup of entire keyring in the plaintext format. Once set, this cannot be disabled.
|
|
119
|
+
* Refer to Vault API documentation on key backups for more information: [Backup Key](https://www.vaultproject.io/api-docs/secret/transit#backup-key)
|
|
120
|
+
"""
|
|
121
|
+
return pulumi.get(self, "allow_plaintext_backup")
|
|
122
|
+
|
|
123
|
+
@allow_plaintext_backup.setter
|
|
124
|
+
def allow_plaintext_backup(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
125
|
+
pulumi.set(self, "allow_plaintext_backup", value)
|
|
126
|
+
|
|
127
|
+
@_builtins.property
|
|
128
|
+
@pulumi.getter(name="autoRotatePeriod")
|
|
129
|
+
def auto_rotate_period(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
130
|
+
"""
|
|
131
|
+
Amount of seconds the key should live before being automatically rotated.
|
|
132
|
+
A value of 0 disables automatic rotation for the key.
|
|
133
|
+
"""
|
|
134
|
+
return pulumi.get(self, "auto_rotate_period")
|
|
135
|
+
|
|
136
|
+
@auto_rotate_period.setter
|
|
137
|
+
def auto_rotate_period(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
138
|
+
pulumi.set(self, "auto_rotate_period", value)
|
|
139
|
+
|
|
140
|
+
@_builtins.property
|
|
141
|
+
@pulumi.getter(name="convergentEncryption")
|
|
142
|
+
def convergent_encryption(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
143
|
+
"""
|
|
144
|
+
Whether or not to support convergent encryption, where the same plaintext creates the same ciphertext. This requires `derived` to be set to `true`.
|
|
145
|
+
"""
|
|
146
|
+
return pulumi.get(self, "convergent_encryption")
|
|
147
|
+
|
|
148
|
+
@convergent_encryption.setter
|
|
149
|
+
def convergent_encryption(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
150
|
+
pulumi.set(self, "convergent_encryption", value)
|
|
151
|
+
|
|
152
|
+
@_builtins.property
|
|
153
|
+
@pulumi.getter(name="deletionAllowed")
|
|
154
|
+
def deletion_allowed(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
155
|
+
"""
|
|
156
|
+
Specifies if the key is allowed to be deleted.
|
|
157
|
+
"""
|
|
158
|
+
return pulumi.get(self, "deletion_allowed")
|
|
159
|
+
|
|
160
|
+
@deletion_allowed.setter
|
|
161
|
+
def deletion_allowed(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
162
|
+
pulumi.set(self, "deletion_allowed", value)
|
|
163
|
+
|
|
164
|
+
@_builtins.property
|
|
165
|
+
@pulumi.getter
|
|
166
|
+
def derived(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
167
|
+
"""
|
|
168
|
+
Specifies if key derivation is to be used. If enabled, all encrypt/decrypt requests to this key must provide a context which is used for key derivation.
|
|
169
|
+
"""
|
|
170
|
+
return pulumi.get(self, "derived")
|
|
171
|
+
|
|
172
|
+
@derived.setter
|
|
173
|
+
def derived(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
174
|
+
pulumi.set(self, "derived", value)
|
|
175
|
+
|
|
176
|
+
@_builtins.property
|
|
177
|
+
@pulumi.getter
|
|
178
|
+
def exportable(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
179
|
+
"""
|
|
180
|
+
Enables keys to be exportable. This allows for all valid private keys in the keyring to be exported. Once set, this cannot be disabled.
|
|
181
|
+
"""
|
|
182
|
+
return pulumi.get(self, "exportable")
|
|
183
|
+
|
|
184
|
+
@exportable.setter
|
|
185
|
+
def exportable(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
186
|
+
pulumi.set(self, "exportable", value)
|
|
187
|
+
|
|
188
|
+
@_builtins.property
|
|
189
|
+
@pulumi.getter(name="hybridKeyTypeEc")
|
|
190
|
+
def hybrid_key_type_ec(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
191
|
+
"""
|
|
192
|
+
The elliptic curve algorithm to use for hybrid signatures.
|
|
193
|
+
Supported key types are `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, and `ed25519`.
|
|
194
|
+
"""
|
|
195
|
+
return pulumi.get(self, "hybrid_key_type_ec")
|
|
196
|
+
|
|
197
|
+
@hybrid_key_type_ec.setter
|
|
198
|
+
def hybrid_key_type_ec(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
199
|
+
pulumi.set(self, "hybrid_key_type_ec", value)
|
|
200
|
+
|
|
201
|
+
@_builtins.property
|
|
202
|
+
@pulumi.getter(name="hybridKeyTypePqc")
|
|
203
|
+
def hybrid_key_type_pqc(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
204
|
+
"""
|
|
205
|
+
The post-quantum algorithm to use for hybrid signatures.
|
|
206
|
+
Currently, ML-DSA is the only supported key type.
|
|
207
|
+
"""
|
|
208
|
+
return pulumi.get(self, "hybrid_key_type_pqc")
|
|
209
|
+
|
|
210
|
+
@hybrid_key_type_pqc.setter
|
|
211
|
+
def hybrid_key_type_pqc(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
212
|
+
pulumi.set(self, "hybrid_key_type_pqc", value)
|
|
213
|
+
|
|
214
|
+
@_builtins.property
|
|
215
|
+
@pulumi.getter(name="keySize")
|
|
216
|
+
def key_size(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
217
|
+
"""
|
|
218
|
+
The key size in bytes for algorithms that allow variable key sizes. Currently only applicable to HMAC, where it must be between 32 and 512 bytes.
|
|
219
|
+
"""
|
|
220
|
+
return pulumi.get(self, "key_size")
|
|
221
|
+
|
|
222
|
+
@key_size.setter
|
|
223
|
+
def key_size(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
224
|
+
pulumi.set(self, "key_size", value)
|
|
225
|
+
|
|
226
|
+
@_builtins.property
|
|
227
|
+
@pulumi.getter(name="minDecryptionVersion")
|
|
228
|
+
def min_decryption_version(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
229
|
+
"""
|
|
230
|
+
Minimum key version to use for decryption.
|
|
231
|
+
"""
|
|
232
|
+
return pulumi.get(self, "min_decryption_version")
|
|
233
|
+
|
|
234
|
+
@min_decryption_version.setter
|
|
235
|
+
def min_decryption_version(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
236
|
+
pulumi.set(self, "min_decryption_version", value)
|
|
237
|
+
|
|
238
|
+
@_builtins.property
|
|
239
|
+
@pulumi.getter(name="minEncryptionVersion")
|
|
240
|
+
def min_encryption_version(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
241
|
+
"""
|
|
242
|
+
Minimum key version to use for encryption
|
|
243
|
+
"""
|
|
244
|
+
return pulumi.get(self, "min_encryption_version")
|
|
245
|
+
|
|
246
|
+
@min_encryption_version.setter
|
|
247
|
+
def min_encryption_version(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
248
|
+
pulumi.set(self, "min_encryption_version", value)
|
|
249
|
+
|
|
250
|
+
@_builtins.property
|
|
251
|
+
@pulumi.getter
|
|
252
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
253
|
+
"""
|
|
254
|
+
The name to identify this key within the backend. Must be unique within the backend.
|
|
255
|
+
"""
|
|
256
|
+
return pulumi.get(self, "name")
|
|
257
|
+
|
|
258
|
+
@name.setter
|
|
259
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
260
|
+
pulumi.set(self, "name", value)
|
|
261
|
+
|
|
262
|
+
@_builtins.property
|
|
263
|
+
@pulumi.getter
|
|
264
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
265
|
+
"""
|
|
266
|
+
The namespace to provision the resource in.
|
|
267
|
+
The value should not contain leading or trailing forward slashes.
|
|
268
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
269
|
+
*Available only for Vault Enterprise*.
|
|
270
|
+
"""
|
|
271
|
+
return pulumi.get(self, "namespace")
|
|
272
|
+
|
|
273
|
+
@namespace.setter
|
|
274
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
275
|
+
pulumi.set(self, "namespace", value)
|
|
276
|
+
|
|
277
|
+
@_builtins.property
|
|
278
|
+
@pulumi.getter(name="parameterSet")
|
|
279
|
+
def parameter_set(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
280
|
+
"""
|
|
281
|
+
The parameter set to use for ML-DSA or SLH-DSA. Required for
|
|
282
|
+
ML-DSA, hybrid, and SLH-DSA keys.
|
|
283
|
+
Valid values for ML-DSA are `44`, `65`, and `87`.
|
|
284
|
+
Valid values for SLH-DSA are `slh-dsa-sha2-128s`, `slh-dsa-shake-128s`, `slh-dsa-sha2-128f`, `slh-dsa-shake-128`, `slh-dsa-sha2-192s`,
|
|
285
|
+
`slh-dsa-shake-192s`, `slh-dsa-sha2-192f`, `slh-dsa-shake-192f`, `slh-dsa-sha2-256s`, `slh-dsa-shake-256s`,
|
|
286
|
+
`slh-dsa-sha2-256f`, and `slh-dsa-shake-256f`.
|
|
287
|
+
"""
|
|
288
|
+
return pulumi.get(self, "parameter_set")
|
|
289
|
+
|
|
290
|
+
@parameter_set.setter
|
|
291
|
+
def parameter_set(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
292
|
+
pulumi.set(self, "parameter_set", value)
|
|
293
|
+
|
|
294
|
+
@_builtins.property
|
|
295
|
+
@pulumi.getter
|
|
296
|
+
def type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
297
|
+
"""
|
|
298
|
+
Specifies the type of key to create. The currently-supported types are: `aes128-gcm96`, `aes256-gcm96` (default), `chacha20-poly1305`, `ed25519`, `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, `hmac`, `rsa-2048`, `rsa-3072`, `rsa-4096`, `managed_key`, `aes128-cmac`, `aes192-cmac`, `aes256-cmac`, `ml-dsa`, `hybrid`, and `slh-dsa`.
|
|
299
|
+
* Refer to the Vault documentation on transit key types for more information: [Key Types](https://www.vaultproject.io/docs/secrets/transit#key-types)
|
|
300
|
+
"""
|
|
301
|
+
return pulumi.get(self, "type")
|
|
302
|
+
|
|
303
|
+
@type.setter
|
|
304
|
+
def type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
305
|
+
pulumi.set(self, "type", value)
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
@pulumi.input_type
|
|
309
|
+
class _SecretBackendKeyState:
|
|
310
|
+
def __init__(__self__, *,
|
|
311
|
+
allow_plaintext_backup: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
312
|
+
auto_rotate_period: Optional[pulumi.Input[_builtins.int]] = None,
|
|
313
|
+
backend: Optional[pulumi.Input[_builtins.str]] = None,
|
|
314
|
+
convergent_encryption: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
315
|
+
deletion_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
316
|
+
derived: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
317
|
+
exportable: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
318
|
+
hybrid_key_type_ec: Optional[pulumi.Input[_builtins.str]] = None,
|
|
319
|
+
hybrid_key_type_pqc: Optional[pulumi.Input[_builtins.str]] = None,
|
|
320
|
+
key_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
321
|
+
keys: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]]] = None,
|
|
322
|
+
latest_version: Optional[pulumi.Input[_builtins.int]] = None,
|
|
323
|
+
min_available_version: Optional[pulumi.Input[_builtins.int]] = None,
|
|
324
|
+
min_decryption_version: Optional[pulumi.Input[_builtins.int]] = None,
|
|
325
|
+
min_encryption_version: Optional[pulumi.Input[_builtins.int]] = None,
|
|
326
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
327
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
328
|
+
parameter_set: Optional[pulumi.Input[_builtins.str]] = None,
|
|
329
|
+
supports_decryption: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
330
|
+
supports_derivation: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
331
|
+
supports_encryption: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
332
|
+
supports_signing: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
333
|
+
type: Optional[pulumi.Input[_builtins.str]] = None):
|
|
334
|
+
"""
|
|
335
|
+
Input properties used for looking up and filtering SecretBackendKey resources.
|
|
336
|
+
:param pulumi.Input[_builtins.bool] allow_plaintext_backup: Enables taking backup of entire keyring in the plaintext format. Once set, this cannot be disabled.
|
|
337
|
+
* Refer to Vault API documentation on key backups for more information: [Backup Key](https://www.vaultproject.io/api-docs/secret/transit#backup-key)
|
|
338
|
+
:param pulumi.Input[_builtins.int] auto_rotate_period: Amount of seconds the key should live before being automatically rotated.
|
|
339
|
+
A value of 0 disables automatic rotation for the key.
|
|
340
|
+
:param pulumi.Input[_builtins.str] backend: The path the transit secret backend is mounted at, with no leading or trailing `/`s.
|
|
341
|
+
:param pulumi.Input[_builtins.bool] convergent_encryption: Whether or not to support convergent encryption, where the same plaintext creates the same ciphertext. This requires `derived` to be set to `true`.
|
|
342
|
+
:param pulumi.Input[_builtins.bool] deletion_allowed: Specifies if the key is allowed to be deleted.
|
|
343
|
+
:param pulumi.Input[_builtins.bool] derived: Specifies if key derivation is to be used. If enabled, all encrypt/decrypt requests to this key must provide a context which is used for key derivation.
|
|
344
|
+
:param pulumi.Input[_builtins.bool] exportable: Enables keys to be exportable. This allows for all valid private keys in the keyring to be exported. Once set, this cannot be disabled.
|
|
345
|
+
:param pulumi.Input[_builtins.str] hybrid_key_type_ec: The elliptic curve algorithm to use for hybrid signatures.
|
|
346
|
+
Supported key types are `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, and `ed25519`.
|
|
347
|
+
:param pulumi.Input[_builtins.str] hybrid_key_type_pqc: The post-quantum algorithm to use for hybrid signatures.
|
|
348
|
+
Currently, ML-DSA is the only supported key type.
|
|
349
|
+
:param pulumi.Input[_builtins.int] key_size: The key size in bytes for algorithms that allow variable key sizes. Currently only applicable to HMAC, where it must be between 32 and 512 bytes.
|
|
350
|
+
:param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]] keys: List of key versions in the keyring. This attribute is zero-indexed and will contain a map of values depending on the `type` of the encryption key.
|
|
351
|
+
* for key types `aes128-gcm96`, `aes256-gcm96` and `chacha20-poly1305`, each key version will be a map of a single value `id` which is just a hash of the key's metadata.
|
|
352
|
+
* for key types `ed25519`, `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, `rsa-2048`, `rsa-3072` and `rsa-4096`, each key version will be a map of the following:
|
|
353
|
+
:param pulumi.Input[_builtins.int] latest_version: Latest key version available. This value is 1-indexed, so if `latest_version` is `1`, then the key's information can be referenced from `keys` by selecting element `0`
|
|
354
|
+
:param pulumi.Input[_builtins.int] min_available_version: Minimum key version available for use. If keys have been archived by increasing `min_decryption_version`, this attribute will reflect that change.
|
|
355
|
+
:param pulumi.Input[_builtins.int] min_decryption_version: Minimum key version to use for decryption.
|
|
356
|
+
:param pulumi.Input[_builtins.int] min_encryption_version: Minimum key version to use for encryption
|
|
357
|
+
:param pulumi.Input[_builtins.str] name: The name to identify this key within the backend. Must be unique within the backend.
|
|
358
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
359
|
+
The value should not contain leading or trailing forward slashes.
|
|
360
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
361
|
+
*Available only for Vault Enterprise*.
|
|
362
|
+
:param pulumi.Input[_builtins.str] parameter_set: The parameter set to use for ML-DSA or SLH-DSA. Required for
|
|
363
|
+
ML-DSA, hybrid, and SLH-DSA keys.
|
|
364
|
+
Valid values for ML-DSA are `44`, `65`, and `87`.
|
|
365
|
+
Valid values for SLH-DSA are `slh-dsa-sha2-128s`, `slh-dsa-shake-128s`, `slh-dsa-sha2-128f`, `slh-dsa-shake-128`, `slh-dsa-sha2-192s`,
|
|
366
|
+
`slh-dsa-shake-192s`, `slh-dsa-sha2-192f`, `slh-dsa-shake-192f`, `slh-dsa-sha2-256s`, `slh-dsa-shake-256s`,
|
|
367
|
+
`slh-dsa-sha2-256f`, and `slh-dsa-shake-256f`.
|
|
368
|
+
:param pulumi.Input[_builtins.bool] supports_decryption: Whether or not the key supports decryption, based on key type.
|
|
369
|
+
:param pulumi.Input[_builtins.bool] supports_derivation: Whether or not the key supports derivation, based on key type.
|
|
370
|
+
:param pulumi.Input[_builtins.bool] supports_encryption: Whether or not the key supports encryption, based on key type.
|
|
371
|
+
:param pulumi.Input[_builtins.bool] supports_signing: Whether or not the key supports signing, based on key type.
|
|
372
|
+
:param pulumi.Input[_builtins.str] type: Specifies the type of key to create. The currently-supported types are: `aes128-gcm96`, `aes256-gcm96` (default), `chacha20-poly1305`, `ed25519`, `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, `hmac`, `rsa-2048`, `rsa-3072`, `rsa-4096`, `managed_key`, `aes128-cmac`, `aes192-cmac`, `aes256-cmac`, `ml-dsa`, `hybrid`, and `slh-dsa`.
|
|
373
|
+
* Refer to the Vault documentation on transit key types for more information: [Key Types](https://www.vaultproject.io/docs/secrets/transit#key-types)
|
|
374
|
+
"""
|
|
375
|
+
if allow_plaintext_backup is not None:
|
|
376
|
+
pulumi.set(__self__, "allow_plaintext_backup", allow_plaintext_backup)
|
|
377
|
+
if auto_rotate_period is not None:
|
|
378
|
+
pulumi.set(__self__, "auto_rotate_period", auto_rotate_period)
|
|
379
|
+
if backend is not None:
|
|
380
|
+
pulumi.set(__self__, "backend", backend)
|
|
381
|
+
if convergent_encryption is not None:
|
|
382
|
+
pulumi.set(__self__, "convergent_encryption", convergent_encryption)
|
|
383
|
+
if deletion_allowed is not None:
|
|
384
|
+
pulumi.set(__self__, "deletion_allowed", deletion_allowed)
|
|
385
|
+
if derived is not None:
|
|
386
|
+
pulumi.set(__self__, "derived", derived)
|
|
387
|
+
if exportable is not None:
|
|
388
|
+
pulumi.set(__self__, "exportable", exportable)
|
|
389
|
+
if hybrid_key_type_ec is not None:
|
|
390
|
+
pulumi.set(__self__, "hybrid_key_type_ec", hybrid_key_type_ec)
|
|
391
|
+
if hybrid_key_type_pqc is not None:
|
|
392
|
+
pulumi.set(__self__, "hybrid_key_type_pqc", hybrid_key_type_pqc)
|
|
393
|
+
if key_size is not None:
|
|
394
|
+
pulumi.set(__self__, "key_size", key_size)
|
|
395
|
+
if keys is not None:
|
|
396
|
+
pulumi.set(__self__, "keys", keys)
|
|
397
|
+
if latest_version is not None:
|
|
398
|
+
pulumi.set(__self__, "latest_version", latest_version)
|
|
399
|
+
if min_available_version is not None:
|
|
400
|
+
pulumi.set(__self__, "min_available_version", min_available_version)
|
|
401
|
+
if min_decryption_version is not None:
|
|
402
|
+
pulumi.set(__self__, "min_decryption_version", min_decryption_version)
|
|
403
|
+
if min_encryption_version is not None:
|
|
404
|
+
pulumi.set(__self__, "min_encryption_version", min_encryption_version)
|
|
405
|
+
if name is not None:
|
|
406
|
+
pulumi.set(__self__, "name", name)
|
|
407
|
+
if namespace is not None:
|
|
408
|
+
pulumi.set(__self__, "namespace", namespace)
|
|
409
|
+
if parameter_set is not None:
|
|
410
|
+
pulumi.set(__self__, "parameter_set", parameter_set)
|
|
411
|
+
if supports_decryption is not None:
|
|
412
|
+
pulumi.set(__self__, "supports_decryption", supports_decryption)
|
|
413
|
+
if supports_derivation is not None:
|
|
414
|
+
pulumi.set(__self__, "supports_derivation", supports_derivation)
|
|
415
|
+
if supports_encryption is not None:
|
|
416
|
+
pulumi.set(__self__, "supports_encryption", supports_encryption)
|
|
417
|
+
if supports_signing is not None:
|
|
418
|
+
pulumi.set(__self__, "supports_signing", supports_signing)
|
|
419
|
+
if type is not None:
|
|
420
|
+
pulumi.set(__self__, "type", type)
|
|
421
|
+
|
|
422
|
+
@_builtins.property
|
|
423
|
+
@pulumi.getter(name="allowPlaintextBackup")
|
|
424
|
+
def allow_plaintext_backup(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
425
|
+
"""
|
|
426
|
+
Enables taking backup of entire keyring in the plaintext format. Once set, this cannot be disabled.
|
|
427
|
+
* Refer to Vault API documentation on key backups for more information: [Backup Key](https://www.vaultproject.io/api-docs/secret/transit#backup-key)
|
|
428
|
+
"""
|
|
429
|
+
return pulumi.get(self, "allow_plaintext_backup")
|
|
430
|
+
|
|
431
|
+
@allow_plaintext_backup.setter
|
|
432
|
+
def allow_plaintext_backup(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
433
|
+
pulumi.set(self, "allow_plaintext_backup", value)
|
|
434
|
+
|
|
435
|
+
@_builtins.property
|
|
436
|
+
@pulumi.getter(name="autoRotatePeriod")
|
|
437
|
+
def auto_rotate_period(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
438
|
+
"""
|
|
439
|
+
Amount of seconds the key should live before being automatically rotated.
|
|
440
|
+
A value of 0 disables automatic rotation for the key.
|
|
441
|
+
"""
|
|
442
|
+
return pulumi.get(self, "auto_rotate_period")
|
|
443
|
+
|
|
444
|
+
@auto_rotate_period.setter
|
|
445
|
+
def auto_rotate_period(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
446
|
+
pulumi.set(self, "auto_rotate_period", value)
|
|
447
|
+
|
|
448
|
+
@_builtins.property
|
|
449
|
+
@pulumi.getter
|
|
450
|
+
def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
451
|
+
"""
|
|
452
|
+
The path the transit secret backend is mounted at, with no leading or trailing `/`s.
|
|
453
|
+
"""
|
|
454
|
+
return pulumi.get(self, "backend")
|
|
455
|
+
|
|
456
|
+
@backend.setter
|
|
457
|
+
def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
458
|
+
pulumi.set(self, "backend", value)
|
|
459
|
+
|
|
460
|
+
@_builtins.property
|
|
461
|
+
@pulumi.getter(name="convergentEncryption")
|
|
462
|
+
def convergent_encryption(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
463
|
+
"""
|
|
464
|
+
Whether or not to support convergent encryption, where the same plaintext creates the same ciphertext. This requires `derived` to be set to `true`.
|
|
465
|
+
"""
|
|
466
|
+
return pulumi.get(self, "convergent_encryption")
|
|
467
|
+
|
|
468
|
+
@convergent_encryption.setter
|
|
469
|
+
def convergent_encryption(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
470
|
+
pulumi.set(self, "convergent_encryption", value)
|
|
471
|
+
|
|
472
|
+
@_builtins.property
|
|
473
|
+
@pulumi.getter(name="deletionAllowed")
|
|
474
|
+
def deletion_allowed(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
475
|
+
"""
|
|
476
|
+
Specifies if the key is allowed to be deleted.
|
|
477
|
+
"""
|
|
478
|
+
return pulumi.get(self, "deletion_allowed")
|
|
479
|
+
|
|
480
|
+
@deletion_allowed.setter
|
|
481
|
+
def deletion_allowed(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
482
|
+
pulumi.set(self, "deletion_allowed", value)
|
|
483
|
+
|
|
484
|
+
@_builtins.property
|
|
485
|
+
@pulumi.getter
|
|
486
|
+
def derived(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
487
|
+
"""
|
|
488
|
+
Specifies if key derivation is to be used. If enabled, all encrypt/decrypt requests to this key must provide a context which is used for key derivation.
|
|
489
|
+
"""
|
|
490
|
+
return pulumi.get(self, "derived")
|
|
491
|
+
|
|
492
|
+
@derived.setter
|
|
493
|
+
def derived(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
494
|
+
pulumi.set(self, "derived", value)
|
|
495
|
+
|
|
496
|
+
@_builtins.property
|
|
497
|
+
@pulumi.getter
|
|
498
|
+
def exportable(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
499
|
+
"""
|
|
500
|
+
Enables keys to be exportable. This allows for all valid private keys in the keyring to be exported. Once set, this cannot be disabled.
|
|
501
|
+
"""
|
|
502
|
+
return pulumi.get(self, "exportable")
|
|
503
|
+
|
|
504
|
+
@exportable.setter
|
|
505
|
+
def exportable(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
506
|
+
pulumi.set(self, "exportable", value)
|
|
507
|
+
|
|
508
|
+
@_builtins.property
|
|
509
|
+
@pulumi.getter(name="hybridKeyTypeEc")
|
|
510
|
+
def hybrid_key_type_ec(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
511
|
+
"""
|
|
512
|
+
The elliptic curve algorithm to use for hybrid signatures.
|
|
513
|
+
Supported key types are `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, and `ed25519`.
|
|
514
|
+
"""
|
|
515
|
+
return pulumi.get(self, "hybrid_key_type_ec")
|
|
516
|
+
|
|
517
|
+
@hybrid_key_type_ec.setter
|
|
518
|
+
def hybrid_key_type_ec(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
519
|
+
pulumi.set(self, "hybrid_key_type_ec", value)
|
|
520
|
+
|
|
521
|
+
@_builtins.property
|
|
522
|
+
@pulumi.getter(name="hybridKeyTypePqc")
|
|
523
|
+
def hybrid_key_type_pqc(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
524
|
+
"""
|
|
525
|
+
The post-quantum algorithm to use for hybrid signatures.
|
|
526
|
+
Currently, ML-DSA is the only supported key type.
|
|
527
|
+
"""
|
|
528
|
+
return pulumi.get(self, "hybrid_key_type_pqc")
|
|
529
|
+
|
|
530
|
+
@hybrid_key_type_pqc.setter
|
|
531
|
+
def hybrid_key_type_pqc(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
532
|
+
pulumi.set(self, "hybrid_key_type_pqc", value)
|
|
533
|
+
|
|
534
|
+
@_builtins.property
|
|
535
|
+
@pulumi.getter(name="keySize")
|
|
536
|
+
def key_size(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
537
|
+
"""
|
|
538
|
+
The key size in bytes for algorithms that allow variable key sizes. Currently only applicable to HMAC, where it must be between 32 and 512 bytes.
|
|
539
|
+
"""
|
|
540
|
+
return pulumi.get(self, "key_size")
|
|
541
|
+
|
|
542
|
+
@key_size.setter
|
|
543
|
+
def key_size(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
544
|
+
pulumi.set(self, "key_size", value)
|
|
545
|
+
|
|
546
|
+
@_builtins.property
|
|
547
|
+
@pulumi.getter
|
|
548
|
+
def keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]]]:
|
|
549
|
+
"""
|
|
550
|
+
List of key versions in the keyring. This attribute is zero-indexed and will contain a map of values depending on the `type` of the encryption key.
|
|
551
|
+
* for key types `aes128-gcm96`, `aes256-gcm96` and `chacha20-poly1305`, each key version will be a map of a single value `id` which is just a hash of the key's metadata.
|
|
552
|
+
* for key types `ed25519`, `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, `rsa-2048`, `rsa-3072` and `rsa-4096`, each key version will be a map of the following:
|
|
553
|
+
"""
|
|
554
|
+
return pulumi.get(self, "keys")
|
|
555
|
+
|
|
556
|
+
@keys.setter
|
|
557
|
+
def keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]]]):
|
|
558
|
+
pulumi.set(self, "keys", value)
|
|
559
|
+
|
|
560
|
+
@_builtins.property
|
|
561
|
+
@pulumi.getter(name="latestVersion")
|
|
562
|
+
def latest_version(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
563
|
+
"""
|
|
564
|
+
Latest key version available. This value is 1-indexed, so if `latest_version` is `1`, then the key's information can be referenced from `keys` by selecting element `0`
|
|
565
|
+
"""
|
|
566
|
+
return pulumi.get(self, "latest_version")
|
|
567
|
+
|
|
568
|
+
@latest_version.setter
|
|
569
|
+
def latest_version(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
570
|
+
pulumi.set(self, "latest_version", value)
|
|
571
|
+
|
|
572
|
+
@_builtins.property
|
|
573
|
+
@pulumi.getter(name="minAvailableVersion")
|
|
574
|
+
def min_available_version(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
575
|
+
"""
|
|
576
|
+
Minimum key version available for use. If keys have been archived by increasing `min_decryption_version`, this attribute will reflect that change.
|
|
577
|
+
"""
|
|
578
|
+
return pulumi.get(self, "min_available_version")
|
|
579
|
+
|
|
580
|
+
@min_available_version.setter
|
|
581
|
+
def min_available_version(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
582
|
+
pulumi.set(self, "min_available_version", value)
|
|
583
|
+
|
|
584
|
+
@_builtins.property
|
|
585
|
+
@pulumi.getter(name="minDecryptionVersion")
|
|
586
|
+
def min_decryption_version(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
587
|
+
"""
|
|
588
|
+
Minimum key version to use for decryption.
|
|
589
|
+
"""
|
|
590
|
+
return pulumi.get(self, "min_decryption_version")
|
|
591
|
+
|
|
592
|
+
@min_decryption_version.setter
|
|
593
|
+
def min_decryption_version(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
594
|
+
pulumi.set(self, "min_decryption_version", value)
|
|
595
|
+
|
|
596
|
+
@_builtins.property
|
|
597
|
+
@pulumi.getter(name="minEncryptionVersion")
|
|
598
|
+
def min_encryption_version(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
599
|
+
"""
|
|
600
|
+
Minimum key version to use for encryption
|
|
601
|
+
"""
|
|
602
|
+
return pulumi.get(self, "min_encryption_version")
|
|
603
|
+
|
|
604
|
+
@min_encryption_version.setter
|
|
605
|
+
def min_encryption_version(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
606
|
+
pulumi.set(self, "min_encryption_version", value)
|
|
607
|
+
|
|
608
|
+
@_builtins.property
|
|
609
|
+
@pulumi.getter
|
|
610
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
611
|
+
"""
|
|
612
|
+
The name to identify this key within the backend. Must be unique within the backend.
|
|
613
|
+
"""
|
|
614
|
+
return pulumi.get(self, "name")
|
|
615
|
+
|
|
616
|
+
@name.setter
|
|
617
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
618
|
+
pulumi.set(self, "name", value)
|
|
619
|
+
|
|
620
|
+
@_builtins.property
|
|
621
|
+
@pulumi.getter
|
|
622
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
623
|
+
"""
|
|
624
|
+
The namespace to provision the resource in.
|
|
625
|
+
The value should not contain leading or trailing forward slashes.
|
|
626
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
627
|
+
*Available only for Vault Enterprise*.
|
|
628
|
+
"""
|
|
629
|
+
return pulumi.get(self, "namespace")
|
|
630
|
+
|
|
631
|
+
@namespace.setter
|
|
632
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
633
|
+
pulumi.set(self, "namespace", value)
|
|
634
|
+
|
|
635
|
+
@_builtins.property
|
|
636
|
+
@pulumi.getter(name="parameterSet")
|
|
637
|
+
def parameter_set(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
638
|
+
"""
|
|
639
|
+
The parameter set to use for ML-DSA or SLH-DSA. Required for
|
|
640
|
+
ML-DSA, hybrid, and SLH-DSA keys.
|
|
641
|
+
Valid values for ML-DSA are `44`, `65`, and `87`.
|
|
642
|
+
Valid values for SLH-DSA are `slh-dsa-sha2-128s`, `slh-dsa-shake-128s`, `slh-dsa-sha2-128f`, `slh-dsa-shake-128`, `slh-dsa-sha2-192s`,
|
|
643
|
+
`slh-dsa-shake-192s`, `slh-dsa-sha2-192f`, `slh-dsa-shake-192f`, `slh-dsa-sha2-256s`, `slh-dsa-shake-256s`,
|
|
644
|
+
`slh-dsa-sha2-256f`, and `slh-dsa-shake-256f`.
|
|
645
|
+
"""
|
|
646
|
+
return pulumi.get(self, "parameter_set")
|
|
647
|
+
|
|
648
|
+
@parameter_set.setter
|
|
649
|
+
def parameter_set(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
650
|
+
pulumi.set(self, "parameter_set", value)
|
|
651
|
+
|
|
652
|
+
@_builtins.property
|
|
653
|
+
@pulumi.getter(name="supportsDecryption")
|
|
654
|
+
def supports_decryption(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
655
|
+
"""
|
|
656
|
+
Whether or not the key supports decryption, based on key type.
|
|
657
|
+
"""
|
|
658
|
+
return pulumi.get(self, "supports_decryption")
|
|
659
|
+
|
|
660
|
+
@supports_decryption.setter
|
|
661
|
+
def supports_decryption(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
662
|
+
pulumi.set(self, "supports_decryption", value)
|
|
663
|
+
|
|
664
|
+
@_builtins.property
|
|
665
|
+
@pulumi.getter(name="supportsDerivation")
|
|
666
|
+
def supports_derivation(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
667
|
+
"""
|
|
668
|
+
Whether or not the key supports derivation, based on key type.
|
|
669
|
+
"""
|
|
670
|
+
return pulumi.get(self, "supports_derivation")
|
|
671
|
+
|
|
672
|
+
@supports_derivation.setter
|
|
673
|
+
def supports_derivation(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
674
|
+
pulumi.set(self, "supports_derivation", value)
|
|
675
|
+
|
|
676
|
+
@_builtins.property
|
|
677
|
+
@pulumi.getter(name="supportsEncryption")
|
|
678
|
+
def supports_encryption(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
679
|
+
"""
|
|
680
|
+
Whether or not the key supports encryption, based on key type.
|
|
681
|
+
"""
|
|
682
|
+
return pulumi.get(self, "supports_encryption")
|
|
683
|
+
|
|
684
|
+
@supports_encryption.setter
|
|
685
|
+
def supports_encryption(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
686
|
+
pulumi.set(self, "supports_encryption", value)
|
|
687
|
+
|
|
688
|
+
@_builtins.property
|
|
689
|
+
@pulumi.getter(name="supportsSigning")
|
|
690
|
+
def supports_signing(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
691
|
+
"""
|
|
692
|
+
Whether or not the key supports signing, based on key type.
|
|
693
|
+
"""
|
|
694
|
+
return pulumi.get(self, "supports_signing")
|
|
695
|
+
|
|
696
|
+
@supports_signing.setter
|
|
697
|
+
def supports_signing(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
698
|
+
pulumi.set(self, "supports_signing", value)
|
|
699
|
+
|
|
700
|
+
@_builtins.property
|
|
701
|
+
@pulumi.getter
|
|
702
|
+
def type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
703
|
+
"""
|
|
704
|
+
Specifies the type of key to create. The currently-supported types are: `aes128-gcm96`, `aes256-gcm96` (default), `chacha20-poly1305`, `ed25519`, `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, `hmac`, `rsa-2048`, `rsa-3072`, `rsa-4096`, `managed_key`, `aes128-cmac`, `aes192-cmac`, `aes256-cmac`, `ml-dsa`, `hybrid`, and `slh-dsa`.
|
|
705
|
+
* Refer to the Vault documentation on transit key types for more information: [Key Types](https://www.vaultproject.io/docs/secrets/transit#key-types)
|
|
706
|
+
"""
|
|
707
|
+
return pulumi.get(self, "type")
|
|
708
|
+
|
|
709
|
+
@type.setter
|
|
710
|
+
def type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
711
|
+
pulumi.set(self, "type", value)
|
|
712
|
+
|
|
713
|
+
|
|
714
|
+
@pulumi.type_token("vault:transit/secretBackendKey:SecretBackendKey")
|
|
715
|
+
class SecretBackendKey(pulumi.CustomResource):
|
|
716
|
+
@overload
|
|
717
|
+
def __init__(__self__,
|
|
718
|
+
resource_name: str,
|
|
719
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
720
|
+
allow_plaintext_backup: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
721
|
+
auto_rotate_period: Optional[pulumi.Input[_builtins.int]] = None,
|
|
722
|
+
backend: Optional[pulumi.Input[_builtins.str]] = None,
|
|
723
|
+
convergent_encryption: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
724
|
+
deletion_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
725
|
+
derived: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
726
|
+
exportable: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
727
|
+
hybrid_key_type_ec: Optional[pulumi.Input[_builtins.str]] = None,
|
|
728
|
+
hybrid_key_type_pqc: Optional[pulumi.Input[_builtins.str]] = None,
|
|
729
|
+
key_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
730
|
+
min_decryption_version: Optional[pulumi.Input[_builtins.int]] = None,
|
|
731
|
+
min_encryption_version: Optional[pulumi.Input[_builtins.int]] = None,
|
|
732
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
733
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
734
|
+
parameter_set: Optional[pulumi.Input[_builtins.str]] = None,
|
|
735
|
+
type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
736
|
+
__props__=None):
|
|
737
|
+
"""
|
|
738
|
+
Creates an Encryption Keyring on a Transit Secret Backend for Vault.
|
|
739
|
+
|
|
740
|
+
## Example Usage
|
|
741
|
+
|
|
742
|
+
```python
|
|
743
|
+
import pulumi
|
|
744
|
+
import pulumi_vault as vault
|
|
745
|
+
|
|
746
|
+
transit = vault.Mount("transit",
|
|
747
|
+
path="transit",
|
|
748
|
+
type="transit",
|
|
749
|
+
description="Example description",
|
|
750
|
+
default_lease_ttl_seconds=3600,
|
|
751
|
+
max_lease_ttl_seconds=86400)
|
|
752
|
+
key = vault.transit.SecretBackendKey("key",
|
|
753
|
+
backend=transit.path,
|
|
754
|
+
name="my_key")
|
|
755
|
+
```
|
|
756
|
+
|
|
757
|
+
## Import
|
|
758
|
+
|
|
759
|
+
Transit secret backend keys can be imported using the `path`, e.g.
|
|
760
|
+
|
|
761
|
+
```sh
|
|
762
|
+
$ pulumi import vault:transit/secretBackendKey:SecretBackendKey key transit/keys/my_key
|
|
763
|
+
```
|
|
764
|
+
|
|
765
|
+
:param str resource_name: The name of the resource.
|
|
766
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
767
|
+
:param pulumi.Input[_builtins.bool] allow_plaintext_backup: Enables taking backup of entire keyring in the plaintext format. Once set, this cannot be disabled.
|
|
768
|
+
* Refer to Vault API documentation on key backups for more information: [Backup Key](https://www.vaultproject.io/api-docs/secret/transit#backup-key)
|
|
769
|
+
:param pulumi.Input[_builtins.int] auto_rotate_period: Amount of seconds the key should live before being automatically rotated.
|
|
770
|
+
A value of 0 disables automatic rotation for the key.
|
|
771
|
+
:param pulumi.Input[_builtins.str] backend: The path the transit secret backend is mounted at, with no leading or trailing `/`s.
|
|
772
|
+
:param pulumi.Input[_builtins.bool] convergent_encryption: Whether or not to support convergent encryption, where the same plaintext creates the same ciphertext. This requires `derived` to be set to `true`.
|
|
773
|
+
:param pulumi.Input[_builtins.bool] deletion_allowed: Specifies if the key is allowed to be deleted.
|
|
774
|
+
:param pulumi.Input[_builtins.bool] derived: Specifies if key derivation is to be used. If enabled, all encrypt/decrypt requests to this key must provide a context which is used for key derivation.
|
|
775
|
+
:param pulumi.Input[_builtins.bool] exportable: Enables keys to be exportable. This allows for all valid private keys in the keyring to be exported. Once set, this cannot be disabled.
|
|
776
|
+
:param pulumi.Input[_builtins.str] hybrid_key_type_ec: The elliptic curve algorithm to use for hybrid signatures.
|
|
777
|
+
Supported key types are `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, and `ed25519`.
|
|
778
|
+
:param pulumi.Input[_builtins.str] hybrid_key_type_pqc: The post-quantum algorithm to use for hybrid signatures.
|
|
779
|
+
Currently, ML-DSA is the only supported key type.
|
|
780
|
+
:param pulumi.Input[_builtins.int] key_size: The key size in bytes for algorithms that allow variable key sizes. Currently only applicable to HMAC, where it must be between 32 and 512 bytes.
|
|
781
|
+
:param pulumi.Input[_builtins.int] min_decryption_version: Minimum key version to use for decryption.
|
|
782
|
+
:param pulumi.Input[_builtins.int] min_encryption_version: Minimum key version to use for encryption
|
|
783
|
+
:param pulumi.Input[_builtins.str] name: The name to identify this key within the backend. Must be unique within the backend.
|
|
784
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
785
|
+
The value should not contain leading or trailing forward slashes.
|
|
786
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
787
|
+
*Available only for Vault Enterprise*.
|
|
788
|
+
:param pulumi.Input[_builtins.str] parameter_set: The parameter set to use for ML-DSA or SLH-DSA. Required for
|
|
789
|
+
ML-DSA, hybrid, and SLH-DSA keys.
|
|
790
|
+
Valid values for ML-DSA are `44`, `65`, and `87`.
|
|
791
|
+
Valid values for SLH-DSA are `slh-dsa-sha2-128s`, `slh-dsa-shake-128s`, `slh-dsa-sha2-128f`, `slh-dsa-shake-128`, `slh-dsa-sha2-192s`,
|
|
792
|
+
`slh-dsa-shake-192s`, `slh-dsa-sha2-192f`, `slh-dsa-shake-192f`, `slh-dsa-sha2-256s`, `slh-dsa-shake-256s`,
|
|
793
|
+
`slh-dsa-sha2-256f`, and `slh-dsa-shake-256f`.
|
|
794
|
+
:param pulumi.Input[_builtins.str] type: Specifies the type of key to create. The currently-supported types are: `aes128-gcm96`, `aes256-gcm96` (default), `chacha20-poly1305`, `ed25519`, `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, `hmac`, `rsa-2048`, `rsa-3072`, `rsa-4096`, `managed_key`, `aes128-cmac`, `aes192-cmac`, `aes256-cmac`, `ml-dsa`, `hybrid`, and `slh-dsa`.
|
|
795
|
+
* Refer to the Vault documentation on transit key types for more information: [Key Types](https://www.vaultproject.io/docs/secrets/transit#key-types)
|
|
796
|
+
"""
|
|
797
|
+
...
|
|
798
|
+
@overload
|
|
799
|
+
def __init__(__self__,
|
|
800
|
+
resource_name: str,
|
|
801
|
+
args: SecretBackendKeyArgs,
|
|
802
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
803
|
+
"""
|
|
804
|
+
Creates an Encryption Keyring on a Transit Secret Backend for Vault.
|
|
805
|
+
|
|
806
|
+
## Example Usage
|
|
807
|
+
|
|
808
|
+
```python
|
|
809
|
+
import pulumi
|
|
810
|
+
import pulumi_vault as vault
|
|
811
|
+
|
|
812
|
+
transit = vault.Mount("transit",
|
|
813
|
+
path="transit",
|
|
814
|
+
type="transit",
|
|
815
|
+
description="Example description",
|
|
816
|
+
default_lease_ttl_seconds=3600,
|
|
817
|
+
max_lease_ttl_seconds=86400)
|
|
818
|
+
key = vault.transit.SecretBackendKey("key",
|
|
819
|
+
backend=transit.path,
|
|
820
|
+
name="my_key")
|
|
821
|
+
```
|
|
822
|
+
|
|
823
|
+
## Import
|
|
824
|
+
|
|
825
|
+
Transit secret backend keys can be imported using the `path`, e.g.
|
|
826
|
+
|
|
827
|
+
```sh
|
|
828
|
+
$ pulumi import vault:transit/secretBackendKey:SecretBackendKey key transit/keys/my_key
|
|
829
|
+
```
|
|
830
|
+
|
|
831
|
+
:param str resource_name: The name of the resource.
|
|
832
|
+
:param SecretBackendKeyArgs args: The arguments to use to populate this resource's properties.
|
|
833
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
834
|
+
"""
|
|
835
|
+
...
|
|
836
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
837
|
+
resource_args, opts = _utilities.get_resource_args_opts(SecretBackendKeyArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
838
|
+
if resource_args is not None:
|
|
839
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
840
|
+
else:
|
|
841
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
842
|
+
|
|
843
|
+
def _internal_init(__self__,
|
|
844
|
+
resource_name: str,
|
|
845
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
846
|
+
allow_plaintext_backup: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
847
|
+
auto_rotate_period: Optional[pulumi.Input[_builtins.int]] = None,
|
|
848
|
+
backend: Optional[pulumi.Input[_builtins.str]] = None,
|
|
849
|
+
convergent_encryption: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
850
|
+
deletion_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
851
|
+
derived: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
852
|
+
exportable: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
853
|
+
hybrid_key_type_ec: Optional[pulumi.Input[_builtins.str]] = None,
|
|
854
|
+
hybrid_key_type_pqc: Optional[pulumi.Input[_builtins.str]] = None,
|
|
855
|
+
key_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
856
|
+
min_decryption_version: Optional[pulumi.Input[_builtins.int]] = None,
|
|
857
|
+
min_encryption_version: Optional[pulumi.Input[_builtins.int]] = None,
|
|
858
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
859
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
860
|
+
parameter_set: Optional[pulumi.Input[_builtins.str]] = None,
|
|
861
|
+
type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
862
|
+
__props__=None):
|
|
863
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
864
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
865
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
866
|
+
if opts.id is None:
|
|
867
|
+
if __props__ is not None:
|
|
868
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
869
|
+
__props__ = SecretBackendKeyArgs.__new__(SecretBackendKeyArgs)
|
|
870
|
+
|
|
871
|
+
__props__.__dict__["allow_plaintext_backup"] = allow_plaintext_backup
|
|
872
|
+
__props__.__dict__["auto_rotate_period"] = auto_rotate_period
|
|
873
|
+
if backend is None and not opts.urn:
|
|
874
|
+
raise TypeError("Missing required property 'backend'")
|
|
875
|
+
__props__.__dict__["backend"] = backend
|
|
876
|
+
__props__.__dict__["convergent_encryption"] = convergent_encryption
|
|
877
|
+
__props__.__dict__["deletion_allowed"] = deletion_allowed
|
|
878
|
+
__props__.__dict__["derived"] = derived
|
|
879
|
+
__props__.__dict__["exportable"] = exportable
|
|
880
|
+
__props__.__dict__["hybrid_key_type_ec"] = hybrid_key_type_ec
|
|
881
|
+
__props__.__dict__["hybrid_key_type_pqc"] = hybrid_key_type_pqc
|
|
882
|
+
__props__.__dict__["key_size"] = key_size
|
|
883
|
+
__props__.__dict__["min_decryption_version"] = min_decryption_version
|
|
884
|
+
__props__.__dict__["min_encryption_version"] = min_encryption_version
|
|
885
|
+
__props__.__dict__["name"] = name
|
|
886
|
+
__props__.__dict__["namespace"] = namespace
|
|
887
|
+
__props__.__dict__["parameter_set"] = parameter_set
|
|
888
|
+
__props__.__dict__["type"] = type
|
|
889
|
+
__props__.__dict__["keys"] = None
|
|
890
|
+
__props__.__dict__["latest_version"] = None
|
|
891
|
+
__props__.__dict__["min_available_version"] = None
|
|
892
|
+
__props__.__dict__["supports_decryption"] = None
|
|
893
|
+
__props__.__dict__["supports_derivation"] = None
|
|
894
|
+
__props__.__dict__["supports_encryption"] = None
|
|
895
|
+
__props__.__dict__["supports_signing"] = None
|
|
896
|
+
super(SecretBackendKey, __self__).__init__(
|
|
897
|
+
'vault:transit/secretBackendKey:SecretBackendKey',
|
|
898
|
+
resource_name,
|
|
899
|
+
__props__,
|
|
900
|
+
opts)
|
|
901
|
+
|
|
902
|
+
@staticmethod
|
|
903
|
+
def get(resource_name: str,
|
|
904
|
+
id: pulumi.Input[str],
|
|
905
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
906
|
+
allow_plaintext_backup: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
907
|
+
auto_rotate_period: Optional[pulumi.Input[_builtins.int]] = None,
|
|
908
|
+
backend: Optional[pulumi.Input[_builtins.str]] = None,
|
|
909
|
+
convergent_encryption: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
910
|
+
deletion_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
911
|
+
derived: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
912
|
+
exportable: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
913
|
+
hybrid_key_type_ec: Optional[pulumi.Input[_builtins.str]] = None,
|
|
914
|
+
hybrid_key_type_pqc: Optional[pulumi.Input[_builtins.str]] = None,
|
|
915
|
+
key_size: Optional[pulumi.Input[_builtins.int]] = None,
|
|
916
|
+
keys: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]]] = None,
|
|
917
|
+
latest_version: Optional[pulumi.Input[_builtins.int]] = None,
|
|
918
|
+
min_available_version: Optional[pulumi.Input[_builtins.int]] = None,
|
|
919
|
+
min_decryption_version: Optional[pulumi.Input[_builtins.int]] = None,
|
|
920
|
+
min_encryption_version: Optional[pulumi.Input[_builtins.int]] = None,
|
|
921
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
922
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
|
923
|
+
parameter_set: Optional[pulumi.Input[_builtins.str]] = None,
|
|
924
|
+
supports_decryption: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
925
|
+
supports_derivation: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
926
|
+
supports_encryption: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
927
|
+
supports_signing: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
928
|
+
type: Optional[pulumi.Input[_builtins.str]] = None) -> 'SecretBackendKey':
|
|
929
|
+
"""
|
|
930
|
+
Get an existing SecretBackendKey resource's state with the given name, id, and optional extra
|
|
931
|
+
properties used to qualify the lookup.
|
|
932
|
+
|
|
933
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
934
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
935
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
936
|
+
:param pulumi.Input[_builtins.bool] allow_plaintext_backup: Enables taking backup of entire keyring in the plaintext format. Once set, this cannot be disabled.
|
|
937
|
+
* Refer to Vault API documentation on key backups for more information: [Backup Key](https://www.vaultproject.io/api-docs/secret/transit#backup-key)
|
|
938
|
+
:param pulumi.Input[_builtins.int] auto_rotate_period: Amount of seconds the key should live before being automatically rotated.
|
|
939
|
+
A value of 0 disables automatic rotation for the key.
|
|
940
|
+
:param pulumi.Input[_builtins.str] backend: The path the transit secret backend is mounted at, with no leading or trailing `/`s.
|
|
941
|
+
:param pulumi.Input[_builtins.bool] convergent_encryption: Whether or not to support convergent encryption, where the same plaintext creates the same ciphertext. This requires `derived` to be set to `true`.
|
|
942
|
+
:param pulumi.Input[_builtins.bool] deletion_allowed: Specifies if the key is allowed to be deleted.
|
|
943
|
+
:param pulumi.Input[_builtins.bool] derived: Specifies if key derivation is to be used. If enabled, all encrypt/decrypt requests to this key must provide a context which is used for key derivation.
|
|
944
|
+
:param pulumi.Input[_builtins.bool] exportable: Enables keys to be exportable. This allows for all valid private keys in the keyring to be exported. Once set, this cannot be disabled.
|
|
945
|
+
:param pulumi.Input[_builtins.str] hybrid_key_type_ec: The elliptic curve algorithm to use for hybrid signatures.
|
|
946
|
+
Supported key types are `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, and `ed25519`.
|
|
947
|
+
:param pulumi.Input[_builtins.str] hybrid_key_type_pqc: The post-quantum algorithm to use for hybrid signatures.
|
|
948
|
+
Currently, ML-DSA is the only supported key type.
|
|
949
|
+
:param pulumi.Input[_builtins.int] key_size: The key size in bytes for algorithms that allow variable key sizes. Currently only applicable to HMAC, where it must be between 32 and 512 bytes.
|
|
950
|
+
:param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]] keys: List of key versions in the keyring. This attribute is zero-indexed and will contain a map of values depending on the `type` of the encryption key.
|
|
951
|
+
* for key types `aes128-gcm96`, `aes256-gcm96` and `chacha20-poly1305`, each key version will be a map of a single value `id` which is just a hash of the key's metadata.
|
|
952
|
+
* for key types `ed25519`, `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, `rsa-2048`, `rsa-3072` and `rsa-4096`, each key version will be a map of the following:
|
|
953
|
+
:param pulumi.Input[_builtins.int] latest_version: Latest key version available. This value is 1-indexed, so if `latest_version` is `1`, then the key's information can be referenced from `keys` by selecting element `0`
|
|
954
|
+
:param pulumi.Input[_builtins.int] min_available_version: Minimum key version available for use. If keys have been archived by increasing `min_decryption_version`, this attribute will reflect that change.
|
|
955
|
+
:param pulumi.Input[_builtins.int] min_decryption_version: Minimum key version to use for decryption.
|
|
956
|
+
:param pulumi.Input[_builtins.int] min_encryption_version: Minimum key version to use for encryption
|
|
957
|
+
:param pulumi.Input[_builtins.str] name: The name to identify this key within the backend. Must be unique within the backend.
|
|
958
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
|
959
|
+
The value should not contain leading or trailing forward slashes.
|
|
960
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
961
|
+
*Available only for Vault Enterprise*.
|
|
962
|
+
:param pulumi.Input[_builtins.str] parameter_set: The parameter set to use for ML-DSA or SLH-DSA. Required for
|
|
963
|
+
ML-DSA, hybrid, and SLH-DSA keys.
|
|
964
|
+
Valid values for ML-DSA are `44`, `65`, and `87`.
|
|
965
|
+
Valid values for SLH-DSA are `slh-dsa-sha2-128s`, `slh-dsa-shake-128s`, `slh-dsa-sha2-128f`, `slh-dsa-shake-128`, `slh-dsa-sha2-192s`,
|
|
966
|
+
`slh-dsa-shake-192s`, `slh-dsa-sha2-192f`, `slh-dsa-shake-192f`, `slh-dsa-sha2-256s`, `slh-dsa-shake-256s`,
|
|
967
|
+
`slh-dsa-sha2-256f`, and `slh-dsa-shake-256f`.
|
|
968
|
+
:param pulumi.Input[_builtins.bool] supports_decryption: Whether or not the key supports decryption, based on key type.
|
|
969
|
+
:param pulumi.Input[_builtins.bool] supports_derivation: Whether or not the key supports derivation, based on key type.
|
|
970
|
+
:param pulumi.Input[_builtins.bool] supports_encryption: Whether or not the key supports encryption, based on key type.
|
|
971
|
+
:param pulumi.Input[_builtins.bool] supports_signing: Whether or not the key supports signing, based on key type.
|
|
972
|
+
:param pulumi.Input[_builtins.str] type: Specifies the type of key to create. The currently-supported types are: `aes128-gcm96`, `aes256-gcm96` (default), `chacha20-poly1305`, `ed25519`, `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, `hmac`, `rsa-2048`, `rsa-3072`, `rsa-4096`, `managed_key`, `aes128-cmac`, `aes192-cmac`, `aes256-cmac`, `ml-dsa`, `hybrid`, and `slh-dsa`.
|
|
973
|
+
* Refer to the Vault documentation on transit key types for more information: [Key Types](https://www.vaultproject.io/docs/secrets/transit#key-types)
|
|
974
|
+
"""
|
|
975
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
976
|
+
|
|
977
|
+
__props__ = _SecretBackendKeyState.__new__(_SecretBackendKeyState)
|
|
978
|
+
|
|
979
|
+
__props__.__dict__["allow_plaintext_backup"] = allow_plaintext_backup
|
|
980
|
+
__props__.__dict__["auto_rotate_period"] = auto_rotate_period
|
|
981
|
+
__props__.__dict__["backend"] = backend
|
|
982
|
+
__props__.__dict__["convergent_encryption"] = convergent_encryption
|
|
983
|
+
__props__.__dict__["deletion_allowed"] = deletion_allowed
|
|
984
|
+
__props__.__dict__["derived"] = derived
|
|
985
|
+
__props__.__dict__["exportable"] = exportable
|
|
986
|
+
__props__.__dict__["hybrid_key_type_ec"] = hybrid_key_type_ec
|
|
987
|
+
__props__.__dict__["hybrid_key_type_pqc"] = hybrid_key_type_pqc
|
|
988
|
+
__props__.__dict__["key_size"] = key_size
|
|
989
|
+
__props__.__dict__["keys"] = keys
|
|
990
|
+
__props__.__dict__["latest_version"] = latest_version
|
|
991
|
+
__props__.__dict__["min_available_version"] = min_available_version
|
|
992
|
+
__props__.__dict__["min_decryption_version"] = min_decryption_version
|
|
993
|
+
__props__.__dict__["min_encryption_version"] = min_encryption_version
|
|
994
|
+
__props__.__dict__["name"] = name
|
|
995
|
+
__props__.__dict__["namespace"] = namespace
|
|
996
|
+
__props__.__dict__["parameter_set"] = parameter_set
|
|
997
|
+
__props__.__dict__["supports_decryption"] = supports_decryption
|
|
998
|
+
__props__.__dict__["supports_derivation"] = supports_derivation
|
|
999
|
+
__props__.__dict__["supports_encryption"] = supports_encryption
|
|
1000
|
+
__props__.__dict__["supports_signing"] = supports_signing
|
|
1001
|
+
__props__.__dict__["type"] = type
|
|
1002
|
+
return SecretBackendKey(resource_name, opts=opts, __props__=__props__)
|
|
1003
|
+
|
|
1004
|
+
@_builtins.property
|
|
1005
|
+
@pulumi.getter(name="allowPlaintextBackup")
|
|
1006
|
+
def allow_plaintext_backup(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
1007
|
+
"""
|
|
1008
|
+
Enables taking backup of entire keyring in the plaintext format. Once set, this cannot be disabled.
|
|
1009
|
+
* Refer to Vault API documentation on key backups for more information: [Backup Key](https://www.vaultproject.io/api-docs/secret/transit#backup-key)
|
|
1010
|
+
"""
|
|
1011
|
+
return pulumi.get(self, "allow_plaintext_backup")
|
|
1012
|
+
|
|
1013
|
+
@_builtins.property
|
|
1014
|
+
@pulumi.getter(name="autoRotatePeriod")
|
|
1015
|
+
def auto_rotate_period(self) -> pulumi.Output[_builtins.int]:
|
|
1016
|
+
"""
|
|
1017
|
+
Amount of seconds the key should live before being automatically rotated.
|
|
1018
|
+
A value of 0 disables automatic rotation for the key.
|
|
1019
|
+
"""
|
|
1020
|
+
return pulumi.get(self, "auto_rotate_period")
|
|
1021
|
+
|
|
1022
|
+
@_builtins.property
|
|
1023
|
+
@pulumi.getter
|
|
1024
|
+
def backend(self) -> pulumi.Output[_builtins.str]:
|
|
1025
|
+
"""
|
|
1026
|
+
The path the transit secret backend is mounted at, with no leading or trailing `/`s.
|
|
1027
|
+
"""
|
|
1028
|
+
return pulumi.get(self, "backend")
|
|
1029
|
+
|
|
1030
|
+
@_builtins.property
|
|
1031
|
+
@pulumi.getter(name="convergentEncryption")
|
|
1032
|
+
def convergent_encryption(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
1033
|
+
"""
|
|
1034
|
+
Whether or not to support convergent encryption, where the same plaintext creates the same ciphertext. This requires `derived` to be set to `true`.
|
|
1035
|
+
"""
|
|
1036
|
+
return pulumi.get(self, "convergent_encryption")
|
|
1037
|
+
|
|
1038
|
+
@_builtins.property
|
|
1039
|
+
@pulumi.getter(name="deletionAllowed")
|
|
1040
|
+
def deletion_allowed(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
1041
|
+
"""
|
|
1042
|
+
Specifies if the key is allowed to be deleted.
|
|
1043
|
+
"""
|
|
1044
|
+
return pulumi.get(self, "deletion_allowed")
|
|
1045
|
+
|
|
1046
|
+
@_builtins.property
|
|
1047
|
+
@pulumi.getter
|
|
1048
|
+
def derived(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
1049
|
+
"""
|
|
1050
|
+
Specifies if key derivation is to be used. If enabled, all encrypt/decrypt requests to this key must provide a context which is used for key derivation.
|
|
1051
|
+
"""
|
|
1052
|
+
return pulumi.get(self, "derived")
|
|
1053
|
+
|
|
1054
|
+
@_builtins.property
|
|
1055
|
+
@pulumi.getter
|
|
1056
|
+
def exportable(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
1057
|
+
"""
|
|
1058
|
+
Enables keys to be exportable. This allows for all valid private keys in the keyring to be exported. Once set, this cannot be disabled.
|
|
1059
|
+
"""
|
|
1060
|
+
return pulumi.get(self, "exportable")
|
|
1061
|
+
|
|
1062
|
+
@_builtins.property
|
|
1063
|
+
@pulumi.getter(name="hybridKeyTypeEc")
|
|
1064
|
+
def hybrid_key_type_ec(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1065
|
+
"""
|
|
1066
|
+
The elliptic curve algorithm to use for hybrid signatures.
|
|
1067
|
+
Supported key types are `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, and `ed25519`.
|
|
1068
|
+
"""
|
|
1069
|
+
return pulumi.get(self, "hybrid_key_type_ec")
|
|
1070
|
+
|
|
1071
|
+
@_builtins.property
|
|
1072
|
+
@pulumi.getter(name="hybridKeyTypePqc")
|
|
1073
|
+
def hybrid_key_type_pqc(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1074
|
+
"""
|
|
1075
|
+
The post-quantum algorithm to use for hybrid signatures.
|
|
1076
|
+
Currently, ML-DSA is the only supported key type.
|
|
1077
|
+
"""
|
|
1078
|
+
return pulumi.get(self, "hybrid_key_type_pqc")
|
|
1079
|
+
|
|
1080
|
+
@_builtins.property
|
|
1081
|
+
@pulumi.getter(name="keySize")
|
|
1082
|
+
def key_size(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
1083
|
+
"""
|
|
1084
|
+
The key size in bytes for algorithms that allow variable key sizes. Currently only applicable to HMAC, where it must be between 32 and 512 bytes.
|
|
1085
|
+
"""
|
|
1086
|
+
return pulumi.get(self, "key_size")
|
|
1087
|
+
|
|
1088
|
+
@_builtins.property
|
|
1089
|
+
@pulumi.getter
|
|
1090
|
+
def keys(self) -> pulumi.Output[Sequence[Mapping[str, _builtins.str]]]:
|
|
1091
|
+
"""
|
|
1092
|
+
List of key versions in the keyring. This attribute is zero-indexed and will contain a map of values depending on the `type` of the encryption key.
|
|
1093
|
+
* for key types `aes128-gcm96`, `aes256-gcm96` and `chacha20-poly1305`, each key version will be a map of a single value `id` which is just a hash of the key's metadata.
|
|
1094
|
+
* for key types `ed25519`, `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, `rsa-2048`, `rsa-3072` and `rsa-4096`, each key version will be a map of the following:
|
|
1095
|
+
"""
|
|
1096
|
+
return pulumi.get(self, "keys")
|
|
1097
|
+
|
|
1098
|
+
@_builtins.property
|
|
1099
|
+
@pulumi.getter(name="latestVersion")
|
|
1100
|
+
def latest_version(self) -> pulumi.Output[_builtins.int]:
|
|
1101
|
+
"""
|
|
1102
|
+
Latest key version available. This value is 1-indexed, so if `latest_version` is `1`, then the key's information can be referenced from `keys` by selecting element `0`
|
|
1103
|
+
"""
|
|
1104
|
+
return pulumi.get(self, "latest_version")
|
|
1105
|
+
|
|
1106
|
+
@_builtins.property
|
|
1107
|
+
@pulumi.getter(name="minAvailableVersion")
|
|
1108
|
+
def min_available_version(self) -> pulumi.Output[_builtins.int]:
|
|
1109
|
+
"""
|
|
1110
|
+
Minimum key version available for use. If keys have been archived by increasing `min_decryption_version`, this attribute will reflect that change.
|
|
1111
|
+
"""
|
|
1112
|
+
return pulumi.get(self, "min_available_version")
|
|
1113
|
+
|
|
1114
|
+
@_builtins.property
|
|
1115
|
+
@pulumi.getter(name="minDecryptionVersion")
|
|
1116
|
+
def min_decryption_version(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
1117
|
+
"""
|
|
1118
|
+
Minimum key version to use for decryption.
|
|
1119
|
+
"""
|
|
1120
|
+
return pulumi.get(self, "min_decryption_version")
|
|
1121
|
+
|
|
1122
|
+
@_builtins.property
|
|
1123
|
+
@pulumi.getter(name="minEncryptionVersion")
|
|
1124
|
+
def min_encryption_version(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
1125
|
+
"""
|
|
1126
|
+
Minimum key version to use for encryption
|
|
1127
|
+
"""
|
|
1128
|
+
return pulumi.get(self, "min_encryption_version")
|
|
1129
|
+
|
|
1130
|
+
@_builtins.property
|
|
1131
|
+
@pulumi.getter
|
|
1132
|
+
def name(self) -> pulumi.Output[_builtins.str]:
|
|
1133
|
+
"""
|
|
1134
|
+
The name to identify this key within the backend. Must be unique within the backend.
|
|
1135
|
+
"""
|
|
1136
|
+
return pulumi.get(self, "name")
|
|
1137
|
+
|
|
1138
|
+
@_builtins.property
|
|
1139
|
+
@pulumi.getter
|
|
1140
|
+
def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1141
|
+
"""
|
|
1142
|
+
The namespace to provision the resource in.
|
|
1143
|
+
The value should not contain leading or trailing forward slashes.
|
|
1144
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
|
1145
|
+
*Available only for Vault Enterprise*.
|
|
1146
|
+
"""
|
|
1147
|
+
return pulumi.get(self, "namespace")
|
|
1148
|
+
|
|
1149
|
+
@_builtins.property
|
|
1150
|
+
@pulumi.getter(name="parameterSet")
|
|
1151
|
+
def parameter_set(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1152
|
+
"""
|
|
1153
|
+
The parameter set to use for ML-DSA or SLH-DSA. Required for
|
|
1154
|
+
ML-DSA, hybrid, and SLH-DSA keys.
|
|
1155
|
+
Valid values for ML-DSA are `44`, `65`, and `87`.
|
|
1156
|
+
Valid values for SLH-DSA are `slh-dsa-sha2-128s`, `slh-dsa-shake-128s`, `slh-dsa-sha2-128f`, `slh-dsa-shake-128`, `slh-dsa-sha2-192s`,
|
|
1157
|
+
`slh-dsa-shake-192s`, `slh-dsa-sha2-192f`, `slh-dsa-shake-192f`, `slh-dsa-sha2-256s`, `slh-dsa-shake-256s`,
|
|
1158
|
+
`slh-dsa-sha2-256f`, and `slh-dsa-shake-256f`.
|
|
1159
|
+
"""
|
|
1160
|
+
return pulumi.get(self, "parameter_set")
|
|
1161
|
+
|
|
1162
|
+
@_builtins.property
|
|
1163
|
+
@pulumi.getter(name="supportsDecryption")
|
|
1164
|
+
def supports_decryption(self) -> pulumi.Output[_builtins.bool]:
|
|
1165
|
+
"""
|
|
1166
|
+
Whether or not the key supports decryption, based on key type.
|
|
1167
|
+
"""
|
|
1168
|
+
return pulumi.get(self, "supports_decryption")
|
|
1169
|
+
|
|
1170
|
+
@_builtins.property
|
|
1171
|
+
@pulumi.getter(name="supportsDerivation")
|
|
1172
|
+
def supports_derivation(self) -> pulumi.Output[_builtins.bool]:
|
|
1173
|
+
"""
|
|
1174
|
+
Whether or not the key supports derivation, based on key type.
|
|
1175
|
+
"""
|
|
1176
|
+
return pulumi.get(self, "supports_derivation")
|
|
1177
|
+
|
|
1178
|
+
@_builtins.property
|
|
1179
|
+
@pulumi.getter(name="supportsEncryption")
|
|
1180
|
+
def supports_encryption(self) -> pulumi.Output[_builtins.bool]:
|
|
1181
|
+
"""
|
|
1182
|
+
Whether or not the key supports encryption, based on key type.
|
|
1183
|
+
"""
|
|
1184
|
+
return pulumi.get(self, "supports_encryption")
|
|
1185
|
+
|
|
1186
|
+
@_builtins.property
|
|
1187
|
+
@pulumi.getter(name="supportsSigning")
|
|
1188
|
+
def supports_signing(self) -> pulumi.Output[_builtins.bool]:
|
|
1189
|
+
"""
|
|
1190
|
+
Whether or not the key supports signing, based on key type.
|
|
1191
|
+
"""
|
|
1192
|
+
return pulumi.get(self, "supports_signing")
|
|
1193
|
+
|
|
1194
|
+
@_builtins.property
|
|
1195
|
+
@pulumi.getter
|
|
1196
|
+
def type(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1197
|
+
"""
|
|
1198
|
+
Specifies the type of key to create. The currently-supported types are: `aes128-gcm96`, `aes256-gcm96` (default), `chacha20-poly1305`, `ed25519`, `ecdsa-p256`, `ecdsa-p384`, `ecdsa-p521`, `hmac`, `rsa-2048`, `rsa-3072`, `rsa-4096`, `managed_key`, `aes128-cmac`, `aes192-cmac`, `aes256-cmac`, `ml-dsa`, `hybrid`, and `slh-dsa`.
|
|
1199
|
+
* Refer to the Vault documentation on transit key types for more information: [Key Types](https://www.vaultproject.io/docs/secrets/transit#key-types)
|
|
1200
|
+
"""
|
|
1201
|
+
return pulumi.get(self, "type")
|
|
1202
|
+
|