Module: FogExtensions::Vsphere::Snapshots::Real

Defined in:
app/models/concerns/fog_extensions/vsphere/snapshots/real.rb

Instance Method Summary collapse

Instance Method Details

#remove_snapshot(options = {}) ⇒ Object

Extends fog-vsphere gem for a remove Snapshot method.

Raises:

  • (ArgumentError)


6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/models/concerns/fog_extensions/vsphere/snapshots/real.rb', line 6

def remove_snapshot(options = {})
  raise ArgumentError, 'snapshot is a required parameter' unless options.key? 'snapshot'
  raise ArgumentError, 'removeChildren is a required parameter' unless options.key? 'removeChildren'

  raise ArgumentError, 'snapshot is a required parameter' unless ::Fog::Compute::Vsphere::Snapshot === options['snapshot']

  task = options['snapshot'].mo_ref.RemoveSnapshot_Task(
    removeChildren: options['removeChildren']
  )
  task.wait_for_completion

  {
    'task_state' => task.info.state
  }
end

#rename_snapshot(options = {}) ⇒ Object

Extends fog-vsphere gem for a rename Snapshot method. Does not have a return value, VMWare API throws a fault if there are errors

Raises:

  • (ArgumentError)


24
25
26
27
28
29
30
31
32
33
34
35
# File 'app/models/concerns/fog_extensions/vsphere/snapshots/real.rb', line 24

def rename_snapshot(options = {})
  raise ArgumentError, 'snapshot is a required parameter' unless options.key? 'snapshot'
  raise ArgumentError, 'name is a required parameter' unless options.key? 'name'
  raise ArgumentError, 'description is a required parameter' unless options.key? 'description'

  raise ArgumentError, 'snapshot is a required parameter' unless ::Fog::Compute::Vsphere::Snapshot === options['snapshot']

  options['snapshot'].mo_ref.RenameSnapshot(
    name: options['name'],
    description: options['description']
  )
end