mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
31 lines
770 B
Ruby
31 lines
770 B
Ruby
module Fog
|
|
module Compute
|
|
class Vsphere
|
|
class Real
|
|
def get_datacenter name
|
|
dc = find_raw_datacenter(name)
|
|
raise(Fog::Compute::Vsphere::NotFound) unless dc
|
|
{:name => dc.name, :status => dc.overallStatus, :path => raw_getpathmo(dc) }
|
|
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
|
|
dc = self.data[:datacenters][name]
|
|
raise(Fog::Compute::Vsphere::NotFound) unless dc
|
|
dc
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|