fog-vsphere 3.4.0 → 3.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +0 -4
  3. data/CHANGELOG.md +9 -0
  4. data/CONTRIBUTORS.md +1 -0
  5. data/lib/fog/vsphere/compute.rb +10 -1
  6. data/lib/fog/vsphere/models/compute/clusters.rb +0 -2
  7. data/lib/fog/vsphere/models/compute/customfields.rb +0 -2
  8. data/lib/fog/vsphere/models/compute/customvalues.rb +0 -2
  9. data/lib/fog/vsphere/models/compute/datacenters.rb +0 -2
  10. data/lib/fog/vsphere/models/compute/datastores.rb +0 -2
  11. data/lib/fog/vsphere/models/compute/folders.rb +0 -2
  12. data/lib/fog/vsphere/models/compute/interfaces.rb +0 -2
  13. data/lib/fog/vsphere/models/compute/interfacetypes.rb +0 -2
  14. data/lib/fog/vsphere/models/compute/network.rb +1 -0
  15. data/lib/fog/vsphere/models/compute/networks.rb +0 -2
  16. data/lib/fog/vsphere/models/compute/resource_pools.rb +0 -2
  17. data/lib/fog/vsphere/models/compute/rules.rb +0 -2
  18. data/lib/fog/vsphere/models/compute/server.rb +3 -1
  19. data/lib/fog/vsphere/models/compute/servers.rb +0 -2
  20. data/lib/fog/vsphere/models/compute/servertypes.rb +0 -2
  21. data/lib/fog/vsphere/models/compute/templates.rb +0 -2
  22. data/lib/fog/vsphere/models/compute/tickets.rb +0 -2
  23. data/lib/fog/vsphere/models/compute/volumes.rb +0 -2
  24. data/lib/fog/vsphere/requests/compute/create_resource_pool.rb +5 -3
  25. data/lib/fog/vsphere/requests/compute/get_datacenter.rb +1 -1
  26. data/lib/fog/vsphere/requests/compute/get_network.rb +3 -3
  27. data/lib/fog/vsphere/requests/compute/list_networks.rb +6 -8
  28. data/lib/fog/vsphere/requests/compute/update_resource_pool.rb +1 -1
  29. data/lib/fog/vsphere/requests/compute/vm_clone.rb +12 -6
  30. data/lib/fog/vsphere/requests/compute/vm_take_snapshot.rb +10 -6
  31. data/lib/fog/vsphere/version.rb +1 -1
  32. metadata +34 -33
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 1090356cd911b5f4d34de083d7ebd0c26fc10d976155a4896767dbc8c4593001
4
- data.tar.gz: c52e89e4fb8fbb66654d8555abf1c3d962fa1baf915b8bd5ab45f85a6ae6b789
2
+ SHA1:
3
+ metadata.gz: 922b71dfc24806f0bc43c8e816c9d9cd28b258ed
4
+ data.tar.gz: 9aac2d2764c979cef516790fe8f5855f3705aec8
5
5
  SHA512:
6
- metadata.gz: 5031553aa6291340875c681f9ec771668bc1465e5b09fca9681713a0bab8feda8c5f08e95c11f99f0ffc7a82c18e76e8f1fba6b7dce923641885ccea0dbc1746
7
- data.tar.gz: c1207ec44317315c925f77efe93b8c5469677fb0807cf3163654052eb63ea5941320672a20cf4a36f8fd92a91a747153846d9f474cd7c16bad335be4679809bb
6
+ metadata.gz: 1521641e05dc9cd61972c3de6df8f5b1172ffeacf9b6cf5f5f4599eb8a01f44c8ebab1132160d162f2a16f08e41e69835e9cc0c4129a6a4df4da4c7756cf5fe0
7
+ data.tar.gz: 8a50d19699ea6d9afcaad57c1dd3d7de1a1be6a12887f5277f825d5444aa097ae8cd8a97963dede61171a666043d0a3497720df0ddfc0ccfd58a0ad289fb1397
data/.travis.yml CHANGED
@@ -21,7 +21,3 @@ script: bundle exec rake travis:ci
21
21
  notifications:
22
22
  email:
23
23
  - chrobert@redhat.com
24
- addons:
25
- code_climate:
26
- repo_token: 44bcd04b60228fc94f2be3a5e0346441b5ea156e94e89a17fc24c5d3de483721
27
-
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## v3.5.1
2
+ * Creating ESX compute resource on vcenter 7.x fails with InvalidArgument: A specified parameter was not correct: deviceChange[1].device.key (#272)
3
+
4
+ ## v3.5.0
5
+ * Clone vm from different datacenter (#263)
6
+ * Fix autoload issues (#267)
7
+ * Add extra_config attribute to server (#268)
8
+ * Expose `_ref` from Compute::Network (#265)
9
+
1
10
  ## v3.4.0
2
11
  * list_resource_pools returns incorrect resource pool name (#256)
3
12
  * Add ability to create update and delete Resource Pools (#253)
data/CONTRIBUTORS.md CHANGED
@@ -53,6 +53,7 @@
53
53
  * Ohad Levy <ohadlevy@redhat.com>
54
54
  * Ondrej Prazak <oprazak@redhat.com>
55
55
  * Oscar Elfving <sofam84@gmail.com>
56
+ * Pablo Hess <phess@redhat.com>
56
57
  * Paul Thornthwaite <paul@brightbox.co.uk>
57
58
  * Paul Thornthwaite <tokengeek@gmail.com>
58
59
  * Paulo Henrique Lopes Ribeiro <plribeiro3000@gmail.com>
@@ -168,7 +168,8 @@ module Fog
168
168
  memoryHotAddEnabled: 'config.memoryHotAddEnabled',
169
169
  firmware: 'config.firmware',
170
170
  boot_order: 'config.bootOptions.bootOrder',
171
- annotation: 'config.annotation'
171
+ annotation: 'config.annotation',
172
+ extra_config: 'config.extraConfig'
172
173
  }.freeze
173
174
 
174
175
  def convert_vm_view_to_attr_hash(vms)
@@ -250,6 +251,8 @@ module Fog
250
251
  nil
251
252
  end
252
253
  }
254
+
255
+ attrs['extra_config'] = parse_extra_config(attrs['extra_config'])
253
256
  end
254
257
  # This inline rescue catches any standard error. While a VM is
255
258
  # cloning, a call to the macs method will throw and NoMethodError
@@ -308,6 +311,12 @@ module Fog
308
311
  end.compact.uniq
309
312
  end
310
313
 
314
+ # Flattens Array of RbVmomi::VIM::OptionValue to simple hash
315
+ def parse_extra_config(vm_extra_config)
316
+ return unless vm_extra_config.is_a?(Array)
317
+ vm_extra_config.map { |entry| [entry[:key], entry[:value]] }.to_h
318
+ end
319
+
311
320
  # returns vmware managed obj id string
312
321
  def managed_obj_id(obj)
313
322
  obj.to_s.match(/\("([^"]+)"\)/)[1]
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Clusters < Fog::Collection
5
- autoload :Cluster, File.expand_path('../cluster', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::Cluster
8
6
  attr_accessor :datacenter
9
7
 
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Customfields < Fog::Collection
5
- autoload :Customfield, File.expand_path('../customfield', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::Customfield
8
6
 
9
7
  attr_accessor :vm
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Customvalues < Fog::Collection
5
- autoload :Customvalue, File.expand_path('../customvalue', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::Customvalue
8
6
 
9
7
  attr_accessor :vm
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Datacenters < Fog::Collection
5
- autoload :Datacenter, File.expand_path('../datacenter', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::Datacenter
8
6
 
9
7
  def all(filters = {})
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Datastores < Fog::Collection
5
- autoload :Datastore, File.expand_path('../datastore', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::Datastore
8
6
  attr_accessor :datacenter, :cluster
9
7
 
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Folders < Fog::Collection
5
- autoload :Folder, File.expand_path('../folder', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::Folder
8
6
  attr_accessor :datacenter, :type, :path
9
7
 
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Interfaces < Fog::Collection
5
- autoload :Interface, File.expand_path('../interface', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::Interface
8
6
 
9
7
  attribute :server_id
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Interfacetypes < Fog::Collection
5
- autoload :Interfacetype, File.expand_path('../interfacetype', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::Interfacetype
8
6
  attr_accessor :datacenter
9
7
  attr_accessor :servertype
@@ -9,6 +9,7 @@ module Fog
9
9
  attribute :accessible # reachable by at least one hypervisor
10
10
  attribute :virtualswitch
11
11
  attribute :vlanid
12
+ attribute :_ref
12
13
 
13
14
  def to_s
14
15
  name
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Networks < Fog::Collection
5
- autoload :Network, File.expand_path('../network', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::Network
8
6
  attr_accessor :datacenter, :cluster
9
7
 
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class ResourcePools < Fog::Collection
5
- autoload :ResourcePool, File.expand_path('../resource_pool', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::ResourcePool
8
6
  attr_accessor :datacenter, :cluster
9
7
 
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Rules < Fog::Collection
5
- autoload :Rule, File.expand_path('../rule', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::Rule
8
6
  attribute :datacenter
9
7
  attribute :cluster
@@ -52,6 +52,7 @@ module Fog
52
52
  attribute :firmware
53
53
  attribute :boot_order
54
54
  attribute :annotation
55
+ attribute :extra_config
55
56
 
56
57
  def initialize(attributes = {})
57
58
  super defaults.merge(attributes)
@@ -157,7 +158,8 @@ module Fog
157
158
 
158
159
  # Give our path to the request
159
160
  req_options['template_path'] = "#{relative_path}/#{name}"
160
- req_options['datacenter'] = datacenter.to_s
161
+ req_options['template_datacenter'] = datacenter.to_s
162
+ req_options['datacenter'] ||= datacenter.to_s
161
163
 
162
164
  # Perform the actual clone
163
165
  clone_results = service.vm_clone(req_options)
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Servers < Fog::Collection
5
- autoload :Server, File.expand_path('../server', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::Server
8
6
  attr_accessor :datacenter
9
7
  attr_accessor :network
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Servertypes < Fog::Collection
5
- autoload :Servertype, File.expand_path('../servertype', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::Servertype
8
6
  attr_accessor :datacenter, :id, :fullname
9
7
 
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Templates < Fog::Collection
5
- autoload :Template, File.expand_path('../template', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::Template
8
6
 
9
7
  def all(filters = {})
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Tickets < Fog::Collection
5
- autoload :Ticket, File.expand_path('../ticket', __FILE__)
6
-
7
5
  model Fog::Vsphere::Compute::Ticket
8
6
 
9
7
  attr_accessor :server
@@ -2,8 +2,6 @@ module Fog
2
2
  module Vsphere
3
3
  class Compute
4
4
  class Volumes < Fog::Collection
5
- autoload :Volume, File.expand_path('../volume', __FILE__)
6
-
7
5
  attribute :server_id
8
6
 
9
7
  model Fog::Vsphere::Compute::Volume
@@ -6,17 +6,19 @@ module Fog
6
6
  cluster = get_raw_cluster(attributes[:cluster], attributes[:datacenter])
7
7
 
8
8
  root_resource_pool = if attributes[:root_resource_pool_name]
9
- cluster.resourcePool.find attributes[:root_resource_pool_name]
9
+ cluster.resourcePool.find attributes[:root_resource_pool_name].gsub('/', '%2f')
10
10
  else
11
11
  cluster.resourcePool
12
12
  end
13
13
 
14
- root_resource_pool.CreateResourcePool(
14
+ raise ArgumentError, 'Root resource pool could not be found' if root_resource_pool.nil?
15
+
16
+ resource_pool = root_resource_pool.CreateResourcePool(
15
17
  name: attributes[:name],
16
18
  spec: get_resource_pool_spec(attributes)
17
19
  )
18
20
 
19
- get_resource_pool(attributes[:name], attributes[:cluster], attributes[:datacenter])
21
+ resource_pool_attributes(resource_pool, attributes[:cluster], attributes[:datacenter])
20
22
  end
21
23
 
22
24
  private
@@ -11,7 +11,7 @@ module Fog
11
11
  protected
12
12
 
13
13
  def find_raw_datacenter(name)
14
- raw_datacenters.find { |d| d.name == name } || get_raw_datacenter(name)
14
+ raw_datacenters.find { |d| d.name == name || raw_getpathmo(d).join('/') == name } || get_raw_datacenter(name)
15
15
  end
16
16
 
17
17
  # @note RbVmomi takes path instead of name as argument to find datacenter
@@ -38,7 +38,7 @@ module Fog
38
38
  # only the one will do
39
39
  proc do |n|
40
40
  n._ref == ref_or_name || (
41
- n.is_a?(RbVmomi::VIM::DistributedVirtualPortgroup) && (n.name == ref_or_name || n.key == ref_or_name) &&
41
+ n.is_a?(RbVmomi::VIM::DistributedVirtualPortgroup) && (n.name == ref_or_name) &&
42
42
  (n.config.distributedVirtualSwitch.name == distributedswitch)
43
43
  )
44
44
  end
@@ -46,12 +46,12 @@ module Fog
46
46
  # the first distributed virtual switch will do - selected by network - gives control to vsphere
47
47
  proc do |n|
48
48
  n._ref == ref_or_name || (
49
- n.is_a?(RbVmomi::VIM::DistributedVirtualPortgroup) && (n.name == ref_or_name || n.key == ref_or_name)
49
+ n.is_a?(RbVmomi::VIM::DistributedVirtualPortgroup) && (n.name == ref_or_name)
50
50
  )
51
51
  end
52
52
  else
53
53
  # the first matching network will do, seems like the non-distributed networks come first
54
- proc { |n| n._ref == ref_or_name || n.name == ref_or_name || (n.is_a?(RbVmomi::VIM::DistributedVirtualPortgroup) && n.key == ref_or_name) }
54
+ proc { |n| n._ref == ref_or_name || n.name == ref_or_name }
55
55
  end
56
56
  end
57
57
  end
@@ -30,17 +30,15 @@ module Fog
30
30
  virtualswitch: dvswitches[network['config.distributedVirtualSwitch']._ref]
31
31
  )
32
32
  elsif network.obj.is_a?(RbVmomi::VIM::OpaqueNetwork)
33
- map_attrs_to_hash(network, network_dvportgroup_attribute_mapping).merge(
34
- id: network.obj._ref,
33
+ map_attrs_to_hash(network, network_attribute_mapping).merge(
35
34
  opaqueNetworkId: network.obj.summary.opaqueNetworkId
36
35
  )
37
36
  else
38
- map_attrs_to_hash(network, network_attribute_mapping).merge(
39
- id: network.obj._ref
40
- )
37
+ map_attrs_to_hash(network, network_attribute_mapping)
41
38
  end.merge(
42
- datacenter: datacenter_name,
43
- _ref: network.obj._ref
39
+ _ref: network.obj._ref,
40
+ id: managed_obj_id(network.obj),
41
+ datacenter: datacenter_name
44
42
  )
45
43
  end.compact
46
44
  end
@@ -56,7 +54,7 @@ module Fog
56
54
 
57
55
  def network_dvportgroup_attribute_mapping
58
56
  network_attribute_mapping.merge(
59
- id: 'config.key'
57
+ dvp_uuid: 'config.key'
60
58
  )
61
59
  end
62
60
 
@@ -10,7 +10,7 @@ module Fog
10
10
  config: get_resource_pool_spec(attributes)
11
11
  )
12
12
 
13
- get_resource_pool(attributes[:name], attributes[:cluster], attributes[:datacenter])
13
+ resource_pool_attributes(raw_resource_pool, attributes[:cluster], attributes[:datacenter])
14
14
  end
15
15
 
16
16
  private
@@ -21,7 +21,10 @@ module Fog
21
21
  end
22
22
  raise ArgumentError, 'cluster option is required' unless options['resource_pool'][0]
23
23
  raise Fog::Vsphere::Compute::NotFound, "Datacenter #{options['datacenter']} Doesn't Exist!" unless get_datacenter(options['datacenter'])
24
- raise Fog::Vsphere::Compute::NotFound, "Template #{options['template_path']} Doesn't Exist!" unless get_virtual_machine(options['template_path'], options['datacenter'])
24
+ if options['template_datacenter'] && !get_datacenter(options['template_datacenter'])
25
+ raise Fog::Vsphere::Compute::NotFound, "Datacenter #{options['template_datacenter']} Doesn't Exist!"
26
+ end
27
+ raise Fog::Vsphere::Compute::NotFound, "Template #{options['template_path']} Doesn't Exist!" unless get_virtual_machine(options['template_path'], options['template_datacenter'] || options['datacenter'])
25
28
  raise Fog::Vsphere::Compute::NotFound, "Cluster #{options['resource_pool'][0]} Doesn't Exist in the DC!" unless get_raw_cluster(options["resource_pool"][0], options['datacenter'])
26
29
  raise ArgumentError, 'path option is required' unless options.fetch('dest_folder', '/')
27
30
  if options.key?('datastore') && !options['datastore'].nil? && !get_raw_datastore(options['datastore'], options['datacenter'])
@@ -50,6 +53,9 @@ module Fog
50
53
  # want to clone FROM. Relative to Datacenter (Example:
51
54
  # "FolderNameHere/VMNameHere")
52
55
  # * 'name'<~String> - *REQUIRED* The VMName of the Destination
56
+ # * 'template_datacenter'<~String> - Datacenter name where template
57
+ # is. Make sure this datacenter exists, should if you're using
58
+ # the clone function in server.rb model.
53
59
  # * 'dest_folder'<~String> - Destination Folder of where 'name' will
54
60
  # be placed on your cluster. Relative Path to Datacenter E.G.
55
61
  # "FolderPlaceHere/anotherSub Folder/onemore"
@@ -104,14 +110,11 @@ module Fog
104
110
  # Option handling
105
111
  options = vm_clone_check_options(options)
106
112
 
107
- # Added for people still using options['path']
108
- template_path = options['path'] || options['template_path']
109
-
110
113
  # Options['template_path']<~String>
111
114
  # Added for people still using options['path']
112
115
  template_path = options['path'] || options['template_path']
113
116
  # Now find the template itself using the efficient find method
114
- vm_mob_ref = get_vm_ref(template_path, options['datacenter'])
117
+ vm_mob_ref = get_vm_ref(template_path, options['template_datacenter'] || options['datacenter'])
115
118
 
116
119
  # Options['dest_folder']<~String>
117
120
  # Grab the destination folder object if it exists else use cloned mach
@@ -808,8 +811,11 @@ module Fog
808
811
  end
809
812
  end
810
813
 
814
+ new_nic_baseid = -rand(25000..29999)
811
815
  new_nics.each do |interface|
812
- specs << create_interface(interface, 0, :add, datacenter: datacenter)
816
+ new_nic_id = new_nic_baseid
817
+ new_nic_baseid-=1
818
+ specs << create_interface(interface, new_nic_id, :add, datacenter: datacenter)
813
819
  end
814
820
 
815
821
  specs
@@ -5,13 +5,17 @@ module Fog
5
5
  def vm_take_snapshot(options = {})
6
6
  raise ArgumentError, 'instance_uuid is a required parameter' unless options.key? 'instance_uuid'
7
7
  raise ArgumentError, 'name is a required parameter' unless options.key? 'name'
8
+ defaults = {
9
+ description: '',
10
+ memory: true,
11
+ quiesce: false
12
+ }
13
+ opts = options.clone
14
+ defaults.each do |k, v|
15
+ opts[k] = v unless opts.key?(k) || opts.key?(k.to_s)
16
+ end
8
17
  vm = get_vm_ref(options['instance_uuid'])
9
- task = vm.CreateSnapshot_Task(
10
- name: options['name'],
11
- description: options['description'] || '',
12
- memory: options['memory'] || true,
13
- quiesce: options['quiesce'] || false
14
- )
18
+ task = vm.CreateSnapshot_Task(opts)
15
19
 
16
20
  task.wait_for_completion
17
21
 
@@ -1,5 +1,5 @@
1
1
  module Fog
2
2
  module Vsphere
3
- VERSION = '3.4.0'.freeze
3
+ VERSION = '3.5.2'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,173 +1,173 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-vsphere
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - J.R. Garcia
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-22 00:00:00.000000000 Z
11
+ date: 2022-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fog-core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rbvmomi
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.9'
34
- - - "<"
34
+ - - <
35
35
  - !ruby/object:Gem::Version
36
36
  version: '3'
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
43
  version: '1.9'
44
- - - "<"
44
+ - - <
45
45
  - !ruby/object:Gem::Version
46
46
  version: '3'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ">="
51
+ - - '>='
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ">="
58
+ - - '>='
59
59
  - !ruby/object:Gem::Version
60
60
  version: '0'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: pry
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - "~>"
65
+ - - ~>
66
66
  - !ruby/object:Gem::Version
67
67
  version: '0.10'
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - "~>"
72
+ - - ~>
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0.10'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: rake
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - ">="
79
+ - - '>='
80
80
  - !ruby/object:Gem::Version
81
81
  version: 12.3.3
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - ">="
86
+ - - '>='
87
87
  - !ruby/object:Gem::Version
88
88
  version: 12.3.3
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: minitest
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - "~>"
93
+ - - ~>
94
94
  - !ruby/object:Gem::Version
95
95
  version: '5.8'
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - "~>"
100
+ - - ~>
101
101
  - !ruby/object:Gem::Version
102
102
  version: '5.8'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rubocop
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - "~>"
107
+ - - ~>
108
108
  - !ruby/object:Gem::Version
109
109
  version: 0.50.0
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - "~>"
114
+ - - ~>
115
115
  - !ruby/object:Gem::Version
116
116
  version: 0.50.0
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: mocha
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - "~>"
121
+ - - ~>
122
122
  - !ruby/object:Gem::Version
123
123
  version: '1.8'
124
124
  type: :development
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - "~>"
128
+ - - ~>
129
129
  - !ruby/object:Gem::Version
130
130
  version: '1.8'
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: shindo
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - "~>"
135
+ - - ~>
136
136
  - !ruby/object:Gem::Version
137
137
  version: '0.3'
138
138
  type: :development
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - "~>"
142
+ - - ~>
143
143
  - !ruby/object:Gem::Version
144
144
  version: '0.3'
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: webmock
147
147
  requirement: !ruby/object:Gem::Requirement
148
148
  requirements:
149
- - - "~>"
149
+ - - ~>
150
150
  - !ruby/object:Gem::Version
151
151
  version: '3.5'
152
152
  type: :development
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
- - - "~>"
156
+ - - ~>
157
157
  - !ruby/object:Gem::Version
158
158
  version: '3.5'
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: vcr
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  requirements:
163
- - - "~>"
163
+ - - ~>
164
164
  - !ruby/object:Gem::Version
165
165
  version: '4.0'
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
- - - "~>"
170
+ - - ~>
171
171
  - !ruby/object:Gem::Version
172
172
  version: '4.0'
173
173
  description: This library can be used as a module for `fog` or as standalone provider
@@ -178,10 +178,10 @@ executables: []
178
178
  extensions: []
179
179
  extra_rdoc_files: []
180
180
  files:
181
- - ".gitignore"
182
- - ".rubocop.yml"
183
- - ".rubocop_todo.yml"
184
- - ".travis.yml"
181
+ - .gitignore
182
+ - .rubocop.yml
183
+ - .rubocop_todo.yml
184
+ - .travis.yml
185
185
  - CHANGELOG.md
186
186
  - CONTRIBUTING.md
187
187
  - CONTRIBUTORS.md
@@ -329,16 +329,17 @@ require_paths:
329
329
  - lib
330
330
  required_ruby_version: !ruby/object:Gem::Requirement
331
331
  requirements:
332
- - - ">="
332
+ - - '>='
333
333
  - !ruby/object:Gem::Version
334
334
  version: 2.0.0
335
335
  required_rubygems_version: !ruby/object:Gem::Requirement
336
336
  requirements:
337
- - - ">="
337
+ - - '>='
338
338
  - !ruby/object:Gem::Version
339
339
  version: '0'
340
340
  requirements: []
341
- rubygems_version: 3.1.2
341
+ rubyforge_project:
342
+ rubygems_version: 2.0.14.1
342
343
  signing_key:
343
344
  specification_version: 4
344
345
  summary: Module for the 'fog' gem to support VMware vSphere.