Class: OvirtSDK4::NetworksService

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

Creates a new logical network, or associates an existing network with a data center.

Creation of a new network requires the name and data_center elements.

For example, to create a network named mynetwork for data center 123 send a request like this:

POST /ovirt-engine/api/networks

With a request body like this:

<network>
  <name>mynetwork</name>
  <data_center id="123"/>
</network>

To associate the existing network 456 with the data center 123 send a request like this:

POST /ovirt-engine/api/datacenters/123/networks

With a request body like this:

<network>
  <name>ovirtmgmt</name>
</network>

To create a network named exnetwork on top of an external OpenStack network provider 456 send a request like this:

POST /ovirt-engine/api/networks
<network>
  <name>exnetwork</name>
  <external_provider id="456"/>
  <data_center id="123"/>
</network>

Parameters:

  • network (Network)

    The network 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:


16393
16394
16395
# File 'lib/ovirtsdk4/services.rb', line 16393

def add(network, opts = {})
  internal_add(network, Network, ADD, opts)
end

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

List logical networks.

For example:

GET /ovirt-engine/api/networks

Will respond:

<networks>
  <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>
  ...
</networks>

The order of the returned list of networks is guaranteed only if the sortby clause is included in the search parameter.

Parameters:

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

    Additional options.

Options Hash (opts):

  • :case_sensitive (Boolean)

    Indicates if the search performed using the search parameter should be performed taking case into account. The default value is true, which means that case is taken into account. If you want to search ignoring case set it to false.

  • :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 networks to return. If not specified all the networks are returned.

  • :search (String)

    A query string used to restrict the returned networks.

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


16465
16466
16467
# File 'lib/ovirtsdk4/services.rb', line 16465

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

#network_service(id) ⇒ NetworkService

Reference to the service that manages a specific network.

Parameters:

  • id (String)

    The identifier of the network.

Returns:


16476
16477
16478
# File 'lib/ovirtsdk4/services.rb', line 16476

def network_service(id)
  NetworkService.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.


16487
16488
16489
16490
16491
16492
16493
16494
16495
16496
# File 'lib/ovirtsdk4/services.rb', line 16487

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