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

Class: Mongo::Crypt::KMS::Azure::CredentialsRetrieverPrivate

Inherits:

Object

Defined in:

lib/mongo/crypt/kms/azure/credentials_retriever.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.

This class retrieves Azure credentials using Azure metadata host. This should be used when the driver is used on the Azure environment.

Constant Summarycollapse

DEFAULT_HOST =

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.

Default host to obtain Azure metadata.

'169.254.169.254'

Class Method Summarycollapse

Class Method Details

.fetch_access_token(extra_headers: {}, metadata_host: nil, timeout_holder: nil) ⇒ KMS::Azure::AccessToken

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.

Fetches Azure credentials from Azure metadata host.

44 45 46 47 48 49 50 51 52 53 54 # File 'lib/mongo/crypt/kms/azure/credentials_retriever.rb', line 44 def self.fetch_access_token(extra_headers: {}, metadata_host: nil, timeout_holder: nil) uri, req = prepare_request(, metadata_host) parsed_response = fetch_response(uri, req, timeout_holder) Azure::AccessToken.new( parsed_response.fetch('access_token'), Integer(parsed_response.fetch('expires_in')) ) rescue KeyError, ArgumentError => e raise KMS::CredentialsNotFound, "Azure metadata response is invalid: '#{parsed_response}'; #{e.class}: #{e.message}" end