AWS Encryption SDK for C v2.4
|
#include <kms_mrk_keyring.h>
Public Member Functions | |
MultiKeyringBuilder & | WithGrantToken (const Aws::String &grant_token) |
MultiKeyringBuilder & | WithGrantTokens (const Aws::Vector< Aws::String > &grant_tokens) |
MultiKeyringBuilder & | WithClientSupplier (const std::shared_ptr< KmsKeyring::ClientSupplier > &client_supplier) |
aws_cryptosdk_keyring * | Build (const Aws::String &generator_key_id, const Aws::Vector< Aws::String > &additional_key_ids={}) const |
aws_cryptosdk_keyring * | Build (const Aws::Vector< Aws::String > &additional_key_ids={}) const |
aws_cryptosdk_keyring * | BuildDiscovery (const Aws::Set< Aws::String > ®ions, std::shared_ptr< KmsKeyring::DiscoveryFilter > discovery_filter=nullptr) const |
Helper class for building multi-keyrings composed of KmsMrkAwareSymmetricKeyring objects.
Definition at line 190 of file kms_mrk_keyring.h.
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.
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> &).
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.
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.
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.
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.