MongoDB C++ Driver mongocxx-4.0.0
|
#include <mongocxx/v_noabi/mongocxx/options/client_encryption.hpp>
Class representing options for the object managing explicit client-side encryption.
Public Types | |
using | ns_pair = std::pair<std::string, std::string> |
Represents the name of a database and a collection. | |
Public Member Functions | |
const bsoncxx::v_noabi::stdx::optional< mongocxx::v_noabi::client * > & | key_vault_client () const |
Gets the key vault client. | |
client_encryption & | key_vault_client (mongocxx::v_noabi::client *client) |
When the key vault collection is on a separate MongoDB cluster, sets the optional client to use to route data key queries to that cluster. | |
const bsoncxx::v_noabi::stdx::optional< ns_pair > & | key_vault_namespace () const |
Gets the key vault namespace. | |
client_encryption & | key_vault_namespace (ns_pair ns) |
Sets the namespace to use to access the key vault collection, which contains all data keys used for encryption and decryption. This option must be set: | |
const bsoncxx::v_noabi::stdx::optional< bsoncxx::v_noabi::document::view_or_value > & | kms_providers () const |
Gets the KMS providers. | |
client_encryption & | kms_providers (bsoncxx::v_noabi::document::view_or_value kms_providers) |
Sets the KMS providers to use for client side encryption. | |
const bsoncxx::v_noabi::stdx::optional< bsoncxx::v_noabi::document::view_or_value > & | tls_opts () const |
Gets the TLS options. | |
client_encryption & | tls_opts (bsoncxx::v_noabi::document::view_or_value tls_opts) |
Sets the TLS options to use for client side encryption with a given KMS provider. | |
using mongocxx::v_noabi::options::client_encryption::ns_pair = std::pair<std::string, std::string> |
Represents the name of a database and a collection.
const bsoncxx::v_noabi::stdx::optional< mongocxx::v_noabi::client * > & mongocxx::v_noabi::options::client_encryption::key_vault_client | ( | ) | const |
Gets the key vault client.
client_encryption & mongocxx::v_noabi::options::client_encryption::key_vault_client | ( | mongocxx::v_noabi::client * | client | ) |
When the key vault collection is on a separate MongoDB cluster, sets the optional client to use to route data key queries to that cluster.
client | A client to use for routing queries to the key vault collection. |
const bsoncxx::v_noabi::stdx::optional< ns_pair > & mongocxx::v_noabi::options::client_encryption::key_vault_namespace | ( | ) | const |
Gets the key vault namespace.
client_encryption & mongocxx::v_noabi::options::client_encryption::key_vault_namespace | ( | ns_pair | ns | ) |
Sets the namespace to use to access the key vault collection, which contains all data keys used for encryption and decryption. This option must be set:
client_encryption.key_vault_namespace({ "db", "coll" });
ns | A std::pair of strings representing the db and collection to use to access the key vault. |
const bsoncxx::v_noabi::stdx::optional< bsoncxx::v_noabi::document::view_or_value > & mongocxx::v_noabi::options::client_encryption::kms_providers | ( | ) | const |
Gets the KMS providers.
client_encryption & mongocxx::v_noabi::options::client_encryption::kms_providers | ( | bsoncxx::v_noabi::document::view_or_value | kms_providers | ) |
Sets the KMS providers to use for client side encryption.
Multiple KMS providers may be specified. Supported KMS providers are "aws", "azure", "gcp", "kmip", and "local". The kmsProviders map values differ by provider:
kms_providers | A document containing the KMS providers. |
const bsoncxx::v_noabi::stdx::optional< bsoncxx::v_noabi::document::view_or_value > & mongocxx::v_noabi::options::client_encryption::tls_opts | ( | ) | const |
Gets the TLS options.
client_encryption & mongocxx::v_noabi::options::client_encryption::tls_opts | ( | bsoncxx::v_noabi::document::view_or_value | tls_opts | ) |
Sets the TLS options to use for client side encryption with a given KMS provider.
Multiple KMS providers may be specified. Supported KMS providers are "aws", "azure", "gcp", and "kmip". The map value has the same form for all supported providers:
tls_opts | A document containing the TLS options. |