MasterKeyDocument — Documentation by YARD 0.9.37 (original) (raw)

Class: Mongo::Crypt::KMS::MasterKeyDocumentPrivate

Inherits:

Object

Defined in:

lib/mongo/crypt/kms/master_key_document.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

KMS master key document object contains KMS master key parameters that are used for creation of data keys.

Constant Summarycollapse

KMS_PROVIDERS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Known KMS provider names.

%w(aws azure gcp kmip local).freeze

Instance Method Summarycollapse

Constructor Details

#initialize(kms_provider, options) ⇒ MasterKeyDocument

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Creates a master key document object form a parameters hash.

40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 # File 'lib/mongo/crypt/kms/master_key_document.rb', line 40 def initialize(kms_provider, options) if options.nil? raise ArgumentError.new('Key document options must not be nil') end master_key = options.fetch(:master_key, {}) @key_document = case kms_provider.to_s when 'aws' then KMS::AWS::MasterKeyDocument.new(master_key) when 'azure' then KMS::Azure::MasterKeyDocument.new(master_key) when 'gcp' then KMS::GCP::MasterKeyDocument.new(master_key) when 'kmip' then KMS::KMIP::MasterKeyDocument.new(master_key) when 'local' then KMS::Local::MasterKeyDocument.new(master_key) else raise ArgumentError.new("KMS provider must be one of #{KMS_PROVIDERS}") end end

Instance Method Details

#to_document ⇒ BSON::Document

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Convert master key document object to a BSON document in libmongocrypt format.

59 60 61 # File 'lib/mongo/crypt/kms/master_key_document.rb', line 59 def to_document @key_document.to_document end