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/>
34751 34752 34753 |
# File 'lib/ovirtsdk4/services.rb', line 34751 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>
34809 34810 34811 |
# File 'lib/ovirtsdk4/services.rb', line 34809 def get(opts = {}) internal_get(GET, opts) end |
#permissions_service ⇒ AssignedPermissionsService
Reference to a service managing the virtual machine pool assigned permissions.
34925 34926 34927 |
# File 'lib/ovirtsdk4/services.rb', line 34925 def @permissions_service ||= AssignedPermissionsService.new(self, 'permissions') end |
#remove(opts = {}) ⇒ Object
Removes a virtual machine pool.
DELETE /ovirt-engine/api/vmpools/123
34839 34840 34841 |
# File 'lib/ovirtsdk4/services.rb', line 34839 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
34936 34937 34938 34939 34940 34941 34942 34943 34944 34945 34946 34947 |
# File 'lib/ovirtsdk4/services.rb', line 34936 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>
34916 34917 34918 |
# File 'lib/ovirtsdk4/services.rb', line 34916 def update(pool, opts = {}) internal_update(pool, VmPool, UPDATE, opts) end |