class Mongo::Crypt::KMS::KMIP::MasterKeyDocument
KMIP KMS master key document object contains KMS master key parameters.
@api private
Constants
- FORMAT_HINT
Attributes
key_id[R]
@return [ String | nil ] The KMIP Unique Identifier to a 96 byte
KMIP Secret Data managed object.
Public Class Methods
new(opts = {})
click to toggle source
Creates a master key document object form a parameters hash.
@param [ Hash ] opts A hash that contains master key options for
KMIP KMS provider
@option opts [ String | nil ] :key_id KMIP Unique Identifier to
a 96 byte KMIP Secret Data managed object, optional. If key_id is omitted, the driver creates a random 96 byte identifier.
@option opts [ String | nil ] :endpoint KMIP endpoint, optional.
@raise [ ArgumentError ] If required options are missing or incorrectly
formatted.
# File lib/mongo/crypt/kms/kmip/master_document.rb, line 48 def initialize(opts = {}) @key_id = validate_param( :key_id, opts, FORMAT_HINT, required: false ) @endpoint = validate_param( :endpoint, opts, FORMAT_HINT, required: false ) end
Public Instance Methods
to_document()
click to toggle source
Convert master key document object to a BSON document in libmongocrypt format.
@return [ BSON::Document ] KMIP KMS credentials in libmongocrypt format.
# File lib/mongo/crypt/kms/kmip/master_document.rb, line 60 def to_document BSON::Document.new({ provider: 'kmip', }).tap do |bson| bson.update({ endpoint: endpoint }) unless endpoint.nil? bson.update({ keyId: key_id }) unless key_id.nil? end end