Sha256: 03c71b0cbdfbff2aef046d049ff0429b0973a45830137022c1a1ebaefa0cbf0c
Contents?: true
Size: 1.59 KB
Versions: 43
Compression:
Stored size: 1.59 KB
Contents
# frozen_string_literal: true require_relative "abstract_factory" require_relative "../providers/assume_role_credentials" require_relative "../providers/mfa_session_credentials" class AwsAssumeRole::Credentials::Factories::AssumeRole < AwsAssumeRole::Credentials::Factories::AbstractFactory include AwsAssumeRole::Credentials::Factories type :credential_provider priority 20 def initialize(options) logger.debug "AwsAssumeRole::Credentials::Factories::AssumeRole initiated with #{options}" return unless options[:profile] || options[:role_arn] if options[:profile] logger.debug "AwsAssumeRole: #{options[:profile]} found. Trying with profile" try_with_profile(options) else if options[:use_mfa] options[:credentials] = AwsAssumeRole::Credentials::Providers::MfaSessionCredentials.new(options).credentials end @credentials = AwsAssumeRole::Credentials::Providers::AssumeRoleCredentials.new(options) end end def try_with_profile(options) return unless AwsAssumeRole.shared_config.config_enabled? logger.debug "AwsAssumeRole: Shared Config enabled" @profile = options[:profile] @region = options[:region] @credentials = assume_role_with_profile(options) @region ||= AwsAssumeRole.shared_config.profile_region(@profile) @role_arn ||= AwsAssumeRole.shared_config.profile_role(@profile) end def assume_role_with_profile(options) AwsAssumeRole.shared_config.assume_role_credentials_from_config(options) end end
Version data entries
43 entries across 43 versions & 1 rubygems