mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
b70e972a58
missing: - new model tests - templates model - clone this patch includes a lot of changes and cleanups, exposing more fog collections/models and rewriting most requests it includes valuable feedback from endzyme <nick.huanca@gmail.com>
39 lines
1.2 KiB
Ruby
39 lines
1.2 KiB
Ruby
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 = { })
|
|
load connection.list_virtual_machines(filters.merge(
|
|
:datacenter => datacenter,
|
|
:cluster => cluster,
|
|
:network => network,
|
|
:resource_pool => resource_pool,
|
|
:folder => folder
|
|
))
|
|
end
|
|
|
|
def get(id, datacenter = nil)
|
|
new connection.get_virtual_machine id, datacenter
|
|
rescue Fog::Compute::Vsphere::NotFound
|
|
nil
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
end
|
|
end
|