Class: OpenNebula::TemplatePool

Inherits:
Pool show all
Defined in:
lib/OpenNebula/TemplatePool.rb

Constant Summary collapse

TEMPLATE_POOL_METHODS =

Constants and Class attribute accessors


{
    :info => "templatepool.info"
}

Constants inherited from Pool

Pool::INFO_ALL, Pool::INFO_GROUP, Pool::INFO_MINE

Instance Method Summary collapse

Methods inherited from Pool

#each, #to_str

Methods inherited from XMLPool

#each_element

Methods inherited from XMLElement

#[], #attr, build_xml, #each, #each_xpath, #has_elements?, #initialize_xml, #name, #retrieve_elements, #template_like_str, #template_str, #text, #to_hash, #to_xml

Constructor Details

#initialize(client, user_id = -1)) ⇒ TemplatePool

client a Client object that represents an XML-RPC connection user_id used to refer to a Pool with Templates from that user



35
36
37
38
39
# File 'lib/OpenNebula/TemplatePool.rb', line 35

def initialize(client, user_id=-1)
    super('VMTEMPLATE_POOL','VMTEMPLATE',client)

    @user_id  = user_id
end

Instance Method Details

#factory(element_xml) ⇒ Object

Factory method to create Template objects



42
43
44
# File 'lib/OpenNebula/TemplatePool.rb', line 42

def factory(element_xml)
    OpenNebula::Template.new(element_xml,@client)
end

#info(*args) ⇒ Object


XML-RPC Methods for the Template Object


Retrieves all or part of the VirtualMachines in the pool.



50
51
52
53
54
55
56
57
# File 'lib/OpenNebula/TemplatePool.rb', line 50

def info(*args)
    case args.size
        when 0
            info_filter(TEMPLATE_POOL_METHODS[:info],@user_id,-1,-1)
        when 3
            info_filter(TEMPLATE_POOL_METHODS[:info],args[0],args[1],args[2])
    end
end

#info_allObject



59
60
61
# File 'lib/OpenNebula/TemplatePool.rb', line 59

def info_all()
    return super(TEMPLATE_POOL_METHODS[:info])
end

#info_groupObject



67
68
69
# File 'lib/OpenNebula/TemplatePool.rb', line 67

def info_group()
    return super(TEMPLATE_POOL_METHODS[:info])
end

#info_mineObject



63
64
65
# File 'lib/OpenNebula/TemplatePool.rb', line 63

def info_mine()
    return super(TEMPLATE_POOL_METHODS[:info])
end