pub enum KeyProvider {
Age,
Pgp,
AwsKms,
GcpKms,
HuaweiKms,
AzureKeyVault,
HcVault,
}Expand description
A key provider that can wrap the data key.
Present as a closed enum even for the providers we do not yet implement,
because ★★ MODULARIZE, DON’T DELETE cuts both ways: a provider we cannot
serve should be a named refusal, not an unparseable file. A sops file
carrying KMS keys must round-trip through us intact even when we cannot
unwrap it, or aliasing us over sops would corrupt files on write.
Variants§
Age
X25519 age recipients. Implemented.
Pgp
PGP fingerprints, via gpg. Declared, not implemented.
AwsKms
AWS KMS ARNs. Declared, not implemented.
GcpKms
GCP KMS resource IDs. Declared, not implemented.
HuaweiKms
HuaweiCloud KMS key IDs. Declared, not implemented.
AzureKeyVault
Azure Key Vault URLs. Declared, not implemented.
HcVault
HashiCorp Vault transit URIs. Declared, not implemented.
Implementations§
Source§impl KeyProvider
impl KeyProvider
Sourcepub fn order_token(self) -> &'static str
pub fn order_token(self) -> &'static str
The --decryption-order token for this provider.
Sourcepub fn is_implemented(self) -> bool
pub fn is_implemented(self) -> bool
Whether this build can actually unwrap a data key for this provider.
A typed false rather than a missing variant: the file still parses, the
key still round-trips, and the refusal is nameable at the point a caller
needs a data key. That is the difference between “we do not support KMS”
and “we corrupt KMS files”.
Trait Implementations§
Source§impl Clone for KeyProvider
impl Clone for KeyProvider
Source§fn clone(&self) -> KeyProvider
fn clone(&self) -> KeyProvider
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more