Class: OvirtSDK4::NetworkService

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

#get(opts = {}) ⇒ Network

Gets a logical network.

For example:

GET /ovirt-engine/api/networks/123

Will respond:

<network href="/ovirt-engine/api/networks/123" id="123">
  <name>ovirtmgmt</name>
  <description>Default Management Network</description>
  <link href="/ovirt-engine/api/networks/123/permissions" rel="permissions"/>
  <link href="/ovirt-engine/api/networks/123/vnicprofiles" rel="vnicprofiles"/>
  <link href="/ovirt-engine/api/networks/123/networklabels" rel="networklabels"/>
  <mtu>0</mtu>
  <stp>false</stp>
  <usages>
    <usage>vm</usage>
  </usages>
  <data_center href="/ovirt-engine/api/datacenters/456" id="456"/>
</network>

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.

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



14695
14696
14697
# File 'lib/ovirtsdk4/services.rb', line 14695

def get(opts = {})
  internal_get(GET, opts)
end

#network_labels_serviceNetworkLabelsService

Reference to the service that manages the network labels assigned to this network.

Returns:



14822
14823
14824
# File 'lib/ovirtsdk4/services.rb', line 14822

def network_labels_service
  @network_labels_service ||= NetworkLabelsService.new(self, 'networklabels')
end

#permissions_serviceAssignedPermissionsService

Reference to the service that manages the permissions assigned to this network.

Returns:



14831
14832
14833
# File 'lib/ovirtsdk4/services.rb', line 14831

def permissions_service
  @permissions_service ||= AssignedPermissionsService.new(self, 'permissions')
end

#remove(opts = {}) ⇒ Object

Removes a logical network, or the association of a logical network to a data center.

For example, to remove the logical network 123 send a request like this:

DELETE /ovirt-engine/api/networks/123

Each network is bound exactly to one data center. So if we disassociate network with data center it has the same result as if we would just remove that network. However it might be more specific to say we’re removing network 456 of data center 123.

For example, to remove the association of network 456 to data center 123 send a request like this:

DELETE /ovirt-engine/api/datacenters/123/networks/456
Note
To remove an external logical network, the network has to be removed directly from its provider by OpenStack Networking API. The entity representing the external network inside product-name is removed automatically, if auto_sync is enabled for the provider, otherwise the entity has to be removed using this method.

Parameters:

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

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the remove should be performed asynchronously.

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



14744
14745
14746
# File 'lib/ovirtsdk4/services.rb', line 14744

def remove(opts = {})
  internal_remove(REMOVE, 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.

Raises:



14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
14866
14867
14868
14869
14870
14871
14872
14873
14874
# File 'lib/ovirtsdk4/services.rb', line 14851

def service(path)
  if path.nil? || path == ''
    return self
  end
  if path == 'networklabels'
    return network_labels_service
  end
  if path.start_with?('networklabels/')
    return network_labels_service.service(path[14..-1])
  end
  if path == 'permissions'
    return permissions_service
  end
  if path.start_with?('permissions/')
    return permissions_service.service(path[12..-1])
  end
  if path == 'vnicprofiles'
    return vnic_profiles_service
  end
  if path.start_with?('vnicprofiles/')
    return vnic_profiles_service.service(path[13..-1])
  end
  raise Error.new("The path \"#{path}\" doesn't correspond to any service")
end

#update(network, opts = {}) ⇒ Network

Updates a logical network.

The name, description, ip, vlan, stp and display attributes can be updated.

For example, to update the description of the logical network 123 send a request like this:

PUT /ovirt-engine/api/networks/123

With a request body like this:

<network>
  <description>My updated description</description>
</network>

The maximum transmission unit of a network is set using a PUT request to specify the integer value of the mtu attribute.

For example, to set the maximum transmission unit send a request like this:

PUT /ovirt-engine/api/datacenters/123/networks/456

With a request body like this:

<network>
  <mtu>1500</mtu>
</network>
Note
Updating external networks is not propagated to the provider.

Parameters:

  • network (Network)

    The network to update.

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

    Additional options.

Options Hash (opts):

  • :async (Boolean)

    Indicates if the update should be performed asynchronously.

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



14813
14814
14815
# File 'lib/ovirtsdk4/services.rb', line 14813

def update(network, opts = {})
  internal_update(network, Network, UPDATE, opts)
end

#vnic_profiles_serviceAssignedVnicProfilesService

Reference to the service that manages the vNIC profiles assigned to this network.

Returns:



14840
14841
14842
# File 'lib/ovirtsdk4/services.rb', line 14840

def vnic_profiles_service
  @vnic_profiles_service ||= AssignedVnicProfilesService.new(self, 'vnicprofiles')
end