Class: OvirtSDK4::VmPoolService
- Defined in:
- lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb
Instance Method Summary collapse
-
#allocate_vm(opts = {}) ⇒ Object
This operation allocates a virtual machine in the virtual machine pool.
-
#get(opts = {}) ⇒ VmPool
Get the virtual machine pool.
-
#permissions_service ⇒ AssignedPermissionsService
Reference to a service managing the virtual machine pool assigned permissions.
-
#remove(opts = {}) ⇒ Object
Removes a virtual machine pool.
-
#service(path) ⇒ Service
Locates the service corresponding to the given path.
-
#update(pool, opts = {}) ⇒ VmPool
Update the virtual machine pool.
Methods inherited from Service
Instance Method Details
#allocate_vm(opts = {}) ⇒ Object
This operation allocates a virtual machine in the virtual machine pool.
POST /ovirt-engine/api/vmpools/123/allocatevm
The allocate virtual machine action does not take any action specific parameters, so the request body should
contain an empty action
:
<action/>
33986 33987 33988 |
# File 'lib/ovirtsdk4/services.rb', line 33986 def allocate_vm(opts = {}) internal_action(:allocatevm, nil, ALLOCATE_VM, opts) end |
#get(opts = {}) ⇒ VmPool
Get the virtual machine pool.
GET /ovirt-engine/api/vmpools/123
You will get a XML response like that one:
<vm_pool id="123">
<actions>...</actions>
<name>MyVmPool</name>
<description>MyVmPool description</description>
<link href="/ovirt-engine/api/vmpools/123/permissions" rel="permissions"/>
<max_user_vms>1</max_user_vms>
<prestarted_vms>0</prestarted_vms>
<size>100</size>
<stateful>false</stateful>
<type>automatic</type>
<use_latest_template_version>false</use_latest_template_version>
<cluster id="123"/>
<template id="123"/>
<vm id="123">...</vm>
...
</vm_pool>
34044 34045 34046 |
# File 'lib/ovirtsdk4/services.rb', line 34044 def get(opts = {}) internal_get(GET, opts) end |
#permissions_service ⇒ AssignedPermissionsService
Reference to a service managing the virtual machine pool assigned permissions.
34132 34133 34134 |
# File 'lib/ovirtsdk4/services.rb', line 34132 def @permissions_service ||= AssignedPermissionsService.new(self, 'permissions') end |
#remove(opts = {}) ⇒ Object
Removes a virtual machine pool.
DELETE /ovirt-engine/api/vmpools/123
34074 34075 34076 |
# File 'lib/ovirtsdk4/services.rb', line 34074 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
34143 34144 34145 34146 34147 34148 34149 34150 34151 34152 34153 34154 |
# File 'lib/ovirtsdk4/services.rb', line 34143 def service(path) if path.nil? || path == '' return self end if path == 'permissions' return end if path.start_with?('permissions/') return .service(path[12..-1]) end raise Error.new("The path \"#{path}\" doesn't correspond to any service") end |
#update(pool, opts = {}) ⇒ VmPool
Update the virtual machine pool.
PUT /ovirt-engine/api/vmpools/123
The name
, description
, size
, prestarted_vms
and max_user_vms
attributes can be updated after the virtual machine pool has been
created.
<vmpool>
<name>VM_Pool_B</name>
<description>Virtual Machine Pool B</description>
<size>3</size>
<prestarted_vms>1</size>
<max_user_vms>2</size>
</vmpool>
34123 34124 34125 |
# File 'lib/ovirtsdk4/services.rb', line 34123 def update(pool, opts = {}) internal_update(pool, VmPool, UPDATE, opts) end |