fog-vsphere 3.4.0 → 3.5.2

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