azure-armrest 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|