2012-11-14 08:31:02 -05:00
|
|
|
module Fog
|
|
|
|
module Compute
|
|
|
|
class Vsphere
|
|
|
|
class Real
|
|
|
|
def get_datacenter name
|
|
|
|
dc = find_raw_datacenter(name)
|
|
|
|
raise(Fog::Compute::Vsphere::NotFound) unless dc
|
2013-10-02 10:56:35 -04:00
|
|
|
{:name => dc.name, :status => dc.overallStatus, :path => raw_getpathmo(dc) }
|
2012-11-14 08:31:02 -05:00
|
|
|
end
|
|
|
|
|
|
|
|
protected
|
|
|
|
|
|
|
|
def find_raw_datacenter name
|
|
|
|
raw_datacenters.find {|d| d.name == name} || get_raw_datacenter(name)
|
|
|
|
end
|
|
|
|
|
|
|
|
def get_raw_datacenter name
|
|
|
|
@connection.serviceInstance.find_datacenter(name)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
class Mock
|
|
|
|
def get_datacenter name
|
2013-07-31 08:24:09 -04:00
|
|
|
dc = self.data[:datacenters][name]
|
|
|
|
raise(Fog::Compute::Vsphere::NotFound) unless dc
|
|
|
|
dc
|
2012-11-14 08:31:02 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|