Sha256: b44ae051a916a5a1d93a499b01a90ff8daa436c5a9b46f181cba41768a83ffe1

Contents?: true

Size: 1011 Bytes

Versions: 5

Compression:

Stored size: 1011 Bytes

Contents

module Fog
  module Compute
    class Vsphere
      class Servers < Fog::Collection
        autoload :Server, File.expand_path('../server', __FILE__)

        model Fog::Compute::Vsphere::Server
        attr_accessor :datacenter
        attr_accessor :network
        attr_accessor :cluster
        attr_accessor :resource_pool
        attr_accessor :folder

        # 'folder' => '/Datacenters/vm/Jeff/Templates' will be MUCH faster.
        # than simply listing everything.
        def all(filters = { })
          f = {
            :datacenter    => datacenter,
            :cluster       => cluster,
            :network       => network,
            :resource_pool => resource_pool,
            :folder        => folder
          }.merge(filters)

          load service.list_virtual_machines(f)
        end

        def get(id, datacenter = nil)
          new service.get_virtual_machine id, datacenter
        rescue Fog::Compute::Vsphere::NotFound
          nil
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
fog-vsphere-0.4.0 lib/fog/vsphere/models/compute/servers.rb
fog-vsphere-0.3.0 lib/fog/vsphere/models/compute/servers.rb
fog-vsphere-0.2.0 lib/fog/vsphere/models/compute/servers.rb
fog-vsphere-0.1.1 lib/fog/vsphere/models/compute/servers.rb
fog-vsphere-0.1.0 lib/fog/vsphere/models/compute/servers.rb