Sha256: 4983f4fca8c8e0415175c09609c19ae13f949909b0583b26b1e1a2bebb400a43

Contents?: true

Size: 1.26 KB

Versions: 1

Compression:

Stored size: 1.26 KB

Contents

module Fog
  module Credentials
    # This class is managing credentials token
    class AzureRM
      def self.get_credentials(tenant_id, client_id, client_secret)
        if @credentials.nil? || new_client(tenant_id, client_id, client_secret)
          get_new_credentials(tenant_id, client_id, client_secret)
        else
          @credentials
        end
      end

      def self.get_token(tenant_id, client_id, client_secret)
        get_credentials(tenant_id, client_id, client_secret) if @credentials.nil?
        @token_provider.get_authentication_header
      end

      def self.get_new_credentials(tenant_id, client_id, client_secret)
        @tenant_id = tenant_id
        @client_id = client_id
        @client_secret = client_secret
        @token_provider = MsRestAzure::ApplicationTokenProvider.new(@tenant_id, @client_id, @client_secret)
        @credentials = MsRest::TokenCredentials.new(@token_provider)
        @credentials
      end

      def self.new_client(tenant_id, client_id, client_secret)
        @tenant_id != tenant_id ||
          @client_id != client_id ||
          @client_secret != client_secret
      end

      private_class_method :get_new_credentials
      private_class_method :new_client
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fog-azure-rm-0.0.3 lib/fog/azurerm/credentials.rb