Sha256: 16ed3da525c31ce63e8a98484de0bafe7fd3addd81bf77c647139f1812695072

Contents?: true

Size: 713 Bytes

Versions: 5

Compression:

Stored size: 713 Bytes

Contents

require 'fog/core/collection'
require 'fog/vsphere/models/compute/volume'

module Fog
  module Compute
    class Vsphere

      class Volumes < Fog::Collection

        model Fog::Compute::Vsphere::Volume

        attr_accessor :vm

        def all(filters = {})
          requires :vm
          case vm
            when Fog::Compute::Vsphere::Server
              load connection.list_vm_volumes(vm.id)
            when Fog::Compute::Vsphere::Template
              load connection.list_template_volumes(vm.id)
            else
              raise 'volumes should have vm or template'
          end
        end

        def get(id)
          new connection.get_volume(id)
        end

     end
    end
  end
end

Version data entries

5 entries across 5 versions & 4 rubygems

Version Path
fog-nirvanix-1.8.2 lib/fog/vsphere/models/compute/volumes.rb
fog-nirvanix-1.8.1 lib/fog/vsphere/models/compute/volumes.rb
ey-vendored-backup-3.0.27 vendor/gems/fog/lib/fog/vsphere/models/compute/volumes.rb
fog-sgonyea-1.8.1 lib/fog/vsphere/models/compute/volumes.rb
fog-1.8.0 lib/fog/vsphere/models/compute/volumes.rb