azure-armrest 0.9.16 → 0.10.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d03dd13dfcf3fd2bdc44ef11913634b54c3b50d53a2493f1941502b1f23eba0e
4
- data.tar.gz: ebb96439301e20d38a9d9056a546f6a1834b51fc48fa37ce1ae5fabeb2211cca
3
+ metadata.gz: a58247b13fa15be3fc773cb02e734ae36d3a21db9be243ecf4fa3b66014e3117
4
+ data.tar.gz: 123caf6a1a8ec857e5da499357b41ef0177346d938fe06f3a0d933b029bddf77
5
5
  SHA512:
6
- metadata.gz: fc4b09431e184ff5f7c53e10e1b9f9978737b6f91c6e214155db73802a693c1177c2373da7c9521e91626939ad6e567208fb809f47f56bc22831117714c2a859
7
- data.tar.gz: 2dfe08f0f374e16521e0a0cd764cd0d077dc880cb52f2b0cd8182feb94055293ad2646b4f9e8631a1dc6c3a1ebb4dc8b3ac6aab825cb80f686b4da7c8a66171b
6
+ metadata.gz: e13e25b3086f351299f9e1b17c0be38a3610d055f44f6528883823e692015f6be582fd5281a4113c2a243226510dd3cdee8d5bf753f463f344bb263b5104aa28
7
+ data.tar.gz: d7b81384f7f93248088536cc366e6e0e17cae8ad2ae9b94b3c287fd0f39b5dd4664dc5e49e55e8d5990643ec9bdc94679699798c23e07b5850d5e9f24d16023f
@@ -2,9 +2,8 @@ language: ruby
2
2
  sudo: false
3
3
  cache: bundler
4
4
  rvm:
5
- - "2.3.5"
6
- - "2.4.2"
7
- - "2.5.3"
5
+ - "2.5.7"
6
+ - "2.6.5"
8
7
  - ruby-head
9
8
  - jruby-head
10
9
  matrix:
data/CHANGES CHANGED
@@ -1,7 +1,10 @@
1
- = 0.9.16 - 18-May-2020
2
- * Loosened the restriction on rest-client a bit so that any 2.x version
3
- will work. Anything that depends on 2.1 or later will be in the 0.10.x
4
- branch or later.
1
+ = 0.10.0 - 14-May-2020
2
+ * Updated the rest-client dependency to 2.1.0.
3
+ * Updated the azure-signature dependency to 0.3.0.
4
+ * Updated the MetricsService#list_metrics method to use the current API, which
5
+ had apparently undergone some serious revision since we first implemented it.
6
+ It now accepts a hash of options, though you may still pass a string for the
7
+ sake of backwards compatibility.
5
8
 
6
9
  = 0.9.15 - 23-Jan-2020
7
10
  * The VirtualMachineService#delete_associated_resources now supports deleting
@@ -18,9 +18,9 @@ behind the scenes.
18
18
  EOF
19
19
 
20
20
  spec.add_dependency 'json', '~> 2'
21
- spec.add_dependency 'rest-client', '~> 2.0'
21
+ spec.add_dependency 'rest-client', '~> 2.1.0'
22
22
  spec.add_dependency 'memoist', '~> 0.15'
23
- spec.add_dependency 'azure-signature', '~> 0.2.3'
23
+ spec.add_dependency 'azure-signature', '~> 0.3.0'
24
24
  spec.add_dependency 'activesupport', '>= 4.2.2'
25
25
  spec.add_dependency 'addressable', '~> 2.5.0'
26
26
  spec.add_dependency 'parallel', '~> 1.12.0'
@@ -36,9 +36,21 @@ module Azure
36
36
  )
37
37
  end
38
38
 
39
- # Returns a list metrics for +resource_id+, which can be
40
- # either a resource object or a plain resource string. You
41
- # may also provide a +filter+ to limit the results.
39
+ # Returns a list metrics for +resource_id+, which can be either a
40
+ # resource object or a plain resource string. You may also provide
41
+ # hash of filtering +options+ to limit the results. The possible
42
+ # options are:
43
+ #
44
+ # * :timespan => The timespan of the query in "start/end" format.
45
+ # * :interval => The interval (timegrain) of the query.
46
+ # * :metricnames => A comma separated list of metrics to retrieve.
47
+ # * :aggregation => A comma separated list of aggregration types to retrieve.
48
+ # * :segment => The name of the dimension to segment the metric values by.
49
+ # * :top => The maximum number of records to retrieve. Defaults to 10.
50
+ # * :orderby => The aggregation to use for sorting.
51
+ # * :filter => An expression used to filter the results.
52
+ # * :resultType => Reduces the set of data collected. Syntax is dependent on operation.
53
+ # * :metricnamespace => Metric namespace to query metric definitions for.
42
54
  #
43
55
  # If no filter expression is defined, the first metric defined
44
56
  # for that resource will be returned using the primary aggregation
@@ -49,13 +61,18 @@ module Azure
49
61
  #
50
62
  # vm = vms.get('your_vm', 'your_resource_group')
51
63
  #
52
- # filter = "name.value eq 'Percentage CPU' and startTime "
53
- # filter << "eq 2017-01-03 and endTime eq 2017-01-04"
64
+ # options = {
65
+ # :metricnames => "'Percentage CPU'"
66
+ # :timespan => "2020-02-13T02:20:00Z/2020-02-14T04:20:00Z"
67
+ # :aggregation => "Average",
68
+ # :interval => "PT1M"
69
+ # }
54
70
  #
55
- # definitions = mts.list_metrics(vm.id)
71
+ # definitions = mts.list_metrics(vm.id, options)
56
72
  #
57
- def list_metrics(resource, filter = nil)
73
+ def list_metrics(resource, options = {})
58
74
  resource_id = resource.respond_to?(:id) ? resource.id : resource
75
+ options[:filter] = options if options.is_a?(String) # For backwards compatibility
59
76
 
60
77
  url = File.join(
61
78
  configuration.environment.resource_url,
@@ -64,7 +81,12 @@ module Azure
64
81
  )
65
82
 
66
83
  url << "?api-version=#{api_version}"
67
- url << "&$filter=#{filter}" if filter
84
+
85
+ # The :filter option requires a leading '$'
86
+ options.each do |key, value|
87
+ key.to_s == 'filter' ? url << "&$" : url << "&"
88
+ url << "#{key}=#{value}"
89
+ end
68
90
 
69
91
  response = rest_get(url)
70
92
 
@@ -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.16'.freeze
4
+ VERSION = '0.10.0'.freeze
5
5
  end
6
6
  end
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.16
4
+ version: 0.10.0
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: 2020-05-18 00:00:00.000000000 Z
14
+ date: 2020-05-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'
36
+ version: 2.1.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'
43
+ version: 2.1.0
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: memoist
46
46
  requirement: !ruby/object:Gem::Requirement
@@ -61,14 +61,14 @@ dependencies:
61
61
  requirements:
62
62
  - - "~>"
63
63
  - !ruby/object:Gem::Version
64
- version: 0.2.3
64
+ version: 0.3.0
65
65
  type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
68
68
  requirements:
69
69
  - - "~>"
70
70
  - !ruby/object:Gem::Version
71
- version: 0.2.3
71
+ version: 0.3.0
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: activesupport
74
74
  requirement: !ruby/object:Gem::Requirement
@@ -290,7 +290,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
290
290
  - !ruby/object:Gem::Version
291
291
  version: '0'
292
292
  requirements: []
293
- rubygems_version: 3.0.8
293
+ rubygems_version: 3.0.3
294
294
  signing_key:
295
295
  specification_version: 4
296
296
  summary: An interface for ARM/JSON Azure REST API