azure-armrest 0.9.16 → 0.10.0

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