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 HTTP/1.1

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>

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.



15697
15698
15699
# File 'lib/ovirtsdk4/services.rb', line 15697

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

#network_labels_serviceNetworkLabelsService

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



15818
15819
15820
# File 'lib/ovirtsdk4/services.rb', line 15818

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.



15827
15828
15829
# File 'lib/ovirtsdk4/services.rb', line 15827

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 HTTP/1.1

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 HTTP/1.1
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.

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.



15744
15745
15746
# File 'lib/ovirtsdk4/services.rb', line 15744

def remove(opts = {})
  internal_remove(REMOVE, opts)
end

#service(path) ⇒ Service

Locates the service corresponding to the given path.

Raises:



15847
15848
15849
15850
15851
15852
15853
15854
15855
15856
15857
15858
15859
15860
15861
15862
15863
15864
15865
15866
15867
15868
15869
15870
# File 'lib/ovirtsdk4/services.rb', line 15847

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 HTTP/1.1

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 HTTP/1.1

With a request body like this:

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

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.



15809
15810
15811
# File 'lib/ovirtsdk4/services.rb', line 15809

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.



15836
15837
15838
# File 'lib/ovirtsdk4/services.rb', line 15836

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