Class: Mongo::Crypt::KMS::Credentials Private
- Inherits:
-
Object
- Object
- Mongo::Crypt::KMS::Credentials
- Defined in:
- build/ruby-driver-master/lib/mongo/crypt/kms/credentials.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 Credentials object contains credentials for using KMS providers.
Instance Method Summary collapse
-
#initialize(kms_providers) ⇒ Credentials
constructor
private
Creates a KMS credentials object form a parameters hash.
-
#to_document ⇒ BSON::Document
private
Convert credentials object to a BSON document in libmongocrypt format.
Constructor Details
#initialize(kms_providers) ⇒ Credentials
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.
There may be more than one KMS provider specified.
Creates a KMS credentials object form a parameters hash.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'build/ruby-driver-master/lib/mongo/crypt/kms/credentials.rb', line 39 def initialize(kms_providers) if kms_providers.nil? raise ArgumentError.new("KMS providers options must not be nil") end if kms_providers.key?(:aws) @aws = AWS::Credentials.new(kms_providers[:aws]) end if kms_providers.key?(:azure) @azure = Azure::Credentials.new(kms_providers[:azure]) end if kms_providers.key?(:gcp) @gcp = GCP::Credentials.new(kms_providers[:gcp]) end if kms_providers.key?(:kmip) @kmip = KMIP::Credentials.new(kms_providers[:kmip]) end if kms_providers.key?(:local) @local = Local::Credentials.new(kms_providers[:local]) end if @aws.nil? && @azure.nil? && @gcp.nil? && @kmip.nil? && @local.nil? raise ArgumentError.new( "KMS providers options must have one of the following keys: " + ":aws, :azure, :gcp, :kmip, :local" ) 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 credentials object to a BSON document in libmongocrypt format.
69 70 71 72 73 74 75 76 77 |
# File 'build/ruby-driver-master/lib/mongo/crypt/kms/credentials.rb', line 69 def to_document BSON::Document.new({}).tap do |bson| bson[:aws] = @aws.to_document if @aws bson[:azure] = @azure.to_document if @azure bson[:gcp] = @gcp.to_document if @gcp bson[:kmip] = @kmip.to_document if @kmip bson[:local] = @local.to_document if @local end end |