AWS Encryption SDK for C v2.4
Loading...
Searching...
No Matches
Aws::Cryptosdk::KmsMrkAwareSymmetricKeyring::MultiKeyringBuilder Class Reference

#include <kms_mrk_keyring.h>

Public Member Functions

MultiKeyringBuilderWithGrantToken (const Aws::String &grant_token)
 
MultiKeyringBuilderWithGrantTokens (const Aws::Vector< Aws::String > &grant_tokens)
 
MultiKeyringBuilderWithClientSupplier (const std::shared_ptr< KmsKeyring::ClientSupplier > &client_supplier)
 
aws_cryptosdk_keyringBuild (const Aws::String &generator_key_id, const Aws::Vector< Aws::String > &additional_key_ids={}) const
 
aws_cryptosdk_keyringBuild (const Aws::Vector< Aws::String > &additional_key_ids={}) const
 
aws_cryptosdk_keyringBuildDiscovery (const Aws::Set< Aws::String > &regions, std::shared_ptr< KmsKeyring::DiscoveryFilter > discovery_filter=nullptr) const
 

Detailed Description

Helper class for building multi-keyrings composed of KmsMrkAwareSymmetricKeyring objects.

Definition at line 190 of file kms_mrk_keyring.h.

Member Function Documentation

◆ Build() [1/2]

aws_cryptosdk_keyring * Aws::Cryptosdk::KmsMrkAwareSymmetricKeyring::MultiKeyringBuilder::Build ( const Aws::String & generator_key_id,
const Aws::Vector< Aws::String > & additional_key_ids = {} ) const

Builds a strict-mode multi-keyring, i.e. a multi-keyring composed of KmsMrkAwareSymmetricKeyring objects in strict mode. The resulting multi-keyring will only attempt to encrypt or decrypt using key identifiers provided as the generator key ID or additional key IDs, as well as key identifiers which are multi-region replicas.

◆ Build() [2/2]

aws_cryptosdk_keyring * Aws::Cryptosdk::KmsMrkAwareSymmetricKeyring::MultiKeyringBuilder::Build ( const Aws::Vector< Aws::String > & additional_key_ids = {}) const

Builds a strict-mode multi-keyring, i.e. a multi-keyring composed of KmsMrkAwareSymmetricKeyring objects in strict mode. The resulting multi-keyring will only attempt to encrypt or decrypt using the key identifiers provided, well as key identifiers which are multi-region replicas.

It will not generate data keys - to create a strict-mode multi-keyring that generates data keys, use Build(const Aws::String &, const Aws::Vector<Aws::String> &).

◆ BuildDiscovery()

aws_cryptosdk_keyring * Aws::Cryptosdk::KmsMrkAwareSymmetricKeyring::MultiKeyringBuilder::BuildDiscovery ( const Aws::Set< Aws::String > & regions,
std::shared_ptr< KmsKeyring::DiscoveryFilter > discovery_filter = nullptr ) const

Builds a discovery-mode multi-keyring, i.e. a multi-keyring composed of KmsMrkAwareSymmetricKeyring objects in discovery mode, one for each provided region.

◆ WithClientSupplier()

MultiKeyringBuilder & Aws::Cryptosdk::KmsMrkAwareSymmetricKeyring::MultiKeyringBuilder::WithClientSupplier ( const std::shared_ptr< KmsKeyring::ClientSupplier > & client_supplier)

Sets the object that supplies and caches KMSClient instances. This allows sharing of a client cache among multiple KMS keyrings. A client supplier which caches KMS clients only within this KMS keyring will be created by default if one is not provided.

◆ WithGrantToken()

MultiKeyringBuilder & Aws::Cryptosdk::KmsMrkAwareSymmetricKeyring::MultiKeyringBuilder::WithGrantToken ( const Aws::String & grant_token)

Adds a single grant token. For more information, see http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token

May be called multiple times, adding additional grant tokens to the list that the keyring is configured with. Once a grant token is added to the builder, it is not removable. To build a KmsMrkAwareSymmetricKeyring with a different set of grant tokens, use a different builder.

◆ WithGrantTokens()

MultiKeyringBuilder & Aws::Cryptosdk::KmsMrkAwareSymmetricKeyring::MultiKeyringBuilder::WithGrantTokens ( const Aws::Vector< Aws::String > & grant_tokens)

Adds multiple grant tokens. For more information, see http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token

May be called multiple times, adding additional grant tokens to the list that the keyring is configured with. Once a grant token is added to the builder, it is not removable. To build a KmsMrkAwareSymmetricKeyring with a different set of grant tokens, use a different builder.


The documentation for this class was generated from the following file: