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 HTTP/1.1
The allocate virtual machine action does not take any action specific parameters, so the request body should
contain an empty action:
<action/>
34297 34298 34299 |
# File 'lib/ovirtsdk4/services.rb', line 34297 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 HTTP/1.1
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>
34354 34355 34356 |
# File 'lib/ovirtsdk4/services.rb', line 34354 def get(opts = {}) internal_get(GET, opts) end |
#permissions_service ⇒ AssignedPermissionsService
Reference to a service managing the virtual machine pool assigned permissions.
34465 34466 34467 |
# File 'lib/ovirtsdk4/services.rb', line 34465 def @permissions_service ||= AssignedPermissionsService.new(self, 'permissions') end |
#remove(opts = {}) ⇒ Object
Removes a virtual machine pool.
DELETE /ovirt-engine/api/vmpools/123 HTTP/1.1
34383 34384 34385 |
# File 'lib/ovirtsdk4/services.rb', line 34383 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
34476 34477 34478 34479 34480 34481 34482 34483 34484 34485 34486 34487 |
# File 'lib/ovirtsdk4/services.rb', line 34476 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 HTTP/1.1
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>
34456 34457 34458 |
# File 'lib/ovirtsdk4/services.rb', line 34456 def update(pool, opts = {}) internal_update(pool, VmPool, UPDATE, opts) end |