fog-aws 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +2 -2
- data/CHANGELOG.md +12 -1
- data/fog-aws.gemspec +1 -1
- data/gemfiles/Gemfile-ruby-1.9 +6 -0
- data/lib/fog/aws/credential_fetcher.rb +19 -4
- data/lib/fog/aws/models/rds/cluster.rb +2 -2
- data/lib/fog/aws/models/storage/file.rb +9 -2
- data/lib/fog/aws/version.rb +1 -1
- data/tests/credentials_tests.rb +14 -0
- metadata +4 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: b96d5e8e4defc964f4f383e3db8e5e933101ea78
         | 
| 4 | 
            +
              data.tar.gz: ee9929b2c953ecd1962311725a3ae17ed4396a0c
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: bc2f7b1df08b2a0bf9fbd54a87db7d7b18c7d5360e7661f060a906e51685564d68f809521db01dfa40711389859fc2d69a6207d5d21024b5e9c0fdcb1ad91ea0
         | 
| 7 | 
            +
              data.tar.gz: 391f26896bb27d3fc601329a11d68aac5d865a3bd1c9fff1319f02cd789d8bad7ce91d1ad152e7607175ab80ff43baa196d153d35e2ec06d9f86c5aea73e6cfc
         | 
    
        data/.travis.yml
    CHANGED
    
    | @@ -10,7 +10,7 @@ matrix: | |
| 10 10 | 
             
              - rvm: 1.8.7
         | 
| 11 11 | 
             
                gemfile: gemfiles/Gemfile-ruby-1.8.7
         | 
| 12 12 | 
             
              - rvm: 1.9.3
         | 
| 13 | 
            -
                gemfile: Gemfile
         | 
| 13 | 
            +
                gemfile: gemfiles/Gemfile-ruby-1.9
         | 
| 14 14 | 
             
              - rvm: 2.0.0
         | 
| 15 15 | 
             
                gemfile: Gemfile
         | 
| 16 16 | 
             
              - rvm: 2.1.0
         | 
| @@ -30,7 +30,7 @@ matrix: | |
| 30 30 | 
             
              - rvm: jruby-18mode
         | 
| 31 31 | 
             
                gemfile: gemfiles/Gemfile-ruby-1.8.7
         | 
| 32 32 | 
             
              - rvm: jruby-19mode
         | 
| 33 | 
            -
                gemfile: Gemfile
         | 
| 33 | 
            +
                gemfile: gemfiles/Gemfile-ruby-1.9
         | 
| 34 34 | 
             
              - rvm: jruby-head
         | 
| 35 35 | 
             
                gemfile: Gemfile
         | 
| 36 36 | 
             
              allow_failures:
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -2,7 +2,18 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            ## [Unreleased](https://github.com/fog/fog-aws/tree/HEAD)
         | 
| 4 4 |  | 
| 5 | 
            -
            [Full Changelog](https://github.com/fog/fog-aws/compare/v0. | 
| 5 | 
            +
            [Full Changelog](https://github.com/fog/fog-aws/compare/v0.10.0...HEAD)
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            **Merged pull requests:**
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            - GitHub does no longer provide http:// pages [\#284](https://github.com/fog/fog-aws/pull/284) ([amatsuda](https://github.com/amatsuda))
         | 
| 10 | 
            +
            - Skip multipart if body size is less than chunk.  [\#283](https://github.com/fog/fog-aws/pull/283) ([brettcave](https://github.com/brettcave))
         | 
| 11 | 
            +
            - ECS container credentials [\#281](https://github.com/fog/fog-aws/pull/281) ([ryansch](https://github.com/ryansch))
         | 
| 12 | 
            +
            - test\(ci\): fix 1.9 builds with json \>= 2.0 [\#280](https://github.com/fog/fog-aws/pull/280) ([lanej](https://github.com/lanej))
         | 
| 13 | 
            +
            - Change DBSubnetGroup to DBSubnetGroupName model cluster while creation [\#279](https://github.com/fog/fog-aws/pull/279) ([chanakyacool](https://github.com/chanakyacool))
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            ## [v0.10.0](https://github.com/fog/fog-aws/tree/v0.10.0) (2016-07-15)
         | 
| 16 | 
            +
            [Full Changelog](https://github.com/fog/fog-aws/compare/v0.9.4...v0.10.0)
         | 
| 6 17 |  | 
| 7 18 | 
             
            **Closed issues:**
         | 
| 8 19 |  | 
    
        data/fog-aws.gemspec
    CHANGED
    
    | @@ -11,7 +11,7 @@ Gem::Specification.new do |spec| | |
| 11 11 | 
             
              spec.summary       = %q{Module for the 'fog' gem to support Amazon Web Services.}
         | 
| 12 12 | 
             
              spec.description   = %q{This library can be used as a module for `fog` or as standalone provider
         | 
| 13 13 | 
             
                                    to use the Amazon Web Services in applications..}
         | 
| 14 | 
            -
              spec.homepage      = " | 
| 14 | 
            +
              spec.homepage      = "https://github.com/fog/fog-aws"
         | 
| 15 15 | 
             
              spec.license       = "MIT"
         | 
| 16 16 |  | 
| 17 17 | 
             
              spec.files         = `git ls-files -z`.split("\x0")
         | 
| @@ -6,6 +6,8 @@ module Fog | |
| 6 6 | 
             
                  INSTANCE_METADATA_PATH = "/latest/meta-data/iam/security-credentials/"
         | 
| 7 7 | 
             
                  INSTANCE_METADATA_AZ = "/latest/meta-data/placement/availability-zone/"
         | 
| 8 8 |  | 
| 9 | 
            +
                  CONTAINER_CREDENTIALS_HOST = "http://169.254.170.2"
         | 
| 10 | 
            +
             | 
| 9 11 | 
             
                  module ServiceMethods
         | 
| 10 12 | 
             
                    def fetch_credentials(options)
         | 
| 11 13 | 
             
                      if options[:use_iam_profile] && Fog.mocking?
         | 
| @@ -13,10 +15,23 @@ module Fog | |
| 13 15 | 
             
                      end
         | 
| 14 16 | 
             
                      if options[:use_iam_profile]
         | 
| 15 17 | 
             
                        begin
         | 
| 16 | 
            -
                           | 
| 17 | 
            -
                           | 
| 18 | 
            -
             | 
| 19 | 
            -
                           | 
| 18 | 
            +
                          role_data = nil
         | 
| 19 | 
            +
                          az_data = nil
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                          if ENV["AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"]
         | 
| 22 | 
            +
                            connection = options[:connection] || Excon.new(CONTAINER_CREDENTIALS_HOST)
         | 
| 23 | 
            +
                            credential_path = options[:credential_path] || ENV["AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"]
         | 
| 24 | 
            +
                            role_data = connection.get(:path => credential_path, :expects => 200).body
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                            connection = options[:metadata_connection] || Excon.new(INSTANCE_METADATA_HOST)
         | 
| 27 | 
            +
                            az_data = connection.get(:path => INSTANCE_METADATA_AZ, :expects => 200).body
         | 
| 28 | 
            +
                          else
         | 
| 29 | 
            +
                            connection = options[:connection] || Excon.new(INSTANCE_METADATA_HOST)
         | 
| 30 | 
            +
                            role_name = connection.get(:path => INSTANCE_METADATA_PATH, :expects => 200).body
         | 
| 31 | 
            +
                            role_data = connection.get(:path => INSTANCE_METADATA_PATH+role_name, :expects => 200).body
         | 
| 32 | 
            +
                            az_data = connection.get(:path => INSTANCE_METADATA_AZ, :expects => 200).body
         | 
| 33 | 
            +
                          end
         | 
| 34 | 
            +
             | 
| 20 35 | 
             
                          region = az_data[0..-2] # get region from az
         | 
| 21 36 |  | 
| 22 37 | 
             
                          session = Fog::JSON.decode(role_data)
         | 
| @@ -8,7 +8,7 @@ module Fog | |
| 8 8 | 
             
                    attribute :backup_retention_period,      :aliases => 'BackupRetentionPeriod',     :type => :integer
         | 
| 9 9 | 
             
                    attribute :db_cluster_members,           :aliases => 'DBClusterMembers',          :type => :array
         | 
| 10 10 | 
             
                    attribute :db_cluster_parameter_group,   :aliases => 'DBClusterParameterGroup'
         | 
| 11 | 
            -
                    attribute :db_subnet_group,              :aliases => ' | 
| 11 | 
            +
                    attribute :db_subnet_group,              :aliases => 'DBSubnetGroupName'
         | 
| 12 12 | 
             
                    attribute :endpoint,                     :aliases => 'Endpoint'
         | 
| 13 13 | 
             
                    attribute :engine,                       :aliases => 'Engine'
         | 
| 14 14 | 
             
                    attribute :engine_version,               :aliases => 'EngineVersion'
         | 
| @@ -72,7 +72,7 @@ module Fog | |
| 72 72 | 
             
                        'BackupRetentionPeriod'      => backup_retention_period,
         | 
| 73 73 | 
             
                        'DBClusterIdentifier'        => identity,
         | 
| 74 74 | 
             
                        'DBClusterParameterGroup'    => db_cluster_parameter_group,
         | 
| 75 | 
            -
                        ' | 
| 75 | 
            +
                        'DBSubnetGroupName'          => db_subnet_group,
         | 
| 76 76 | 
             
                        'Endpoint'                   => endpoint,
         | 
| 77 77 | 
             
                        'Engine'                     => engine,
         | 
| 78 78 | 
             
                        'EngineVersion'              => engine_version,
         | 
| @@ -27,7 +27,11 @@ module Fog | |
| 27 27 |  | 
| 28 28 | 
             
                    # @note Chunk size to use for multipart uploads.
         | 
| 29 29 | 
             
                    #     Use small chunk sizes to minimize memory. E.g. 5242880 = 5mb
         | 
| 30 | 
            -
                     | 
| 30 | 
            +
                    attr_reader :multipart_chunk_size
         | 
| 31 | 
            +
                    def multipart_chunk_size=(mp_chunk_size)
         | 
| 32 | 
            +
                      raise ArgumentError.new("minimum multipart_chunk_size is 5242880") if mp_chunk_size < 5242880
         | 
| 33 | 
            +
                      @multipart_chunk_size = mp_chunk_size
         | 
| 34 | 
            +
                    end
         | 
| 31 35 |  | 
| 32 36 | 
             
                    def acl
         | 
| 33 37 | 
             
                      requires :directory, :key
         | 
| @@ -205,7 +209,10 @@ module Fog | |
| 205 209 | 
             
                      options['x-amz-storage-class'] = storage_class if storage_class
         | 
| 206 210 | 
             
                      options.merge!(encryption_headers)
         | 
| 207 211 |  | 
| 208 | 
            -
                       | 
| 212 | 
            +
                      # With a single PUT operation you can upload objects up to 5 GB in size. Automatically set MP for larger objects.
         | 
| 213 | 
            +
                      multipart_chunk_size=5242880 if !multipart_chunk_size && Fog::Storage.get_body_size(body) > 5368709120
         | 
| 214 | 
            +
             | 
| 215 | 
            +
                      if multipart_chunk_size && Fog::Storage.get_body_size(body) >= multipart_chunk_size && body.respond_to?(:read)
         | 
| 209 216 | 
             
                        data = multipart_save(options)
         | 
| 210 217 | 
             
                        merge_attributes(data.body)
         | 
| 211 218 | 
             
                      else
         | 
    
        data/lib/fog/aws/version.rb
    CHANGED
    
    
    
        data/tests/credentials_tests.rb
    CHANGED
    
    | @@ -28,6 +28,19 @@ Shindo.tests('AWS | credentials', ['aws']) do | |
| 28 28 | 
             
                            :aws_credentials_expire_at => expires_at}) { Fog::Compute::AWS.fetch_credentials(:use_iam_profile => true) }
         | 
| 29 29 | 
             
                end
         | 
| 30 30 |  | 
| 31 | 
            +
                ENV["AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"] = '/v1/credentials?id=task_id'
         | 
| 32 | 
            +
                Excon.stub({:method => :get, :path => '/v1/credentials?id=task_id'}, {:status => 200, :body => Fog::JSON.encode(credentials)})
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                tests("#fetch_credentials") do
         | 
| 35 | 
            +
                  returns({:aws_access_key_id => 'dummykey',
         | 
| 36 | 
            +
                            :aws_secret_access_key => 'dummysecret',
         | 
| 37 | 
            +
                            :aws_session_token => 'dummytoken',
         | 
| 38 | 
            +
                            :region => "us-west-1",
         | 
| 39 | 
            +
                            :aws_credentials_expire_at => expires_at}) { Fog::Compute::AWS.fetch_credentials(:use_iam_profile => true) }
         | 
| 40 | 
            +
                end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                ENV["AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"] = nil
         | 
| 43 | 
            +
             | 
| 31 44 | 
             
                compute = Fog::Compute::AWS.new(:use_iam_profile => true)
         | 
| 32 45 |  | 
| 33 46 | 
             
                tests("#refresh_credentials_if_expired") do
         | 
| @@ -54,6 +67,7 @@ Shindo.tests('AWS | credentials', ['aws']) do | |
| 54 67 | 
             
                end
         | 
| 55 68 |  | 
| 56 69 | 
             
              ensure
         | 
| 70 | 
            +
                ENV["AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"] = nil
         | 
| 57 71 | 
             
                Excon.stubs.clear
         | 
| 58 72 | 
             
                Excon.defaults[:mock] = old_mock_value
         | 
| 59 73 | 
             
                Fog.unmock! if !fog_was_mocked
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: fog-aws
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.11.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Josh Lane
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2016- | 
| 12 | 
            +
            date: 2016-08-04 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: bundler
         | 
| @@ -145,6 +145,7 @@ files: | |
| 145 145 | 
             
            - fog-aws.gemspec
         | 
| 146 146 | 
             
            - gemfiles/Gemfile-edge
         | 
| 147 147 | 
             
            - gemfiles/Gemfile-ruby-1.8.7
         | 
| 148 | 
            +
            - gemfiles/Gemfile-ruby-1.9
         | 
| 148 149 | 
             
            - lib/fog/aws.rb
         | 
| 149 150 | 
             
            - lib/fog/aws/auto_scaling.rb
         | 
| 150 151 | 
             
            - lib/fog/aws/beanstalk.rb
         | 
| @@ -1603,7 +1604,7 @@ files: | |
| 1603 1604 | 
             
            - tests/signaturev4_tests.rb
         | 
| 1604 1605 | 
             
            - tests/signed_params_tests.rb
         | 
| 1605 1606 | 
             
            - tests/storage_tests.rb
         | 
| 1606 | 
            -
            homepage:  | 
| 1607 | 
            +
            homepage: https://github.com/fog/fog-aws
         | 
| 1607 1608 | 
             
            licenses:
         | 
| 1608 1609 | 
             
            - MIT
         | 
| 1609 1610 | 
             
            metadata: {}
         |