Sha256: 9329b5527d0a9db932ae686ce7b8dc08c5dcead17b9a906af27cc2bcd86ab142

Contents?: true

Size: 1.48 KB

Versions: 1

Compression:

Stored size: 1.48 KB

Contents

module Aws
  module Plugins

    # @seahorse.client.option [String] :access_key_id Your AWS account
    #   access key ID.  Defaults to `ENV['AWS_ACCESS_KEY_ID']`.
    #
    # @seahorse.client.option [String] :secret_access_key Your AWS account
    #   secret access key.  Defaults to `ENV['AWS_SECRET_ACCESS_KEY']`.
    #
    # @seahorse.client.option [String] :session_token If your credentials
    #   are temporary session credentials, this should be the
    #   session token.  Defaults to `ENV['AWS_SESSION_TOKEN']`.
    #
    # @seahorse.client.option [Credentials] :credentials
    #   Your AWS account credentials.  Defaults to a new {Credentials} object
    #   populated by `:access_key_id`, `:secret_access_key` and
    #   `:session_token`.
    #
    class Credentials < Seahorse::Client::Plugin

      option(:access_key_id) {
        ENV['AWS_ACCESS_KEY_ID'] || ENV['AMAZON_ACCESS_KEY_ID']
      }

      option(:secret_access_key) {
        ENV['AWS_SECRET_ACCESS_KEY'] || ENV['AMAZON_SECRET_ACCESS_KEY']
      }

      option(:session_token) {
        ENV['AWS_SESSION_TOKEN'] || ENV['AMAZON_SESSION_TOKEN']
      }

      option(:credentials) do |config|
        Aws::Credentials.new(
          config.access_key_id,
          config.secret_access_key,
          config.session_token)
      end

      def after_initialize(client)
        if client.config.credentials.nil? or !client.config.credentials.set?
          raise Errors::MissingCredentialsError
        end
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
aws-sdk-core-2.0.0.rc1 lib/aws/plugins/credentials.rb