require 'fog/core/collection' require 'fog/vsphere/models/compute/server' module Fog module Compute class Vsphere class Servers < Fog::Collection model Fog::Compute::Vsphere::Server attr_accessor :datacenter attr_accessor :network attr_accessor :cluster attr_accessor :resource_pool attr_accessor :folder # 'folder' => '/Datacenters/vm/Jeff/Templates' will be MUCH faster. # than simply listing everything. def all(filters = { }) f = { :datacenter => datacenter, :cluster => cluster, :network => network, :resource_pool => resource_pool, :folder => folder }.merge(filters) load service.list_virtual_machines(f) end def get(id, datacenter = nil) new service.get_virtual_machine id, datacenter rescue Fog::Compute::Vsphere::NotFound nil end end end end end