mongoc_client_encryption_opts_set_kms_credential_provider_callback ()#

New in version 1.23.0.


mongoc_client_encryption_opts_set_kms_credential_provider_callback (
  mongoc_client_encryption_opts_t *opts,
  mongoc_kms_credentials_provider_callback_fn fn,
  void *userdata);

Set the user-provided callback to provide KMS credentials on-demand when they are needed.


  • opts - The options object to update.

  • fn - The provider callback to set on the options object. May be NULL to clear the callback. Refer to: mongoc_kms_credentials_provider_callback_fn

  • userdata - An arbitrary pointer that will be passed along to the callback function when it is called by libmongoc.


type mongoc_kms_credentials_provider_callback_fn#
bool (*mongoc_kms_credentials_provider_callback_fn) (void *userdata,
                                                     const bson_t *params,
                                                     bson_t *out,
                                                     bson_error_t *error);

The type of a callback function for providing KMS providers data on-demand.

  • userdata - The same userdata pointer provided to the userdata parameter when the callback was set.

  • params - Parameters for the requested KMS credentials. Currently empty.

  • out - The output bson_t in which to write the new KMS providers. When passed to the callback, this already points to an empty BSON document which must be populated.

  • error - An output parameter for indicating any errors that might occur while generating the KMS credentials.

Return value:

Must return true on success, false on failure.