Sha256: 6a5e47cefdd31955ee7bf35a27d7c671124c17a054e5b863f62ca6247b04fa60

Contents?: true

Size: 761 Bytes

Versions: 6

Compression:

Stored size: 761 Bytes

Contents

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 = data[:datacenters][name]
          raise(Fog::Compute::Vsphere::NotFound) unless dc
          dc
        end
      end
    end
  end
end

Version data entries

6 entries across 4 versions & 2 rubygems

Version Path
fog-vsphere-2.4.0 lib/fog/vsphere/requests/compute/get_datacenter.rb
fog-vsphere-2.3.0 lib/fog/vsphere/requests/compute/get_datacenter.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/gems/fog-vsphere-2.2.0/lib/fog/vsphere/requests/compute/get_datacenter.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/gems/fog-vsphere-2.2.0/lib/fog/vsphere/requests/compute/get_datacenter.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/gems/fog-vsphere-2.2.0/lib/fog/vsphere/requests/compute/get_datacenter.rb
fog-vsphere-2.2.0 lib/fog/vsphere/requests/compute/get_datacenter.rb