Class: OvirtSDK4::VnicProfilesService

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

Add a vNIC profile.

For example to add vNIC profile 123 to network 456 send a request to:

POST /ovirt-engine/api/networks/456/vnicprofiles

With the following body:

<vnic_profile id="123">
  <name>new_vNIC_name</name>
  <pass_through>
    <mode>disabled</mode>
  </pass_through>
  <port_mirroring>false</port_mirroring>
</vnic_profile>

Please note that there is a default network filter to each VNIC profile. For more details of how the default network filter is calculated please refer to the documentation in NetworkFilters.

Note
The automatically created vNIC profile for the external network will be without network filter.

The output of creating a new VNIC profile depends in the body arguments that were given. In case no network filter was given, the default network filter will be configured. For example:

<vnic_profile href="/ovirt-engine/api/vnicprofiles/123" id="123">
  <name>new_vNIC_name</name>
  <link href="/ovirt-engine/api/vnicprofiles/123/permissions" rel="permissions"/>
  <pass_through>
    <mode>disabled</mode>
  </pass_through>
  <port_mirroring>false</port_mirroring>
  <network href="/ovirt-engine/api/networks/456" id="456"/>
  <network_filter href="/ovirt-engine/api/networkfilters/789" id="789"/>
</vnic_profile>

In case an empty network filter was given, no network filter will be configured for the specific VNIC profile regardless of the VNIC profile’s default network filter. For example:

<vnic_profile>
  <name>no_network_filter</name>
  <network_filter/>
</vnic_profile>

In case that a specific valid network filter id was given, the VNIC profile will be configured with the given network filter regardless of the VNIC profiles’s default network filter. For example:

<vnic_profile>
  <name>user_choice_network_filter</name>
  <network_filter id= "0000001b-001b-001b-001b-0000000001d5"/>
</vnic_profile>

Parameters:

  • profile (VnicProfile)

    The vNIC profile that is being added.

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


35659
35660
35661
# File 'lib/ovirtsdk4/services.rb', line 35659

def add(profile, opts = {})
  internal_add(profile, VnicProfile, ADD, opts)
end

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

List all vNIC profiles.

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


35693
35694
35695
# File 'lib/ovirtsdk4/services.rb', line 35693

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

#profile_service(id) ⇒ VnicProfileService

Locates the profile service.

Parameters:

  • id (String)

    The identifier of the profile.

Returns:


35704
35705
35706
# File 'lib/ovirtsdk4/services.rb', line 35704

def profile_service(id)
  VnicProfileService.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.


35715
35716
35717
35718
35719
35720
35721
35722
35723
35724
# File 'lib/ovirtsdk4/services.rb', line 35715

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