Sha256: 209738b3af25487c0efeea4d51e5f56d2333df726c453da57317f7da21cd8202

Contents?: true

Size: 1.21 KB

Versions: 5

Compression:

Stored size: 1.21 KB

Contents

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

module Fog
  module Compute
    class Vsphere

      class Servers < Fog::Collection

        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 = { })
          load connection.list_virtual_machines(filters.merge(
                                                  :datacenter    => datacenter,
                                                  :cluster       => cluster,
                                                  :network       => network,
                                                  :resource_pool => resource_pool,
                                                  :folder        => folder
                                                ))
        end

        def get(id, datacenter = nil)
          new connection.get_virtual_machine id, datacenter
        rescue Fog::Compute::Vsphere::NotFound
          nil
        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/servers.rb
fog-nirvanix-1.8.1 lib/fog/vsphere/models/compute/servers.rb
ey-vendored-backup-3.0.27 vendor/gems/fog/lib/fog/vsphere/models/compute/servers.rb
fog-sgonyea-1.8.1 lib/fog/vsphere/models/compute/servers.rb
fog-1.8.0 lib/fog/vsphere/models/compute/servers.rb