class OvirtSDK4::VmPoolService
Constants
- ALLOCATE_VM
- GET
- REMOVE
- UPDATE
Public Instance Methods
This operation allocates a virtual machine in the virtual machine pool.
- source
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`:
- source,xml
<action/>
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the allocation should be performed asynchronously.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 34751 def allocate_vm(opts = {}) internal_action(:allocatevm, nil, ALLOCATE_VM, opts) end
Get the virtual machine pool.
- source
GET
/ovirt-engine/api/vmpools/123
You will get a XML response like that one:
- source,xml
<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>
@param opts [Hash] Additional options.
@option opts [Boolean] :filter Indicates if the results should be filtered according to the permissions of the user.
@option opts [String] :follow Indicates which inner links should be followed. The objects referenced by these links will be fetched as part
of the current request. See <<documents/003_common_concepts/follow, here>> for details.
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
@return [VmPool]
# File lib/ovirtsdk4/services.rb, line 34809 def get(opts = {}) internal_get(GET, opts) end
Reference to a service managing the virtual machine pool assigned permissions.
@return [AssignedPermissionsService] A reference to `permissions` service.
# File lib/ovirtsdk4/services.rb, line 34925 def permissions_service @permissions_service ||= AssignedPermissionsService.new(self, 'permissions') end
Removes a virtual machine pool.
- source
DELETE /ovirt-engine/api/vmpools/123
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the remove should be performed asynchronously. @option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
# File lib/ovirtsdk4/services.rb, line 34839 def remove(opts = {}) internal_remove(REMOVE, opts) end
Locates the service corresponding to the given path.
@param path [String] The path of the service.
@return [Service] A reference to the service.
# File lib/ovirtsdk4/services.rb, line 34936 def service(path) if path.nil? || path == '' return self end if path == 'permissions' return permissions_service end if path.start_with?('permissions/') return permissions_service.service(path[12..-1]) end raise Error.new("The path \"#{path}\" doesn't correspond to any service") end
Update the virtual machine pool.
- source
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.
- source,xml
<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>
@param pool [VmPool] The virtual machine pool that is being updated. @param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the update should be performed asynchronously.
@option opts [Boolean] :seal Specifies if virtual machines created for the pool should be sealed after creation.
If this optional parameter is provided, and its value is `true`, virtual machines created for the pool will be sealed after creation. If the value is 'false', the virtual machines will not be sealed. If the parameter is not provided, the virtual machines will be sealed, only if they are created from a sealed template and their guest OS is not set to Windows. This parameter affects only the virtual machines created when the pool is updated. For example, to update a virtual machine pool and to seal the additional virtual machines that are created, send a request like this: [source] ---- PUT /ovirt-engine/api/vmpools/123?seal=true ---- With the following body: [source,xml] ---- <vmpool> <name>VM_Pool_B</name> <description>Virtual Machine Pool B</description> <size>7</size> </vmpool> ----
@option opts [Hash] :headers ({}) Additional HTTP headers.
@option opts [Hash] :query ({}) Additional URL query parameters.
@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly
given then the timeout set globally for the connection will be used.
@option opts [Boolean] :wait (true) If `true` wait for the response.
@return [VmPool]
# File lib/ovirtsdk4/services.rb, line 34916 def update(pool, opts = {}) internal_update(pool, VmPool, UPDATE, opts) end