Class: OvirtSDK4::AffinityGroupsService

Inherits:
Service
  • Object
show all
Defined in:
lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb

Instance Method Summary collapse

Methods inherited from Service

#inspect, #to_s

Instance Method Details

#add(group, opts = {}) ⇒ AffinityGroup

Create a new affinity group.

Post a request like in the example below to create a new affinity group:

POST /ovirt-engine/api/clusters/000-000/affinitygroups

And use the following example in its body:

<affinity_group>
  <name>AF_GROUP_001</name>
  <hosts_rule>
    <enforcing>true</enforcing>
    <positive>true</positive>
  </hosts_rule>
  <vms_rule>
    <enabled>false</enabled>
  </vms_rule>
</affinity_group>

Parameters:

  • group (AffinityGroup)

    The affinity group object to create.

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.

Returns:



1154
1155
1156
# File 'lib/ovirtsdk4/services.rb', line 1154

def add(group, opts = {})
  internal_add(group, AffinityGroup, ADD, opts)
end

#group_service(id) ⇒ AffinityGroupService

Access the affinity group service that manages the affinity group specified by an ID.

Parameters:

  • id (String)

    The identifier of the group.

Returns:



1199
1200
1201
# File 'lib/ovirtsdk4/services.rb', line 1199

def group_service(id)
  AffinityGroupService.new(self, id)
end

#list(opts = {}) ⇒ Array<AffinityGroup>

List existing affinity groups.

The order of the affinity groups results isn’t guaranteed.

Parameters:

  • opts (Hash) (defaults to: {})

    Additional options.

Options Hash (opts):

  • :follow (String)

    Indicates which inner links should be followed. The objects referenced by these links will be fetched as part of the current request. See here for details.

  • :max (Integer)

    Sets the maximum number of affinity groups to return. If not specified all the affinity groups are returned.

  • :headers (Hash) — default: {}

    Additional HTTP headers.

  • :query (Hash) — default: {}

    Additional URL query parameters.

  • :timeout (Integer) — default: 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.

  • :wait (Boolean) — default: true

    If true wait for the response.

Returns:



1188
1189
1190
# File 'lib/ovirtsdk4/services.rb', line 1188

def list(opts = {})
  internal_get(LIST, opts)
end

#service(path) ⇒ Service

Locates the service corresponding to the given path.

Parameters:

  • path (String)

    The path of the service.

Returns:

  • (Service)

    A reference to the service.



1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
# File 'lib/ovirtsdk4/services.rb', line 1210

def service(path)
  if path.nil? || path == ''
    return self
  end
  index = path.index('/')
  if index.nil?
    return group_service(path)
  end
  return group_service(path[0..(index - 1)]).service(path[(index +1)..-1])
end