azure-armrest 0.9.9 → 0.9.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 293458d1bc2e9844d5e860e4135c3a4e3b4ff2ff7344df7919eb5981a90a8146
4
- data.tar.gz: 30df988121259a4adf54650219d09ae335a8771c6e029d5a67e13d5a64f5eac5
3
+ metadata.gz: 190b8f78bc2b4608e5853a9b575a56d4d798fb5b5209bf09385338691598b55e
4
+ data.tar.gz: 5abedf568e89bbdb12417168f5c2f29f9e2512aeba02421e912114b721a826a1
5
5
  SHA512:
6
- metadata.gz: 0304b7562b5310a4e5ca0523f11b0329ac5734d84fa347132b3eb37ebbca0959002c6cd8000aa64b79e14a39d11f489ed5f72a29b6474a367dfd656d660585f6
7
- data.tar.gz: 2df22769d6651c7dcba08ae779d80e202deddcb913ce10e8c36622bf02de6edfbcde3d6e93b8414248471e7359215b1fda65488180f8702a2b3c4e552fcc74df
6
+ metadata.gz: ab40c738668a595f21ae881bbc78236473416fd1b60244018fcb827b2a6845d612fd8a3e7b4505671e3efb7e60e1ae4a95ff7cb25fbc480d444e1ed963f91031
7
+ data.tar.gz: 9c2f3130de29243f2e2fd342e453ba2bad1b754529b0e732ed0b324ad1fbfd9b230a284c1a565921b4a3c2d156f75ab18606f9f72a384fe11c6b3a0ab0a929d9
data/CHANGES CHANGED
@@ -1,3 +1,11 @@
1
+ = 0.9.10 - 17-Apr-2018
2
+ * Fixed a bug in the TemplateDeploymentService#create method where it would
3
+ transform template keys that shouldn't be transformed. Individual subclasses
4
+ can now control this behavior as needed.
5
+ * Updated the addressable dependency to 2.5.0.
6
+ * Updated the docs for the VirtualMachineExtension#list method. That method
7
+ appears to be working again. It was previously broken on the Azure side.
8
+
1
9
  = 0.9.9 - 6-Apr-2018
2
10
  * Changed the default endpoint used for fetching the initial authorization
3
11
  token. It now uses the AD resource ID instead of the resource manager URL.
@@ -22,7 +22,7 @@ behind the scenes.
22
22
  spec.add_dependency 'memoist', '~> 0.15.0'
23
23
  spec.add_dependency 'azure-signature', '~> 0.2.3'
24
24
  spec.add_dependency 'activesupport', '>= 4.2.2'
25
- spec.add_dependency 'addressable', '~> 2.4.0'
25
+ spec.add_dependency 'addressable', '~> 2.5.0'
26
26
  spec.add_dependency 'parallel', '~> 1.12.0'
27
27
 
28
28
  spec.add_development_dependency 'bundler'
@@ -4,7 +4,7 @@ require 'thread'
4
4
  require 'addressable'
5
5
  require 'parallel'
6
6
  require 'memoist'
7
- require 'active_support/core_ext/hash/keys'
7
+ require 'active_support/core_ext/hash'
8
8
 
9
9
  # The Azure module serves as a namespace.
10
10
  module Azure
@@ -48,7 +48,8 @@ module Azure
48
48
  url = build_url(rgroup, name)
49
49
  url = yield(url) || url if block_given?
50
50
 
51
- body = options.deep_transform_keys{ |k| k.to_s.camelize(:lower) }.to_json
51
+ body = transform_create_options(options).to_json
52
+
52
53
  response = rest_put(url, body)
53
54
 
54
55
  headers = Azure::Armrest::ResponseHeaders.new(response.headers)
@@ -190,6 +191,13 @@ module Azure
190
191
 
191
192
  private
192
193
 
194
+ # By default, camelize all hash options for the create method.
195
+ # Subclasses should override this behavior as needed.
196
+ #
197
+ def transform_create_options(hash)
198
+ hash.deep_transform_keys{ |k| k.to_s.camelize(:lower) }
199
+ end
200
+
193
201
  def convert_id_string_to_url(id_string, info = nil)
194
202
  if id_string.include?('api-version')
195
203
  File.join(configuration.environment.resource_url, id_string)
@@ -74,6 +74,19 @@ module Azure
74
74
 
75
75
  private
76
76
 
77
+ # Don't transform templates or parameters for deployments.
78
+ #
79
+ def transform_create_options(hash)
80
+ properties = hash['properties'] || hash[:properties]
81
+ return super(hash) unless properties
82
+
83
+ ignored = properties.extract!(:template, 'template', :parameters, 'parameters')
84
+ hash = super(hash)
85
+ (hash['properties'] || hash[:properties]).merge!(ignored)
86
+
87
+ hash
88
+ end
89
+
77
90
  def delete_resources(ids, retry_cnt)
78
91
  if retry_cnt == 0
79
92
  ids.each { |id| log("error", "Failed to delete #{id}") }
@@ -1,6 +1,6 @@
1
1
  module Azure
2
2
  module Armrest
3
3
  # The version of the azure-armrest library.
4
- VERSION = '0.9.9'.freeze
4
+ VERSION = '0.9.10'.freeze
5
5
  end
6
6
  end
@@ -85,17 +85,12 @@ module Azure
85
85
  # If the +instance_view+ option is true, it will retrieve a list of instance
86
86
  # view information instead.
87
87
  #
88
- # NOTE: As of August 2015, this is not currently supported because the
89
- # MS SDK does not support it.
90
- #--
91
- # BUG: https://github.com/Azure/azure-xplat-cli/issues/1826
92
- #
93
88
  def list(vm_name, rgroup = configuration.resource_group, instance_view = false)
94
89
  raise ArgumentError, "no resource group provided" unless rgroup
95
90
  url = build_url(rgroup, vm_name)
96
91
  url << "&expand=instanceView" if instance_view
97
92
  response = rest_get(url)
98
- JSON.parse(response)['value'].map{ |hash| Azure::Armrest::VirtualMachineExtension.new(hash) }
93
+ Azure::Armrest::ArmrestCollection.create_from_response(response, model_class)
99
94
  end
100
95
 
101
96
  # Shortcut to get a list in model view.
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.9.9
4
+ version: 0.9.10
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: 2018-04-06 00:00:00.000000000 Z
14
+ date: 2018-04-17 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: json
@@ -89,14 +89,14 @@ dependencies:
89
89
  requirements:
90
90
  - - "~>"
91
91
  - !ruby/object:Gem::Version
92
- version: 2.4.0
92
+ version: 2.5.0
93
93
  type: :runtime
94
94
  prerelease: false
95
95
  version_requirements: !ruby/object:Gem::Requirement
96
96
  requirements:
97
97
  - - "~>"
98
98
  - !ruby/object:Gem::Version
99
- version: 2.4.0
99
+ version: 2.5.0
100
100
  - !ruby/object:Gem::Dependency
101
101
  name: parallel
102
102
  requirement: !ruby/object:Gem::Requirement