MCPcopy
hub / github.com/seaweedfs/seaweedfs / KMSProvider

Interface KMSProvider

weed/kms/kms.go:9–24  ·  view source on GitHub ↗

KMSProvider defines the interface for Key Management Service implementations

Source from the content-addressed store, hash-verified

7
8// KMSProvider defines the interface for Key Management Service implementations
9type KMSProvider interface {
10 // GenerateDataKey creates a new data encryption key encrypted under the specified KMS key
11 GenerateDataKey(ctx context.Context, req *GenerateDataKeyRequest) (*GenerateDataKeyResponse, error)
12
13 // Decrypt decrypts an encrypted data key using the KMS
14 Decrypt(ctx context.Context, req *DecryptRequest) (*DecryptResponse, error)
15
16 // DescribeKey validates that a key exists and returns its metadata
17 DescribeKey(ctx context.Context, req *DescribeKeyRequest) (*DescribeKeyResponse, error)
18
19 // GetKeyID resolves a key alias or ARN to the actual key ID
20 GetKeyID(ctx context.Context, keyIdentifier string) (string, error)
21
22 // Close cleans up any resources used by the provider
23 Close() error
24}
25
26// GenerateDataKeyRequest contains parameters for generating a data key
27type GenerateDataKeyRequest struct {

Implementers 6

GCPKMSProviderweed/kms/gcp/gcp_kms.go
AzureKMSProviderweed/kms/azure/azure_kms.go
OpenBaoKMSProviderweed/kms/openbao/openbao_kms.go
AWSKMSProviderweed/kms/aws/aws_kms.go
LocalKMSProviderweed/kms/local/local_kms.go
testKMSProviderweed/replication/repl_util/sse_reader_

Calls

no outgoing calls

Tested by

no test coverage detected