azure-armrest 0.9.9 → 0.9.10

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 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