Sha256: ae7fdac37759ae0349fdd0b10f52a9d8f9a41c7f2e89d1ed50a3f5cbcf82e289
Contents?: true
Size: 1.89 KB
Versions: 1
Compression:
Stored size: 1.89 KB
Contents
module Fog module Compute class Vsphere class Real def list_vm_snapshots(vm_id, opts = {}) root_snapshots = get_vm_ref(vm_id).snapshot.rootSnapshotList.map do |snap| item = snapshot_info(snap, vm_id) [ item, opts[:recursive] ? list_child_snapshots(item, opts) : nil ] end root_snapshots.flatten.compact end protected def snapshot_info(snap_tree, vm_id) { name: snap_tree.name, quiesced: snap_tree.quiesced, description: snap_tree.description, create_time: snap_tree.createTime, power_state: snap_tree.state, ref: snap_tree.snapshot._ref, mo_ref: snap_tree.snapshot, tree_node: snap_tree, ref_chain: "#{vm_id}/#{snap_tree.snapshot._ref}", snapshot_name_chain: "#{vm_id}/#{snap_tree.name}" } end end class Mock def list_vm_snapshots(vm_id, opts = {}) [ { name: 'clean', quiesced: false, description: '', create_time: Time.now.utc, power_state: 'poweredOn', ref: 'snapshot-0101', mo_ref: nil, tree_node: nil, snapshot_name_chain: '123/clean', ref_chain: "#{vm_id}/snapshot-0101" }, { name: 'dirty', quiesced: false, description: '', create_time: Time.now.utc, power_state: 'poweredOn', ref: 'snapshot-0102', mo_ref: nil, tree_node: nil, snapshot_name_chain: '123/dirty', ref_chain: "#{vm_id}/snapshot-0102" } ] end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fog-1.36.0 | lib/fog/vsphere/requests/compute/list_vm_snapshots.rb |