fog-vsphere 1.7.0.1 → 1.7.1
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 +5 -5
- data/.gitignore +1 -2
- data/.travis.yml +7 -6
- data/CHANGELOG.md +13 -2
- data/CONTRIBUTORS.md +0 -8
- data/Rakefile +1 -10
- data/gemfiles/Gemfile.1.9.2+ +9 -0
- data/lib/fog/vsphere/compute.rb +2 -0
- data/lib/fog/vsphere/models/compute/scsicontroller.rb +6 -1
- data/lib/fog/vsphere/models/compute/server.rb +37 -8
- data/lib/fog/vsphere/models/compute/volume.rb +62 -28
- data/lib/fog/vsphere/models/compute/volumes.rb +1 -1
- data/lib/fog/vsphere/requests/compute/create_vm.rb +32 -44
- data/lib/fog/vsphere/requests/compute/list_vm_scsi_controllers.rb +4 -11
- data/lib/fog/vsphere/requests/compute/list_vm_volumes.rb +2 -1
- data/lib/fog/vsphere/requests/compute/modify_vm_controller.rb +2 -14
- data/lib/fog/vsphere/requests/compute/modify_vm_volume.rb +3 -3
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +2 -2
- data/lib/fog/vsphere/requests/compute/vm_migrate.rb +1 -0
- data/lib/fog/vsphere/requests/compute/vm_reconfig_volumes.rb +26 -15
- data/lib/fog/vsphere/version.rb +1 -1
- data/tests/class_from_string_tests.rb +3 -3
- data/tests/compute_tests.rb +17 -16
- data/tests/helpers/mock_helper.rb +3 -3
- data/tests/models/compute/cluster_tests.rb +5 -4
- data/tests/models/compute/hosts_tests.rb +4 -2
- data/tests/models/compute/rules_tests.rb +16 -10
- data/tests/models/compute/server_tests.rb +29 -33
- data/tests/models/compute/servers_tests.rb +4 -2
- data/tests/requests/compute/current_time_tests.rb +4 -2
- data/tests/requests/compute/folder_destroy_tests.rb +7 -5
- data/tests/requests/compute/get_network_tests.rb +22 -18
- data/tests/requests/compute/list_child_snapshots_tests.rb +2 -1
- data/tests/requests/compute/list_clusters_tests.rb +6 -5
- data/tests/requests/compute/list_datastores_tests.rb +7 -6
- data/tests/requests/compute/list_hosts_tests.rb +4 -3
- data/tests/requests/compute/list_networks_tests.rb +7 -6
- data/tests/requests/compute/list_storage_pods_test.rb +4 -3
- data/tests/requests/compute/list_virtual_machines_tests.rb +20 -16
- data/tests/requests/compute/list_vm_cdroms_tests.rb +2 -1
- data/tests/requests/compute/list_vm_snapshots_tests.rb +2 -1
- data/tests/requests/compute/modify_vm_cdrom_tests.rb +4 -3
- data/tests/requests/compute/revert_to_snapshot_tests.rb +4 -2
- data/tests/requests/compute/set_vm_customvalue_tests.rb +2 -0
- data/tests/requests/compute/vm_clone_tests.rb +20 -20
- data/tests/requests/compute/vm_config_vnc_tests.rb +4 -3
- data/tests/requests/compute/vm_destroy_tests.rb +4 -1
- data/tests/requests/compute/vm_migrate_tests.rb +2 -1
- data/tests/requests/compute/vm_power_off_tests.rb +4 -2
- data/tests/requests/compute/vm_power_on_tests.rb +3 -1
- data/tests/requests/compute/vm_reboot_tests.rb +4 -2
- data/tests/requests/compute/vm_reconfig_cdrom_tests.rb +3 -2
- data/tests/requests/compute/vm_reconfig_cpus_tests.rb +3 -1
- data/tests/requests/compute/vm_reconfig_hardware_tests.rb +4 -2
- data/tests/requests/compute/vm_reconfig_memory_tests.rb +3 -1
- data/tests/requests/compute/vm_take_snapshot_tests.rb +3 -1
- metadata +4 -22
- data/.rubocop.yml +0 -8
- data/.rubocop_todo.yml +0 -217
- data/lib/fog/vsphere/models/compute/ticket.rb +0 -16
- data/lib/fog/vsphere/models/compute/tickets.rb +0 -25
- data/lib/fog/vsphere/requests/compute/host_finish_maintenance.rb +0 -14
- data/lib/fog/vsphere/requests/compute/host_shutdown.rb +0 -14
- data/lib/fog/vsphere/requests/compute/host_start_maintenance.rb +0 -14
- data/lib/fog/vsphere/requests/compute/vm_acquire_ticket.rb +0 -34
- data/lib/fog/vsphere/requests/compute/vm_relocate.rb +0 -54
- data/lib/fog/vsphere/requests/compute/vm_remove_snapshot.rb +0 -29
- data/lib/fog/vsphere/requests/compute/vm_rename.rb +0 -24
- data/lib/fog/vsphere/requests/compute/vm_revert_snapshot.rb +0 -29
- data/lib/fog/vsphere/requests/compute/vm_suspend.rb +0 -54
- data/tests/models/compute/ticket_tests.rb +0 -12
- data/tests/models/compute/tickets_tests.rb +0 -8
- data/tests/requests/compute/vm_suspend_tests.rb +0 -23
data/.rubocop.yml
DELETED
data/.rubocop_todo.yml
DELETED
@@ -1,217 +0,0 @@
|
|
1
|
-
# This configuration was generated by
|
2
|
-
# `rubocop --auto-gen-config`
|
3
|
-
# on 2018-04-18 16:02:28 +0200 using RuboCop version 0.50.0.
|
4
|
-
# The point is for the user to remove these configuration records
|
5
|
-
# one by one as the offenses are removed from the code base.
|
6
|
-
# Note that changes in the inspected code, or installation of new
|
7
|
-
# versions of RuboCop, may require this file to be generated again.
|
8
|
-
|
9
|
-
# Offense count: 4
|
10
|
-
# Configuration parameters: AllowSafeAssignment.
|
11
|
-
Lint/AssignmentInCondition:
|
12
|
-
Exclude:
|
13
|
-
- 'lib/fog/vsphere/requests/compute/create_vm.rb'
|
14
|
-
- 'lib/fog/vsphere/requests/compute/vm_clone.rb'
|
15
|
-
|
16
|
-
# Offense count: 7
|
17
|
-
# Cop supports --auto-correct.
|
18
|
-
# Configuration parameters: EnforcedStyleAlignWith, SupportedStylesAlignWith, AutoCorrect.
|
19
|
-
# SupportedStylesAlignWith: keyword, variable, start_of_line
|
20
|
-
Lint/EndAlignment:
|
21
|
-
Exclude:
|
22
|
-
- 'lib/fog/vsphere/models/compute/customfields.rb'
|
23
|
-
- 'lib/fog/vsphere/models/compute/customvalues.rb'
|
24
|
-
- 'lib/fog/vsphere/models/compute/tickets.rb'
|
25
|
-
- 'lib/fog/vsphere/models/compute/volumes.rb'
|
26
|
-
- 'lib/fog/vsphere/requests/compute/create_vm.rb'
|
27
|
-
- 'lib/fog/vsphere/requests/compute/host_start_maintenance.rb'
|
28
|
-
|
29
|
-
# Offense count: 2
|
30
|
-
Lint/InterpolationCheck:
|
31
|
-
Exclude:
|
32
|
-
- 'tests/requests/compute/vm_power_off_tests.rb'
|
33
|
-
- 'tests/requests/compute/vm_suspend_tests.rb'
|
34
|
-
|
35
|
-
# Offense count: 13
|
36
|
-
Lint/RescueWithoutErrorClass:
|
37
|
-
Exclude:
|
38
|
-
- 'lib/fog/vsphere/compute.rb'
|
39
|
-
- 'lib/fog/vsphere/requests/compute/list_hosts.rb'
|
40
|
-
- 'lib/fog/vsphere/requests/compute/list_vm_cdroms.rb'
|
41
|
-
- 'lib/fog/vsphere/requests/compute/list_vm_volumes.rb'
|
42
|
-
|
43
|
-
# Offense count: 3
|
44
|
-
Lint/ShadowingOuterLocalVariable:
|
45
|
-
Exclude:
|
46
|
-
- 'lib/fog/vsphere/requests/compute/create_vm.rb'
|
47
|
-
- 'lib/fog/vsphere/requests/compute/destroy_rule.rb'
|
48
|
-
- 'lib/fog/vsphere/requests/compute/get_vm_first_scsi_controller.rb'
|
49
|
-
|
50
|
-
# Offense count: 9
|
51
|
-
Lint/UselessAssignment:
|
52
|
-
Exclude:
|
53
|
-
- 'lib/fog/vsphere/compute.rb'
|
54
|
-
- 'lib/fog/vsphere/models/compute/interfaces.rb'
|
55
|
-
- 'lib/fog/vsphere/models/compute/volumes.rb'
|
56
|
-
- 'lib/fog/vsphere/requests/compute/create_rule.rb'
|
57
|
-
- 'lib/fog/vsphere/requests/compute/create_vm.rb'
|
58
|
-
- 'lib/fog/vsphere/requests/compute/get_interface_type.rb'
|
59
|
-
- 'lib/fog/vsphere/requests/compute/vm_clone.rb'
|
60
|
-
- 'lib/fog/vsphere/requests/compute/vm_migrate.rb'
|
61
|
-
- 'tests/requests/compute/vm_clone_tests.rb'
|
62
|
-
|
63
|
-
# Offense count: 57
|
64
|
-
Metrics/AbcSize:
|
65
|
-
Max: 633
|
66
|
-
|
67
|
-
# Offense count: 12
|
68
|
-
# Configuration parameters: CountComments, ExcludedMethods.
|
69
|
-
Metrics/BlockLength:
|
70
|
-
Max: 263
|
71
|
-
|
72
|
-
# Offense count: 21
|
73
|
-
# Configuration parameters: CountBlocks.
|
74
|
-
Metrics/BlockNesting:
|
75
|
-
Max: 5
|
76
|
-
|
77
|
-
# Offense count: 6
|
78
|
-
# Configuration parameters: CountComments.
|
79
|
-
Metrics/ClassLength:
|
80
|
-
Max: 452
|
81
|
-
|
82
|
-
# Offense count: 15
|
83
|
-
Metrics/CyclomaticComplexity:
|
84
|
-
Max: 150
|
85
|
-
|
86
|
-
# Offense count: 16
|
87
|
-
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
88
|
-
# URISchemes: http, https
|
89
|
-
Metrics/LineLength:
|
90
|
-
Max: 317
|
91
|
-
|
92
|
-
# Offense count: 72
|
93
|
-
# Configuration parameters: CountComments.
|
94
|
-
Metrics/MethodLength:
|
95
|
-
Max: 356
|
96
|
-
|
97
|
-
# Offense count: 1
|
98
|
-
# Configuration parameters: CountComments.
|
99
|
-
Metrics/ModuleLength:
|
100
|
-
Max: 109
|
101
|
-
|
102
|
-
# Offense count: 2
|
103
|
-
# Configuration parameters: CountKeywordArgs.
|
104
|
-
Metrics/ParameterLists:
|
105
|
-
Max: 6
|
106
|
-
|
107
|
-
# Offense count: 16
|
108
|
-
Metrics/PerceivedComplexity:
|
109
|
-
Max: 158
|
110
|
-
|
111
|
-
# Offense count: 1
|
112
|
-
# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
|
113
|
-
# NamePrefix: is_, has_, have_
|
114
|
-
# NamePrefixBlacklist: is_, has_, have_
|
115
|
-
# NameWhitelist: is_a?
|
116
|
-
Naming/PredicateName:
|
117
|
-
Exclude:
|
118
|
-
- 'spec/**/*'
|
119
|
-
- 'lib/fog/vsphere/compute.rb'
|
120
|
-
|
121
|
-
# Offense count: 15
|
122
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
123
|
-
# SupportedStyles: snake_case, camelCase
|
124
|
-
Naming/VariableName:
|
125
|
-
Exclude:
|
126
|
-
- 'lib/fog/vsphere/requests/compute/create_vm.rb'
|
127
|
-
- 'lib/fog/vsphere/requests/compute/list_datacenters.rb'
|
128
|
-
- 'lib/fog/vsphere/requests/compute/list_resource_pools.rb'
|
129
|
-
- 'lib/fog/vsphere/requests/compute/list_server_types.rb'
|
130
|
-
- 'lib/fog/vsphere/requests/compute/vm_clone.rb'
|
131
|
-
- 'tests/compute_tests.rb'
|
132
|
-
|
133
|
-
# Offense count: 10
|
134
|
-
Style/CaseEquality:
|
135
|
-
Exclude:
|
136
|
-
- 'lib/fog/vsphere/requests/compute/list_child_snapshots.rb'
|
137
|
-
- 'lib/fog/vsphere/requests/compute/revert_to_snapshot.rb'
|
138
|
-
- 'tests/requests/compute/list_child_snapshots_tests.rb'
|
139
|
-
- 'tests/requests/compute/list_datastores_tests.rb'
|
140
|
-
- 'tests/requests/compute/list_hosts_tests.rb'
|
141
|
-
- 'tests/requests/compute/list_networks_tests.rb'
|
142
|
-
- 'tests/requests/compute/list_vm_cdroms_tests.rb'
|
143
|
-
- 'tests/requests/compute/list_vm_snapshots_tests.rb'
|
144
|
-
|
145
|
-
# Offense count: 1
|
146
|
-
Style/ClassVars:
|
147
|
-
Exclude:
|
148
|
-
- 'lib/fog/bin/vsphere.rb'
|
149
|
-
|
150
|
-
# Offense count: 1
|
151
|
-
Style/DoubleNegation:
|
152
|
-
Exclude:
|
153
|
-
- 'tests/helpers/succeeds_helper.rb'
|
154
|
-
|
155
|
-
# Offense count: 12
|
156
|
-
# Configuration parameters: MinBodyLength.
|
157
|
-
Style/GuardClause:
|
158
|
-
Exclude:
|
159
|
-
- 'lib/fog/vsphere/compute.rb'
|
160
|
-
- 'lib/fog/vsphere/models/compute/interfaces.rb'
|
161
|
-
- 'lib/fog/vsphere/models/compute/rule.rb'
|
162
|
-
- 'lib/fog/vsphere/models/compute/server.rb'
|
163
|
-
- 'lib/fog/vsphere/requests/compute/create_group.rb'
|
164
|
-
- 'lib/fog/vsphere/requests/compute/create_rule.rb'
|
165
|
-
- 'lib/fog/vsphere/requests/compute/create_vm.rb'
|
166
|
-
- 'lib/fog/vsphere/requests/compute/list_resource_pools.rb'
|
167
|
-
- 'lib/fog/vsphere/requests/compute/list_server_types.rb'
|
168
|
-
|
169
|
-
# Offense count: 2
|
170
|
-
Style/IfInsideElse:
|
171
|
-
Exclude:
|
172
|
-
- 'lib/fog/vsphere/models/compute/cdrom.rb'
|
173
|
-
- 'lib/fog/vsphere/models/compute/volume.rb'
|
174
|
-
|
175
|
-
# Offense count: 2
|
176
|
-
Style/MultilineBlockChain:
|
177
|
-
Exclude:
|
178
|
-
- 'lib/fog/vsphere/requests/compute/vm_clone.rb'
|
179
|
-
|
180
|
-
# Offense count: 4
|
181
|
-
Style/MultilineTernaryOperator:
|
182
|
-
Exclude:
|
183
|
-
- 'lib/fog/vsphere/models/compute/cluster.rb'
|
184
|
-
- 'lib/fog/vsphere/requests/compute/list_child_snapshots.rb'
|
185
|
-
|
186
|
-
# Offense count: 1
|
187
|
-
# Cop supports --auto-correct.
|
188
|
-
# Configuration parameters: AutoCorrect, EnforcedStyle, SupportedStyles.
|
189
|
-
# SupportedStyles: predicate, comparison
|
190
|
-
Style/NumericPredicate:
|
191
|
-
Exclude:
|
192
|
-
- 'spec/**/*'
|
193
|
-
- 'lib/fog/vsphere/requests/compute/list_compute_resources.rb'
|
194
|
-
|
195
|
-
# Offense count: 1
|
196
|
-
# Cop supports --auto-correct.
|
197
|
-
# Configuration parameters: PreferredDelimiters.
|
198
|
-
Style/PercentLiteralDelimiters:
|
199
|
-
Exclude:
|
200
|
-
- 'Rakefile'
|
201
|
-
|
202
|
-
# Offense count: 3
|
203
|
-
# Cop supports --auto-correct.
|
204
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes.
|
205
|
-
# SupportedStyles: slashes, percent_r, mixed
|
206
|
-
Style/RegexpLiteral:
|
207
|
-
Exclude:
|
208
|
-
- 'lib/fog/vsphere/requests/compute/create_folder.rb'
|
209
|
-
- 'lib/fog/vsphere/requests/compute/get_folder.rb'
|
210
|
-
- 'lib/fog/vsphere/requests/compute/list_resource_pools.rb'
|
211
|
-
|
212
|
-
# Offense count: 1
|
213
|
-
# Cop supports --auto-correct.
|
214
|
-
# Configuration parameters: AllowAsExpressionSeparator.
|
215
|
-
Style/Semicolon:
|
216
|
-
Exclude:
|
217
|
-
- 'tests/models/compute/rules_tests.rb'
|
@@ -1,16 +0,0 @@
|
|
1
|
-
require 'fog/compute/models/server'
|
2
|
-
|
3
|
-
module Fog
|
4
|
-
module Compute
|
5
|
-
class Vsphere
|
6
|
-
class Ticket < Fog::Model
|
7
|
-
attribute :server_id
|
8
|
-
|
9
|
-
attribute :ticket
|
10
|
-
attribute :host
|
11
|
-
attribute :port
|
12
|
-
attribute :ssl_thumbprint
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
module Fog
|
2
|
-
module Compute
|
3
|
-
class Vsphere
|
4
|
-
class Tickets < Fog::Collection
|
5
|
-
autoload :Ticket, File.expand_path('../ticket', __FILE__)
|
6
|
-
|
7
|
-
model Fog::Compute::Vsphere::Ticket
|
8
|
-
|
9
|
-
attr_accessor :server
|
10
|
-
|
11
|
-
def create(opts = {})
|
12
|
-
requires :server
|
13
|
-
raise 'server must be a Fog::Compute::Vsphere::Server' unless server.is_a?(Fog::Compute::Vsphere::Server)
|
14
|
-
new(
|
15
|
-
service.vm_acquire_ticket(
|
16
|
-
opts.merge(
|
17
|
-
'instance_uuid' => server.instance_uuid
|
18
|
-
)
|
19
|
-
)
|
20
|
-
)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
module Fog
|
2
|
-
module Compute
|
3
|
-
class Vsphere
|
4
|
-
class Real
|
5
|
-
def host_finish_maintenance(name, cluster_name, datacenter_name, timeout = 0)
|
6
|
-
host_ref = get_host(name, cluster_name, datacenter_name)
|
7
|
-
task = host_ref.ExitMaintenanceMode_Task(timeout: timeout)
|
8
|
-
task.wait_for_completion
|
9
|
-
{ 'task_state' => task.info.state }
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
module Fog
|
2
|
-
module Compute
|
3
|
-
class Vsphere
|
4
|
-
class Real
|
5
|
-
def host_shutdown(name, cluster_name, datacenter_name, force = false)
|
6
|
-
host_ref = get_host(name, cluster_name, datacenter_name)
|
7
|
-
task = host_ref.ShutdownHost_Task(force: force)
|
8
|
-
task.wait_for_completion
|
9
|
-
{ 'task_state' => task.info.state }
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
module Fog
|
2
|
-
module Compute
|
3
|
-
class Vsphere
|
4
|
-
class Real
|
5
|
-
def host_start_maintenance(name, cluster_name, datacenter_name, timeout = 0, evacuate_powered_off_vms = false)
|
6
|
-
host_ref = get_host(name, cluster_name, datacenter_name)
|
7
|
-
task = host_ref.EnterMaintenanceMode_Task(timeout: timeout, evacuatePoweredOffVms: evacuate_powered_off_vms)
|
8
|
-
task.wait_for_completion
|
9
|
-
{ 'task_state' => task.info.state }
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
module Fog
|
2
|
-
module Compute
|
3
|
-
class Vsphere
|
4
|
-
class Real
|
5
|
-
def vm_acquire_ticket(options = {})
|
6
|
-
raise ArgumentError, 'instance_uuid is a required parameter' unless options.key?('instance_uuid')
|
7
|
-
ticket_type = options['ticket_type'] || 'webmks'
|
8
|
-
|
9
|
-
vm_mob_ref = get_vm_ref(options['instance_uuid'])
|
10
|
-
|
11
|
-
ticket = vm_mob_ref.AcquireTicket(ticketType: ticket_type)
|
12
|
-
{
|
13
|
-
'ticket' => ticket.ticket,
|
14
|
-
'host' => ticket.host,
|
15
|
-
'port' => ticket.port,
|
16
|
-
'ssl_thumbprint' => ticket.sslThumbprint
|
17
|
-
}
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
class Mock
|
22
|
-
def vm_acquire_ticket(options = {})
|
23
|
-
raise ArgumentError, 'instance_uuid is a required parameter' unless options.key?('instance_uuid')
|
24
|
-
{
|
25
|
-
'ticket' => 'fdsfdsf',
|
26
|
-
'host' => 'esxi.example.com',
|
27
|
-
'port' => 443,
|
28
|
-
'ssl_thumbprint' => '1C:63:E1:BD:56:03:EB:44:85:12:12:FC:DA:40:11:65:0E:30:A1:B8'
|
29
|
-
}
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,54 +0,0 @@
|
|
1
|
-
module Fog
|
2
|
-
module Compute
|
3
|
-
class Vsphere
|
4
|
-
class Real
|
5
|
-
# Clones a VM from a template or existing machine on your vSphere
|
6
|
-
# Server.
|
7
|
-
#
|
8
|
-
# ==== Parameters
|
9
|
-
# * options<~Hash>:
|
10
|
-
# * 'instance_uuid'<~String> - *REQUIRED* VM to relocate
|
11
|
-
# * 'host'<~String> - name of host which will run the VM.
|
12
|
-
# * 'pool'<~String> - name of pool which the VM should be
|
13
|
-
# attached.
|
14
|
-
# * 'disks'<~Array> - disks to relocate. Each disk is a
|
15
|
-
# hash with diskId wich is key attribute of volume,
|
16
|
-
# and datastore to relocate to.
|
17
|
-
def vm_relocate(options = {})
|
18
|
-
raise ArgumentError, 'instance_uuid is a required parameter' unless options.key? 'instance_uuid'
|
19
|
-
|
20
|
-
# Find the VM Object
|
21
|
-
search_filter = { :uuid => options['instance_uuid'], 'vmSearch' => true, 'instanceUuid' => true }
|
22
|
-
vm_mob_ref = connection.searchIndex.FindAllByUuid(search_filter).first
|
23
|
-
|
24
|
-
unless vm_mob_ref.is_a? RbVmomi::VIM::VirtualMachine
|
25
|
-
raise Fog::Vsphere::Errors::NotFound,
|
26
|
-
"Could not find VirtualMachine with instance uuid #{options['instance_uuid']}"
|
27
|
-
end
|
28
|
-
options['host'] = get_raw_host(options['host'], options['cluster'], options['datacenter']) if options['host']
|
29
|
-
if options['disks']
|
30
|
-
options['disks'] = options['disks'].map do |disk|
|
31
|
-
disk['datastore'] = get_raw_datastore(disk['datastore'], nil)
|
32
|
-
RbVmomi::VIM::VirtualMachineRelocateSpecDiskLocator(disk)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
spec = RbVmomi::VIM::VirtualMachineRelocateSpec(
|
36
|
-
pool: options['pool'],
|
37
|
-
host: options['host'],
|
38
|
-
disk: options['disks']
|
39
|
-
)
|
40
|
-
task = vm_mob_ref.RelocateVM_Task(spec: spec, priority: options['priority'])
|
41
|
-
task.wait_for_completion
|
42
|
-
{ 'task_state' => task.info.state }
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
class Mock
|
47
|
-
def vm_relocate(options = {})
|
48
|
-
raise ArgumentError, 'instance_uuid is a required parameter' unless options.key? 'instance_uuid'
|
49
|
-
{ 'task_state' => 'success' }
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module Fog
|
2
|
-
module Compute
|
3
|
-
class Vsphere
|
4
|
-
class Real
|
5
|
-
def vm_remove_snapshot(vm_id, snapshot_id, remove_children = false)
|
6
|
-
vm = servers.get(vm_id)
|
7
|
-
snapshot = vm.snapshots.get(snapshot_id).mo_ref
|
8
|
-
task = snapshot.RemoveSnapshot_Task(removeChildren: remove_children)
|
9
|
-
|
10
|
-
task.wait_for_completion
|
11
|
-
|
12
|
-
{
|
13
|
-
'task_state' => task.info.state,
|
14
|
-
'was_cancelled' => task.info.cancelled
|
15
|
-
}
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
class Mock
|
20
|
-
def vm_remove_snapshot(_vm_id, _snapshot_id)
|
21
|
-
{
|
22
|
-
'task_state' => 'success',
|
23
|
-
'was_cancelled' => false
|
24
|
-
}
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
module Fog
|
2
|
-
module Compute
|
3
|
-
class Vsphere
|
4
|
-
class Real
|
5
|
-
def vm_rename(options = {})
|
6
|
-
raise ArgumentError, 'name is a required parameter' unless options.key? 'name'
|
7
|
-
raise ArgumentError, 'instance_uuid is a required parameter' unless options.key? 'instance_uuid'
|
8
|
-
vm_mob_ref = get_vm_ref(options['instance_uuid'])
|
9
|
-
task = vm_mob_ref.Rename_Task(newName: options['name'])
|
10
|
-
task.wait_for_completion
|
11
|
-
{ 'task_state' => task.info.state }
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
class Mock
|
16
|
-
def vm_rename(options = {})
|
17
|
-
raise ArgumentError, 'name is a required parameter' unless options.key? 'name'
|
18
|
-
raise ArgumentError, 'instance_uuid is a required parameter' unless options.key? 'instance_uuid'
|
19
|
-
{ 'task_state' => 'success' }
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|