Sha256: 7c0d0394ee94e4a9d8be60bfbc0e9436b608315d1c56c5b3cf05089a7d81df0f

Contents?: true

Size: 1.64 KB

Versions: 1

Compression:

Stored size: 1.64 KB

Contents

opts :create do
  summary "Snapshot a VM"
  arg :vm, nil, :lookup => VIM::VirtualMachine
  arg :name, "Name of new snapshot"
  opt :description, "Description", :short => 'd', :default => ""
  opt :quiesce, "Quiesce", :short => 'q', :default => false
  opt :memory, "Memory", :short => 'm', :default => true
end

def create vm, name, opts
  tasks [vm], :CreateSnapshot, :description => opts[:description], :memory => opts[:memory], :name => name, :quiesce => opts[:quiesce]
end

rvc_alias :create, :snapshot


opts :revert do
  summary "Revert a VM to a snapshot. Defaults to the current snapshot."
  arg :arg, nil, :lookup => [VIM::VirtualMachine, RVC::SnapshotFolder]
end

def revert arg
  if arg.is_a? VIM::VirtualMachine
    tasks [arg], :RevertToCurrentSnapshot
  else
    tasks [arg.find_tree.snapshot], :RevertToSnapshot
  end
end


opts :rename do
  summary "Rename a snapshot"
  arg :snapshot, nil, :lookup => RVC::SnapshotFolder
  arg :name, "New name", :type => :string
end

def rename snapshot, name
  snapshot.find_tree.snapshot.RenameSnapshot :name => name
end


opts :describe do
  summary "Change the description of a snapshot"
  arg :snapshot, nil, :lookup => RVC::SnapshotFolder
  arg :description, "New description", :type => :string
end

def describe snapshot, description
  snapshot.find_tree.snapshot.RenameSnapshot :description => description
end


opts :remove do
  summary "Remove a snapshot"
  arg :snapshot, nil, :lookup => RVC::SnapshotFolder
  opt :remove_children, "Whether to remove the snapshot's children too"
end

def remove snapshot, opts
  tasks [snapshot.find_tree.snapshot], :RemoveSnapshot, :removeChildren => opts[:remove_children]
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rvc-1.5.0 lib/rvc/modules/snapshot.rb