azure-armrest 0.9.16 → 0.13.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: 9871cdb7ba4cf5a50f47b497aade6aa18f601b3d93dcef2214d97671f451892f
4
+ data.tar.gz: a3a4785c87ddefc29242806140decbecd639fa103565805e8a63efa72ae084e3
5
5
  SHA512:
6
- metadata.gz: fc4b09431e184ff5f7c53e10e1b9f9978737b6f91c6e214155db73802a693c1177c2373da7c9521e91626939ad6e567208fb809f47f56bc22831117714c2a859
7
- data.tar.gz: 2dfe08f0f374e16521e0a0cd764cd0d077dc880cb52f2b0cd8182feb94055293ad2646b4f9e8631a1dc6c3a1ebb4dc8b3ac6aab825cb80f686b4da7c8a66171b
6
+ metadata.gz: 4f2474bff6c9db05e72c9a9890cad96ecd5f6a351e099332aaffdb2793b64bf04eeb767935a12369d64b336eb7973668ca8838bcabac9890b6222e3e1e118212
7
+ data.tar.gz: 9f03e1c398ed6336c7b5739fe5aefa92f99bd4748a74b89bfc31e5e839a50c973547e51bc972b8e60b3a086187398f9d866bbc2457cb887e007cc8ae4f146bfa
data/.codeclimate.yml ADDED
@@ -0,0 +1,16 @@
1
+ prepare:
2
+ fetch:
3
+ - url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/.rubocop_base.yml
4
+ path: ".rubocop_base.yml"
5
+ - url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/.rubocop_cc_base.yml
6
+ path: ".rubocop_cc_base.yml"
7
+ - url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/styles/base.yml
8
+ path: styles/base.yml
9
+ - url: https://raw.githubusercontent.com/ManageIQ/manageiq-style/master/styles/cc_base.yml
10
+ path: styles/cc_base.yml
11
+ plugins:
12
+ rubocop:
13
+ enabled: true
14
+ config: ".rubocop_cc.yml"
15
+ channel: rubocop-0-82
16
+ version: '2'
data/.rubocop.yml CHANGED
@@ -1,4 +1,4 @@
1
+ inherit_gem:
2
+ manageiq-style: ".rubocop_base.yml"
1
3
  inherit_from:
2
- - https://raw.githubusercontent.com/ManageIQ/guides/master/.rubocop_base.yml
3
- # put all local rubocop config into .rubocop_local.yml as it will be loaded by .rubocop_cc.yml as well
4
- - .rubocop_local.yml
4
+ - ".rubocop_local.yml"
data/.rubocop_cc.yml ADDED
@@ -0,0 +1,4 @@
1
+ inherit_from:
2
+ - ".rubocop_base.yml"
3
+ - ".rubocop_cc_base.yml"
4
+ - ".rubocop_local.yml"
data/.travis.yml CHANGED
@@ -1,10 +1,8 @@
1
1
  language: ruby
2
- sudo: false
3
2
  cache: bundler
4
3
  rvm:
5
- - "2.3.5"
6
- - "2.4.2"
7
- - "2.5.3"
4
+ - "2.5.7"
5
+ - "2.6.5"
8
6
  - ruby-head
9
7
  - jruby-head
10
8
  matrix:
@@ -12,4 +10,9 @@ matrix:
12
10
  - rvm: ruby-head
13
11
  - rvm: jruby-head
14
12
  fast_finish: true
15
- after_script: bundle exec codeclimate-test-reporter
13
+ before_script:
14
+ - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
15
+ - chmod +x ./cc-test-reporter
16
+ - ./cc-test-reporter before-build
17
+ after_script:
18
+ - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
data/CHANGES CHANGED
@@ -1,7 +1,17 @@
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.11.0 - 20-Apr-2021
2
+ * Modify the VirtualMachineService#get method to include instance view
3
+ information
4
+ * Update default ssl_version to TLSv1_2
5
+ * Fix tenants method
6
+ * Handle application/xml exception content-types
7
+
8
+ = 0.10.0 - 14-May-2020
9
+ * Updated the rest-client dependency to 2.1.0.
10
+ * Updated the azure-signature dependency to 0.3.0.
11
+ * Updated the MetricsService#list_metrics method to use the current API, which
12
+ had apparently undergone some serious revision since we first implemented it.
13
+ It now accepts a hash of options, though you may still pass a string for the
14
+ sake of backwards compatibility.
5
15
 
6
16
  = 0.9.15 - 23-Jan-2020
7
17
  * The VirtualMachineService#delete_associated_resources now supports deleting
data/README.md CHANGED
@@ -8,7 +8,6 @@ A Ruby interface for Azure using the new REST API.
8
8
  [![Build Status](https://travis-ci.org/ManageIQ/azure-armrest.svg)](https://travis-ci.org/ManageIQ/azure-armrest)
9
9
  [![Code Climate](https://codeclimate.com/github/ManageIQ/azure-armrest/badges/gpa.svg)](https://codeclimate.com/github/ManageIQ/azure-armrest)
10
10
  [![Test Coverage](https://codeclimate.com/github/ManageIQ/azure-armrest/badges/coverage.svg)](https://codeclimate.com/github/ManageIQ/azure-armrest/coverage)
11
- [![Dependency Status](https://gemnasium.com/ManageIQ/azure-armrest.svg)](https://gemnasium.com/ManageIQ/azure-armrest)
12
11
  [![Security](https://hakiri.io/github/ManageIQ/azure-armrest/master.svg)](https://hakiri.io/github/ManageIQ/azure-armrest/master)
13
12
 
14
13
  ## Synopsis
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
8
8
  spec.email = ['dberger@redhat.com', 'bsorota@redhat.com', 'gblomqui@redhat.com', 'billwei@redhat.com']
9
9
  spec.summary = 'An interface for ARM/JSON Azure REST API'
10
10
  spec.homepage = 'http://github.com/ManageIQ/azure-armrest'
11
- spec.license = 'Apache 2.0'
11
+ spec.license = 'Apache-2.0'
12
12
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
13
13
 
14
14
  spec.description = <<-EOF
@@ -17,18 +17,18 @@ different than the current azure gem, which uses the older (XML) interface
17
17
  behind the scenes.
18
18
  EOF
19
19
 
20
+ spec.add_dependency 'activesupport', '>= 4.2.2'
21
+ spec.add_dependency 'addressable', '~> 2.8'
22
+ spec.add_dependency 'azure-signature', '~> 0.3.0'
20
23
  spec.add_dependency 'json', '~> 2'
21
- spec.add_dependency 'rest-client', '~> 2.0'
22
24
  spec.add_dependency 'memoist', '~> 0.15'
23
- spec.add_dependency 'azure-signature', '~> 0.2.3'
24
- spec.add_dependency 'activesupport', '>= 4.2.2'
25
- spec.add_dependency 'addressable', '~> 2.5.0'
26
25
  spec.add_dependency 'parallel', '~> 1.12.0'
26
+ spec.add_dependency 'rest-client', '~> 2.1.0'
27
27
 
28
28
  spec.add_development_dependency 'bundler'
29
+ spec.add_development_dependency 'manageiq-style'
29
30
  spec.add_development_dependency 'rake'
30
31
  spec.add_development_dependency 'rspec', '~> 3.0'
31
32
  spec.add_development_dependency 'simplecov'
32
- spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0.0'
33
33
  spec.add_development_dependency 'timecop', '~> 0.7'
34
34
  end
data/lib/azure/armrest.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'rest-client'
2
2
  require 'json'
3
- require 'thread'
4
3
  require 'addressable'
5
4
  require 'parallel'
6
5
  require 'memoist'
@@ -56,6 +55,12 @@ require 'azure/armrest/network/subnet_service'
56
55
  require 'azure/armrest/role'
57
56
  require 'azure/armrest/role/assignment_service'
58
57
  require 'azure/armrest/role/definition_service'
58
+ require 'azure/armrest/sql/mariadb_server_service'
59
+ require 'azure/armrest/sql/mariadb_database_service'
60
+ require 'azure/armrest/sql/mysql_server_service'
61
+ require 'azure/armrest/sql/mysql_database_service'
62
+ require 'azure/armrest/sql/postgresql_server_service'
63
+ require 'azure/armrest/sql/postgresql_database_service'
59
64
  require 'azure/armrest/sql/sql_server_service'
60
65
  require 'azure/armrest/sql/sql_database_service'
61
66
  require 'azure/armrest/billing/usage_service'
@@ -1,5 +1,6 @@
1
1
  require 'time'
2
2
  require 'active_support/core_ext/hash/conversions'
3
+ require 'active_support/core_ext/hash/keys'
3
4
  require_relative 'model/base_model'
4
5
 
5
6
  module Azure
@@ -154,7 +155,7 @@ module Azure
154
155
  # Returns a list of tenants that can be accessed.
155
156
  #
156
157
  def tenants
157
- url = url_with_api_version(configuration.api_version, configuration.resource_url, 'tenants')
158
+ url = url_with_api_version(configuration.api_version, configuration.environment.resource_url, 'tenants')
158
159
  resp = rest_get(url)
159
160
  JSON.parse(resp.body)['value'].map{ |hash| Azure::Armrest::Tenant.new(hash) }
160
161
  end
@@ -253,11 +254,22 @@ module Azure
253
254
 
254
255
  def raise_api_exception(err)
255
256
  begin
256
- response = JSON.parse(err.http_body)
257
- code = response['error']['code']
258
- message = response['error']['message']
257
+ content_type_header = err.response.headers[:content_type]
258
+
259
+ response = case content_type_header.match(%r{(application/\w+)})[1]
260
+ when "application/json"
261
+ JSON.parse(err.http_body)
262
+ when "application/xml"
263
+ # The XML document that is returned has Error, Code, and Message
264
+ # so we need to downcase the keys to stay consistent with the
265
+ # parsed-json hash.
266
+ Hash.from_xml(err.http_body).deep_transform_keys(&:downcase)
267
+ end
268
+
269
+ code = response['error']['code']
270
+ message = response['error']['message']
259
271
  rescue
260
- code = err.try(:http_code) || err.try(:code)
272
+ code = err.try(:http_code) || err.try(:code)
261
273
  message = err.try(:http_body) || err.try(:message)
262
274
  end
263
275
 
@@ -107,7 +107,7 @@ module Azure
107
107
  :content_type => 'application/json',
108
108
  :grant_type => 'client_credentials',
109
109
  :proxy => ENV['http_proxy'],
110
- :ssl_version => 'TLSv1',
110
+ :ssl_version => 'TLSv1_2',
111
111
  :timeout => 60,
112
112
  :max_threads => 10,
113
113
  :max_retries => 3,
@@ -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
 
@@ -338,6 +338,12 @@ module Azure
338
338
  end
339
339
 
340
340
  module Sql
341
+ class MariadbServer < BaseModel; end
342
+ class MariadbDatabase < BaseModel; end
343
+ class MysqlServer < BaseModel; end
344
+ class MysqlDatabase < BaseModel; end
345
+ class PostgresqlServer < BaseModel; end
346
+ class PostgresqlDatabase < BaseModel; end
341
347
  class SqlServer < BaseModel; end
342
348
  class SqlDatabase < BaseModel; end
343
349
  end
@@ -288,7 +288,7 @@ module Azure
288
288
  url = File.join(properties.primary_endpoints.file, share, file)
289
289
  url += "?timeout=#{timeout}" if timeout
290
290
 
291
- hash = options.transform_keys.each { |okey| 'x-ms-' + okey.to_s.tr('_', '-') }
291
+ hash = options.transform_keys { |okey| 'x-ms-' + okey.to_s.tr('_', '-') }
292
292
 
293
293
  hash['verb'] = 'PUT'
294
294
 
@@ -380,7 +380,7 @@ module Azure
380
380
  url = File.join(properties.primary_endpoints.file, share, file) + "?comp=range"
381
381
  url += "&timeout=#{timeout}" if timeout
382
382
 
383
- hash = options.transform_keys.each { |okey| 'x-ms-' + okey.to_s.tr('_', '-') }
383
+ hash = options.transform_keys { |okey| 'x-ms-' + okey.to_s.tr('_', '-') }
384
384
 
385
385
  hash['verb'] = 'PUT'
386
386
  hash['x-ms-write'] ||= 'update'
@@ -232,7 +232,7 @@ module Azure
232
232
  api_version = configuration.provider_default_api_version(provider_name, full_service_name)
233
233
  end
234
234
  api_version ||= configuration.provider_default_api_version(provider_name, service_name)
235
- api_version ||= configuration.api_version
235
+ api_version || configuration.api_version
236
236
  end
237
237
 
238
238
  def delete_by_url(url, resource_name = '')
@@ -260,7 +260,7 @@ module Azure
260
260
  # arguments provided, and appends it with the api_version.
261
261
  #
262
262
  def build_url(resource_group = nil, *args)
263
- url = File.join(configuration.environment.resource_url, build_id_string(resource_group, *args))
263
+ File.join(configuration.environment.resource_url, build_id_string(resource_group, *args))
264
264
  end
265
265
 
266
266
  def build_id_string(resource_group = nil, *args)
@@ -279,6 +279,8 @@ module Azure
279
279
  query << "&$top=#{value}"
280
280
  elsif key.casecmp('filter').zero?
281
281
  query << "&$filter=#{value}" # Allow raw filter
282
+ elsif key.casecmp('expand').zero?
283
+ query << "&$expand=#{value}"
282
284
  else
283
285
  if query.include?("$filter")
284
286
  query << " and #{key} eq '#{value}'"
@@ -142,7 +142,6 @@ module Azure
142
142
  private
143
143
 
144
144
  def build_url(namespace = nil, *args)
145
- id = configuration.subscription_id
146
145
  url = File.join(base_url, 'providers')
147
146
  url = File.join(url, namespace) if namespace
148
147
  url = File.join(url, *args) unless args.empty?
@@ -0,0 +1,11 @@
1
+ module Azure
2
+ module Armrest
3
+ module Sql
4
+ class MariadbDatabaseService < ResourceGroupBasedSubservice
5
+ def initialize(armrest_configuration, options = {})
6
+ super(armrest_configuration, 'servers', 'databases', 'Microsoft.DBforMariaDB', options)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Azure
2
+ module Armrest
3
+ module Sql
4
+ class MariadbServerService < ResourceGroupBasedService
5
+ def initialize(armrest_configuration, options = {})
6
+ super(armrest_configuration, 'servers', 'Microsoft.DBforMariaDB', options)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Azure
2
+ module Armrest
3
+ module Sql
4
+ class MysqlDatabaseService < ResourceGroupBasedSubservice
5
+ def initialize(armrest_configuration, options = {})
6
+ super(armrest_configuration, 'servers', 'databases', 'Microsoft.DBforMySQL', options)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Azure
2
+ module Armrest
3
+ module Sql
4
+ class MysqlServerService < ResourceGroupBasedService
5
+ def initialize(armrest_configuration, options = {})
6
+ super(armrest_configuration, 'servers', 'Microsoft.DBforMySQL', options)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Azure
2
+ module Armrest
3
+ module Sql
4
+ class PostgresqlDatabaseService < ResourceGroupBasedSubservice
5
+ def initialize(armrest_configuration, options = {})
6
+ super(armrest_configuration, 'servers', 'databases', 'Microsoft.DBforPostgreSQL', options)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Azure
2
+ module Armrest
3
+ module Sql
4
+ class PostgresqlServerService < ResourceGroupBasedService
5
+ def initialize(armrest_configuration, options = {})
6
+ super(armrest_configuration, 'servers', 'Microsoft.DBforPostgreSQL', options)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -86,7 +86,7 @@ module Azure::Armrest::Storage::ManagedStorageHelper
86
86
  rescue Azure::Armrest::ForbiddenException => err
87
87
  log('warn', "ManagedStorageHelper.read: #{err}")
88
88
  raise err
89
- rescue RestClient::Exception, Azure::Armrest::ForbiddenException => err
89
+ rescue RestClient::Exception, Azure::Armrest::Exception => err
90
90
  raise err unless retries < max_retries
91
91
  log('warn', "ManagedStorageHelper.read: #{err} - retry number #{retries}")
92
92
  retries += 1
@@ -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.13.0'.freeze
5
5
  end
6
6
  end
@@ -71,23 +71,48 @@ module Azure
71
71
  # Retrieves the settings of the VM named +vmname+ in resource group
72
72
  # +group+, which will default to the same as the name of the VM.
73
73
  #
74
- # By default this method will retrieve the model view. If the +model_view+
75
- # parameter is false, it will retrieve an instance view. The difference is
76
- # in the details of the information retrieved.
74
+ # You can also specify any query options. At this time only the
75
+ # :expand => 'instanceView' option is supported, but others could
76
+ # be added over time.
77
77
  #
78
- def get(vmname, group = configuration.resource_group, model_view = true)
79
- model_view ? super(vmname, group) : get_instance_view(vmname, group)
78
+ # For backwards compatibility, the third argument may also be a boolean
79
+ # which will retrieve the model view by default. Set to false if you only
80
+ # want the instance view.
81
+ #
82
+ # Examples:
83
+ #
84
+ # vms = VirtualMachineService.new(credentials)
85
+ #
86
+ # # Standard call, get just the model view
87
+ # vms.get('some_name', 'some_group')
88
+ # vms.get('some_name', 'some_group', true) # same
89
+ #
90
+ # # Get the instance view only
91
+ # vms.get('some_name', 'some_group', false)
92
+ #
93
+ # # Get the instance view merged with the model view
94
+ # vms.get('some_name', 'some_group', :expand => 'instanceView')
95
+ #
96
+ def get(vmname, group = configuration.resource_group, options = {})
97
+ if options.kind_of?(Hash)
98
+ url = build_url(group, vmname, options)
99
+ response = rest_get(url)
100
+ VirtualMachineInstance.new(response)
101
+ else
102
+ options ? super(vmname, group) : get_instance_view(vmname, group)
103
+ end
80
104
  end
81
105
 
82
106
  # Convenient wrapper around the get method that retrieves the model view
83
- # for +vmname+ in resource_group +group+.
107
+ # for +vmname+ in resource_group +group+ without the instance view
108
+ # information.
84
109
  #
85
110
  def get_model_view(vmname, group = configuration.resource_group)
86
- get(vmname, group, true)
111
+ get(vmname, group)
87
112
  end
88
113
 
89
- # Convenient wrapper around the get method that retrieves the instance view
90
- # for +vmname+ in resource_group +group+.
114
+ # Convenient wrapper around the get method that retrieves only the
115
+ # instance view for +vmname+ in resource_group +group+.
91
116
  #
92
117
  def get_instance_view(vmname, group = configuration.resource_group)
93
118
  raise ArgumentError, "must specify resource group" unless group
@@ -333,7 +358,7 @@ module Azure
333
358
  raise ArgumentError, "must specify name of the vm" unless vmname
334
359
 
335
360
  url = build_url(group, vmname, action)
336
- response = rest_post(url)
361
+ response = rest_post(url, options.to_json)
337
362
 
338
363
  Azure::Armrest::ResponseHeaders.new(response.headers).tap do |headers|
339
364
  headers.response_code = response.code
metadata CHANGED
@@ -1,116 +1,116 @@
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.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Berger
8
8
  - Bronagh Sorota
9
9
  - Greg Blomquist
10
10
  - Bill Wei
11
- autorequire:
11
+ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2020-05-18 00:00:00.000000000 Z
14
+ date: 2021-08-11 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: json
17
+ name: activesupport
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - "~>"
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: '2'
22
+ version: 4.2.2
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - "~>"
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '2'
29
+ version: 4.2.2
30
30
  - !ruby/object:Gem::Dependency
31
- name: rest-client
31
+ name: addressable
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
34
  - - "~>"
35
35
  - !ruby/object:Gem::Version
36
- version: '2.0'
36
+ version: '2.8'
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.8'
44
44
  - !ruby/object:Gem::Dependency
45
- name: memoist
45
+ name: azure-signature
46
46
  requirement: !ruby/object:Gem::Requirement
47
47
  requirements:
48
48
  - - "~>"
49
49
  - !ruby/object:Gem::Version
50
- version: '0.15'
50
+ version: 0.3.0
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
55
  - - "~>"
56
56
  - !ruby/object:Gem::Version
57
- version: '0.15'
57
+ version: 0.3.0
58
58
  - !ruby/object:Gem::Dependency
59
- name: azure-signature
59
+ name: json
60
60
  requirement: !ruby/object:Gem::Requirement
61
61
  requirements:
62
62
  - - "~>"
63
63
  - !ruby/object:Gem::Version
64
- version: 0.2.3
64
+ version: '2'
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: '2'
72
72
  - !ruby/object:Gem::Dependency
73
- name: activesupport
73
+ name: memoist
74
74
  requirement: !ruby/object:Gem::Requirement
75
75
  requirements:
76
- - - ">="
76
+ - - "~>"
77
77
  - !ruby/object:Gem::Version
78
- version: 4.2.2
78
+ version: '0.15'
79
79
  type: :runtime
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
82
82
  requirements:
83
- - - ">="
83
+ - - "~>"
84
84
  - !ruby/object:Gem::Version
85
- version: 4.2.2
85
+ version: '0.15'
86
86
  - !ruby/object:Gem::Dependency
87
- name: addressable
87
+ name: parallel
88
88
  requirement: !ruby/object:Gem::Requirement
89
89
  requirements:
90
90
  - - "~>"
91
91
  - !ruby/object:Gem::Version
92
- version: 2.5.0
92
+ version: 1.12.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.5.0
99
+ version: 1.12.0
100
100
  - !ruby/object:Gem::Dependency
101
- name: parallel
101
+ name: rest-client
102
102
  requirement: !ruby/object:Gem::Requirement
103
103
  requirements:
104
104
  - - "~>"
105
105
  - !ruby/object:Gem::Version
106
- version: 1.12.0
106
+ version: 2.1.0
107
107
  type: :runtime
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
110
110
  requirements:
111
111
  - - "~>"
112
112
  - !ruby/object:Gem::Version
113
- version: 1.12.0
113
+ version: 2.1.0
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: bundler
116
116
  requirement: !ruby/object:Gem::Requirement
@@ -125,6 +125,20 @@ dependencies:
125
125
  - - ">="
126
126
  - !ruby/object:Gem::Version
127
127
  version: '0'
128
+ - !ruby/object:Gem::Dependency
129
+ name: manageiq-style
130
+ requirement: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ type: :development
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
128
142
  - !ruby/object:Gem::Dependency
129
143
  name: rake
130
144
  requirement: !ruby/object:Gem::Requirement
@@ -167,20 +181,6 @@ dependencies:
167
181
  - - ">="
168
182
  - !ruby/object:Gem::Version
169
183
  version: '0'
170
- - !ruby/object:Gem::Dependency
171
- name: codeclimate-test-reporter
172
- requirement: !ruby/object:Gem::Requirement
173
- requirements:
174
- - - "~>"
175
- - !ruby/object:Gem::Version
176
- version: 1.0.0
177
- type: :development
178
- prerelease: false
179
- version_requirements: !ruby/object:Gem::Requirement
180
- requirements:
181
- - - "~>"
182
- - !ruby/object:Gem::Version
183
- version: 1.0.0
184
184
  - !ruby/object:Gem::Dependency
185
185
  name: timecop
186
186
  requirement: !ruby/object:Gem::Requirement
@@ -208,9 +208,11 @@ executables: []
208
208
  extensions: []
209
209
  extra_rdoc_files: []
210
210
  files:
211
+ - ".codeclimate.yml"
211
212
  - ".gitignore"
212
213
  - ".rspec"
213
214
  - ".rubocop.yml"
215
+ - ".rubocop_cc.yml"
214
216
  - ".rubocop_local.yml"
215
217
  - ".travis.yml"
216
218
  - CHANGES
@@ -257,6 +259,12 @@ files:
257
259
  - lib/azure/armrest/role.rb
258
260
  - lib/azure/armrest/role/assignment_service.rb
259
261
  - lib/azure/armrest/role/definition_service.rb
262
+ - lib/azure/armrest/sql/mariadb_database_service.rb
263
+ - lib/azure/armrest/sql/mariadb_server_service.rb
264
+ - lib/azure/armrest/sql/mysql_database_service.rb
265
+ - lib/azure/armrest/sql/mysql_server_service.rb
266
+ - lib/azure/armrest/sql/postgresql_database_service.rb
267
+ - lib/azure/armrest/sql/postgresql_server_service.rb
260
268
  - lib/azure/armrest/sql/sql_database_service.rb
261
269
  - lib/azure/armrest/sql/sql_server_service.rb
262
270
  - lib/azure/armrest/storage/disk_service.rb
@@ -273,9 +281,9 @@ files:
273
281
  - lib/azure/armrest/virtual_machine_service.rb
274
282
  homepage: http://github.com/ManageIQ/azure-armrest
275
283
  licenses:
276
- - Apache 2.0
284
+ - Apache-2.0
277
285
  metadata: {}
278
- post_install_message:
286
+ post_install_message:
279
287
  rdoc_options: []
280
288
  require_paths:
281
289
  - lib
@@ -290,8 +298,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
290
298
  - !ruby/object:Gem::Version
291
299
  version: '0'
292
300
  requirements: []
293
- rubygems_version: 3.0.8
294
- signing_key:
301
+ rubygems_version: 3.2.5
302
+ signing_key:
295
303
  specification_version: 4
296
304
  summary: An interface for ARM/JSON Azure REST API
297
305
  test_files: []