Sha256: 524b9986e0dcd84020d5c8a7a320e6cb5b9ff5ed566b21f71659351f1574fc74

Contents?: true

Size: 910 Bytes

Versions: 28

Compression:

Stored size: 910 Bytes

Contents

module Fog
  module Compute
    class Vsphere
      class Real
        def get_storage_pod(name, datacenter_name)
          storage_pod = get_raw_storage_pod(name, datacenter_name)
          raise(Fog::Compute::Vsphere::NotFound) unless storage_pod
          storage_pod_attributes(storage_pod, datacenter_name)
        end

        protected

        def get_raw_storage_pod(name, datacenter_name)
          dc = find_raw_datacenter(datacenter_name)

          @connection.serviceContent.viewManager.CreateContainerView({
            :container  => dc,
            :type       => ["StoragePod"],
            :recursive  => true
          }).view.select{|pod| pod.name == name}.first
        end
      end

      class Mock
        def get_storage_pod(name, datacenter_name)
          list_storage_pods({datacenter: datacenter_name}).select{|h| h[:name] == name }.first
        end
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
fog-vsphere-1.7.0.1 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.9.0 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.8.0 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.7.1 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.7.0 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.6.0 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.5.2 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.5.1 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.5.0 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.4.0 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.3.0 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.2.2 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.2.1 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.2.0 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.1.0 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.0.1 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-1.0.0 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-0.8.1 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-0.8.0 lib/fog/vsphere/requests/compute/get_storage_pod.rb
fog-vsphere-0.7.0 lib/fog/vsphere/requests/compute/get_storage_pod.rb