Sha256: 06e10606f6a61c360d0ba958fc27a254d008693cecdedaf6e2ee3511bf1c17b0

Contents?: true

Size: 1.36 KB

Versions: 75

Compression:

Stored size: 1.36 KB

Contents

module Fog
  module AWS
    class Federation < Fog::Service
      extend Fog::AWS::CredentialFetcher::ServiceMethods

      recognizes :instrumentor, :instrumentor_name

      request_path 'fog/aws/requests/federation'

      request 'get_signin_token'

      class Mock
        def self.data
          @data ||= {}
        end

        def self.reset
          @data = nil
        end

        def initialize(options={})
        end

        def data
          self.class.data
        end

        def reset_data
          self.class.reset
        end
      end

      class Real
        include Fog::AWS::CredentialFetcher::ConnectionMethods

        def initialize(options={})
          @instrumentor       = options[:instrumentor]
          @instrumentor_name  = options[:instrumentor_name]  || 'fog.aws.federation'
          @connection_options = options[:connection_options] || {}
          @host               = 'signin.aws.amazon.com'
          @path               = '/federation'
          @scheme             = 'https'
          @connection         = Excon.new("#{@scheme}://#{@host}#{@path}")
        end

        def request(action, session)
          response = @connection.get(
            :query   => "Action=#{action}&SessionType=json&Session=#{session}",
            :expects => 200
          ).body
          Fog::JSON.decode(response)
        end
      end
    end
  end
end

Version data entries

75 entries across 73 versions & 3 rubygems

Version Path
fog-aws-0.8.0 lib/fog/aws/federation.rb
vagrant-cloudstack-1.2.0 vendor/bundle/gems/fog-aws-0.7.5/lib/fog/aws/federation.rb
fog-aws-0.7.6 lib/fog/aws/federation.rb
fog-aws-0.7.5 lib/fog/aws/federation.rb
fog-aws-0.7.4 lib/fog/aws/federation.rb
fog-aws-0.7.3 lib/fog/aws/federation.rb
fog-aws-0.7.2 lib/fog/aws/federation.rb
fog-aws-0.6.0 lib/fog/aws/federation.rb
fog-aws-0.5.0 lib/fog/aws/federation.rb
fog-aws-0.4.1 lib/fog/aws/federation.rb
fog-aws-0.4.0 lib/fog/aws/federation.rb
fog-aws-0.3.0 lib/fog/aws/federation.rb
fog-aws-0.2.2 lib/fog/aws/federation.rb
fog-aws-0.2.0 lib/fog/aws/federation.rb
fog-aws-0.1.2 lib/fog/aws/federation.rb