azure-armrest 0.3.0 → 0.3.1
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 -3
- data/CHANGES +9 -0
- data/azure-armrest.gemspec +2 -1
- data/lib/azure/armrest.rb +1 -0
- data/lib/azure/armrest/availability_set_service.rb +0 -4
- data/lib/azure/armrest/model/storage_account.rb +3 -5
- data/lib/azure/armrest/resource_group_based_service.rb +8 -11
- data/lib/azure/armrest/storage_account_service.rb +10 -15
- data/lib/azure/armrest/version.rb +1 -1
- metadata +18 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 81c1664938977f85f9b79045d208233777851e8a
         | 
| 4 | 
            +
              data.tar.gz: 4418b381009c2c0274e7fd45f217ca114a44ae8e
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: b101ce1ef690827027dfd59ab2c509064afd8f488cc96b6879466ae29d9dca2b699a4fa6227022b5594e8f575f173f14e1a6c66805baa0d8cbdeee377c9ea236
         | 
| 7 | 
            +
              data.tar.gz: 274f153ce11e6628d91bdf0bc21ef0dc15ad88c2bdf801705a5cdc14d159d3fff5ef1a61dbe370fb57d8a56b61facee9d67d89569fc9be0e6cc2a661bf1dd1a7
         | 
    
        data/.travis.yml
    CHANGED
    
    
    
        data/CHANGES
    CHANGED
    
    | @@ -1,3 +1,12 @@ | |
| 1 | 
            +
            = 0.3.1 - 14-Jul-2016
         | 
| 2 | 
            +
            * Now uses the parallel gem and thread pools for those few methods where
         | 
| 3 | 
            +
              we were using threaded methods internally in order to reduce errors
         | 
| 4 | 
            +
              caused by too many requests.
         | 
| 5 | 
            +
            * Updated the rest-client dependency to 2.0.0 now that it has been released.
         | 
| 6 | 
            +
            * Updated travis.yml to only test 2.2.5 and 2.3.1 for now. Partly due to a
         | 
| 7 | 
            +
              change in the activesupport gem.
         | 
| 8 | 
            +
            * One rspec fix for 2.3.x.
         | 
| 9 | 
            +
             | 
| 1 10 | 
             
            = 0.3.0 - 28-Jun-2016
         | 
| 2 11 | 
             
            * The configuration handling has been moved into its own class called
         | 
| 3 12 | 
             
              Azure::Armrest::Configuration. You can call this explicitly using :new,
         | 
    
        data/azure-armrest.gemspec
    CHANGED
    
    | @@ -20,12 +20,13 @@ behind the scenes. | |
| 20 20 | 
             
              EOF
         | 
| 21 21 |  | 
| 22 22 | 
             
              spec.add_dependency 'json'
         | 
| 23 | 
            -
              spec.add_dependency 'rest-client', '~> 2.0.0 | 
| 23 | 
            +
              spec.add_dependency 'rest-client', '~> 2.0.0'
         | 
| 24 24 | 
             
              spec.add_dependency 'cache_method', '~> 0.2.7'
         | 
| 25 25 | 
             
              spec.add_dependency 'azure-signature', '~> 0.2.0'
         | 
| 26 26 | 
             
              spec.add_dependency 'activesupport', '>= 1.2.0'
         | 
| 27 27 | 
             
              spec.add_dependency 'nokogiri', '~> 1.6.0'
         | 
| 28 28 | 
             
              spec.add_dependency 'addressable', '~> 2.4.0'
         | 
| 29 | 
            +
              spec.add_dependency 'parallel', '~> 1.9.0'
         | 
| 29 30 |  | 
| 30 31 | 
             
              spec.add_development_dependency 'bundler'
         | 
| 31 32 | 
             
              spec.add_development_dependency 'rake'
         | 
    
        data/lib/azure/armrest.rb
    CHANGED
    
    
| @@ -215,14 +215,12 @@ module Azure | |
| 215 215 | 
             
                  def all_blobs(key = nil)
         | 
| 216 216 | 
             
                    key ||= properties.key1
         | 
| 217 217 | 
             
                    array = []
         | 
| 218 | 
            -
                     | 
| 218 | 
            +
                    mutex = Mutex.new
         | 
| 219 219 |  | 
| 220 | 
            -
                    containers(key) | 
| 221 | 
            -
                       | 
| 220 | 
            +
                    Parallel.each(containers(key), :in_threads => 10) do |container|
         | 
| 221 | 
            +
                      mutex.synchronize { array << blobs(container.name, key) }
         | 
| 222 222 | 
             
                    end
         | 
| 223 223 |  | 
| 224 | 
            -
                    threads.each(&:join)
         | 
| 225 | 
            -
             | 
| 226 224 | 
             
                    array.flatten
         | 
| 227 225 | 
             
                  end
         | 
| 228 226 |  | 
| @@ -75,23 +75,20 @@ module Azure | |
| 75 75 | 
             
                    @model_class ||= Object.const_get(self.class.to_s.sub(/Service$/, ''))
         | 
| 76 76 | 
             
                  end
         | 
| 77 77 |  | 
| 78 | 
            -
                  # Aggregate resources from  | 
| 79 | 
            -
                  # | 
| 78 | 
            +
                  # Aggregate resources from all resource groups.
         | 
| 79 | 
            +
                  #
         | 
| 80 | 
            +
                  # To be used in the cases where the API does not support list_all with one call.
         | 
| 81 | 
            +
                  #
         | 
| 80 82 | 
             
                  def list_in_all_groups
         | 
| 81 83 | 
             
                    array = []
         | 
| 82 | 
            -
                    threads = []
         | 
| 83 84 | 
             
                    mutex = Mutex.new
         | 
| 84 85 |  | 
| 85 | 
            -
                     | 
| 86 | 
            -
                       | 
| 87 | 
            -
             | 
| 88 | 
            -
             | 
| 89 | 
            -
                        mutex.synchronize { array << results } unless results.blank?
         | 
| 90 | 
            -
                      end
         | 
| 86 | 
            +
                    Parallel.each(list_resource_groups, :in_threads => 10) do |rg|
         | 
| 87 | 
            +
                      response = rest_get(build_url(rg.name))
         | 
| 88 | 
            +
                      results = JSON.parse(response)['value'].map { |hash| model_class.new(hash) }
         | 
| 89 | 
            +
                      mutex.synchronize { array << results } unless results.blank?
         | 
| 91 90 | 
             
                    end
         | 
| 92 91 |  | 
| 93 | 
            -
                    threads.each(&:join)
         | 
| 94 | 
            -
             | 
| 95 92 | 
             
                    array.flatten
         | 
| 96 93 | 
             
                  end
         | 
| 97 94 | 
             
                end
         | 
| @@ -246,30 +246,25 @@ module Azure | |
| 246 246 | 
             
                  #
         | 
| 247 247 | 
             
                  def get_private_images(storage_accounts)
         | 
| 248 248 | 
             
                    results = []
         | 
| 249 | 
            -
                    threads = []
         | 
| 250 249 | 
             
                    mutex = Mutex.new
         | 
| 251 250 |  | 
| 252 | 
            -
                     | 
| 253 | 
            -
                       | 
| 254 | 
            -
                        key = get_account_key(storage_account)
         | 
| 251 | 
            +
                    Parallel.each(storage_accounts, :in_threads => 10) do |storage_account|
         | 
| 252 | 
            +
                      key = get_account_key(storage_account)
         | 
| 255 253 |  | 
| 256 | 
            -
             | 
| 257 | 
            -
             | 
| 258 | 
            -
             | 
| 254 | 
            +
                      storage_account.all_blobs(key).each do |blob|
         | 
| 255 | 
            +
                        next unless File.extname(blob.name).casecmp('.vhd') == 0
         | 
| 256 | 
            +
                        next unless blob.properties.lease_state.casecmp('available') == 0
         | 
| 259 257 |  | 
| 260 | 
            -
             | 
| 261 | 
            -
             | 
| 262 | 
            -
             | 
| 258 | 
            +
                        blob_properties = storage_account.blob_properties(blob.container, blob.name, key)
         | 
| 259 | 
            +
                        next unless blob_properties.respond_to?(:x_ms_meta_microsoftazurecompute_osstate)
         | 
| 260 | 
            +
                        next unless blob_properties.x_ms_meta_microsoftazurecompute_osstate.casecmp('generalized') == 0
         | 
| 263 261 |  | 
| 264 | 
            -
             | 
| 265 | 
            -
             | 
| 266 | 
            -
                          end
         | 
| 262 | 
            +
                        mutex.synchronize do
         | 
| 263 | 
            +
                          results << blob_to_private_image_object(storage_account, blob, blob_properties)
         | 
| 267 264 | 
             
                        end
         | 
| 268 265 | 
             
                      end
         | 
| 269 266 | 
             
                    end
         | 
| 270 267 |  | 
| 271 | 
            -
                    threads.each(&:join)
         | 
| 272 | 
            -
             | 
| 273 268 | 
             
                    results
         | 
| 274 269 | 
             
                  end
         | 
| 275 270 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: azure-armrest
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.3. | 
| 4 | 
            +
              version: 0.3.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Daniel J. Berger
         | 
| @@ -11,7 +11,7 @@ authors: | |
| 11 11 | 
             
            autorequire: 
         | 
| 12 12 | 
             
            bindir: bin
         | 
| 13 13 | 
             
            cert_chain: []
         | 
| 14 | 
            -
            date: 2016- | 
| 14 | 
            +
            date: 2016-07-14 00:00:00.000000000 Z
         | 
| 15 15 | 
             
            dependencies:
         | 
| 16 16 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 17 17 | 
             
              name: json
         | 
| @@ -33,14 +33,14 @@ dependencies: | |
| 33 33 | 
             
                requirements:
         | 
| 34 34 | 
             
                - - "~>"
         | 
| 35 35 | 
             
                  - !ruby/object:Gem::Version
         | 
| 36 | 
            -
                    version: 2.0.0 | 
| 36 | 
            +
                    version: 2.0.0
         | 
| 37 37 | 
             
              type: :runtime
         | 
| 38 38 | 
             
              prerelease: false
         | 
| 39 39 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 40 40 | 
             
                requirements:
         | 
| 41 41 | 
             
                - - "~>"
         | 
| 42 42 | 
             
                  - !ruby/object:Gem::Version
         | 
| 43 | 
            -
                    version: 2.0.0 | 
| 43 | 
            +
                    version: 2.0.0
         | 
| 44 44 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 45 45 | 
             
              name: cache_method
         | 
| 46 46 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -111,6 +111,20 @@ dependencies: | |
| 111 111 | 
             
                - - "~>"
         | 
| 112 112 | 
             
                  - !ruby/object:Gem::Version
         | 
| 113 113 | 
             
                    version: 2.4.0
         | 
| 114 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 115 | 
            +
              name: parallel
         | 
| 116 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 117 | 
            +
                requirements:
         | 
| 118 | 
            +
                - - "~>"
         | 
| 119 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 120 | 
            +
                    version: 1.9.0
         | 
| 121 | 
            +
              type: :runtime
         | 
| 122 | 
            +
              prerelease: false
         | 
| 123 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 124 | 
            +
                requirements:
         | 
| 125 | 
            +
                - - "~>"
         | 
| 126 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 127 | 
            +
                    version: 1.9.0
         | 
| 114 128 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 115 129 | 
             
              name: bundler
         | 
| 116 130 | 
             
              requirement: !ruby/object:Gem::Requirement
         |