mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
35 lines
794 B
Ruby
35 lines
794 B
Ruby
|
module Fog
|
||
|
module Compute
|
||
|
class Vsphere
|
||
|
class Real
|
||
|
|
||
|
def list_datacenters filters = {}
|
||
|
raw_datacenters.map do |dc|
|
||
|
{
|
||
|
:id => managed_obj_id(dc),
|
||
|
:name => dc.name,
|
||
|
:status => dc.overallStatus
|
||
|
}
|
||
|
end
|
||
|
end
|
||
|
|
||
|
protected
|
||
|
|
||
|
def raw_datacenters
|
||
|
@raw_datacenters ||= @connection.rootFolder.childEntity.grep(RbVmomi::VIM::Datacenter)
|
||
|
end
|
||
|
|
||
|
def find_datacenters name=nil
|
||
|
name ? [get_raw_datacenter(name)] : raw_datacenters
|
||
|
end
|
||
|
end
|
||
|
|
||
|
class Mock
|
||
|
def list_datacenters filters = {}
|
||
|
[ {:name => "Solutions", :status => "grey"}, {:name => "Solutions2", :status => "green" }]
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|