Class: OvirtSDK4::VmNicsService

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(nic, opts = {}) ⇒ Nic

Adds a NIC to the virtual machine.

The following example adds to the virtual machine 123 a network interface named mynic using virtio and the NIC profile 456.

POST /ovirt-engine/api/vms/123/nics
<nic>
  <name>mynic</name>
  <interface>virtio</interface>
  <vnic_profile id="456"/>
</nic>

The following example sends that request using curl:

curl \
--request POST \
--header "Version: 4" \
--header "Content-Type: application/xml" \
--header "Accept: application/xml" \
--user "[email protected]:mypassword" \
--cacert /etc/pki/ovirt-engine/ca.pem \
--data '
<nic>
  <name>mynic</name>
  <interface>virtio</interface>
  <vnic_profile id="456"/>
</nic>
' \
https://myengine.example.com/ovirt-engine/api/vms/123/nics
Important

The hotplugging feature only supports virtual machine operating systems with hotplugging operations. Example operating systems include:

  • Red Hat Enterprise Linux 6

  • Red Hat Enterprise Linux 5

  • Windows Server 2008 and

  • Windows Server 2003

Parameters:

  • nic (Nic)

    The nic to add.

  • 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:


32799
32800
32801
# File 'lib/ovirtsdk4/services.rb', line 32799

def add(nic, opts = {})
  internal_add(nic, Nic, ADD, opts)
end

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

Returns the list of NICs of the virtual machine.

The order of the returned list of NICs 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 NICs to return. If not specified all the NICs 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:


32833
32834
32835
# File 'lib/ovirtsdk4/services.rb', line 32833

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

#nic_service(id) ⇒ VmNicService

Locates the nic service.

Parameters:

  • id (String)

    The identifier of the nic.

Returns:


32844
32845
32846
# File 'lib/ovirtsdk4/services.rb', line 32844

def nic_service(id)
  VmNicService.new(self, id)
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.


32855
32856
32857
32858
32859
32860
32861
32862
32863
32864
# File 'lib/ovirtsdk4/services.rb', line 32855

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