class OvirtSDK4::VmPoolService

Constants

ALLOCATE_VM
GET
REMOVE
UPDATE

Public Instance Methods

allocate_vm(opts = {}) click to toggle source

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(opts = {}) click to toggle source

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
permissions_service() click to toggle source

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
remove(opts = {}) click to toggle source

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
service(path) click to toggle source

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(pool, opts = {}) click to toggle source

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