Sha256: b0876c08a49a437bc94eb3326a6ebe9f4ba8f040b7f31905b620cc675113559f

Contents?: true

Size: 1.68 KB

Versions: 43

Compression:

Stored size: 1.68 KB

Contents

require 'fog/core/model'

module Fog
  module Compute
    class XenServer

      class Pool < Fog::Model
        # API Reference here:
        # http://docs.vmd.citrix.com/XenServer/5.6.0/1.0/en_gb/api/?c=pool

        identity :reference

        attribute :uuid
        attribute :name,                   :aliases => :name_label
        attribute :description,            :aliases => :name_description
        attribute :__default_sr,           :aliases => :default_SR
        attribute :__master,               :aliases => :master
        attribute :tags
        attribute :restrictions
        attribute :ha_enabled
        attribute :vswitch_controller
        attribute :__suspend_image_sr,     :aliases => :suspend_image_SR


        def default_sr
          service.storage_repositories.get __default_sr
        end

        def default_sr=(sr)
          service.set_attribute( 'pool', reference, 'default_SR', sr.reference )
        end
        alias :default_storage_repository= :default_sr=

        def default_storage_repository
          default_sr
        end

        def suspend_image_sr=(sr)
          service.set_attribute( 'pool', reference, 'suspend_image_SR', sr.reference )
        end

        def suspend_image_sr
          service.storage_repositories.get __suspend_image_sr
        end

        def master
          service.hosts.get __master
        end
        
        def set_attribute(name, *val)
          data = service.set_attribute( 'pool', reference, name, *val )
          # Do not reload automatically for performance reasons
          # We can set multiple attributes at the same time and
          # then reload manually
          #reload
        end

      end

    end
  end
end

Version data entries

43 entries across 43 versions & 6 rubygems

Version Path
fog-maestrodev-1.18.0.20131209091424 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131209090811 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131206115947 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131205181604 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131127194823 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131126183714 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131126122111 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131125111730 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131125083406 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131123105121 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131122203507 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131121075022 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131118164830 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131115184302 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131114200144 lib/fog/xenserver/models/compute/pool.rb
gapinc-fog-1.12.1.2.1 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131112185232 lib/fog/xenserver/models/compute/pool.rb
fog-maestrodev-1.18.0.20131111203459 lib/fog/xenserver/models/compute/pool.rb
fog-1.18.0 lib/fog/xenserver/models/compute/pool.rb
fog-1.17.0 lib/fog/xenserver/models/compute/pool.rb