Class: OvirtSDK4::StorageDomainsService

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

Adds a new storage domain.

Creation of a new StorageDomain requires the name, type, host and storage attributes. Identify the host attribute with the id or name attributes. In oVirt 3.6 and later you can enable the wipe after delete option by default on the storage domain. To configure this, specify wipe_after_delete in the POST request. This option can be edited after the domain is created, but doing so will not change the wipe after delete property of disks that already exist.

To add a new storage domain with specified name, type, storage.type, storage.address and storage.path and by using a host with an id 123, send a request as follows:

POST /ovirt-engine/api/storageDomains

With a request body as follows:

<storage_domain>
  <name>mydata</name>
  <type>data</type>
  <storage>
    <type>nfs</type>
    <address>mynfs.example.com</address>
    <path>/exports/mydata</path>
  </storage>
  <host>
    <name>myhost</name>
  </host>
</storage_domain>

To create a new NFS ISO storage domain send a request like this:

<storage_domain>
  <name>myisos</name>
  <type>iso</type>
  <storage>
    <type>nfs</type>
    <address>mynfs.example.com</address>
    <path>/export/myisos</path>
  </storage>
  <host>
    <name>myhost</name>
  </host>
</storage_domain>

To create a new iSCSI storage domain send a request like this:

<storage_domain>
  <name>myiscsi</name>
  <type>data</type>
  <storage>
    <type>iscsi</type>
    <logical_units>
      <logical_unit id="3600144f09dbd050000004eedbd340001"/>
      <logical_unit id="3600144f09dbd050000004eedbd340002"/>
    </logical_units>
  </storage>
  <host>
    <name>myhost</name>
  </host>
</storage_domain>

Parameters:

  • storage_domain (StorageDomain)

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



22900
22901
22902
# File 'lib/ovirtsdk4/services.rb', line 22900

def add(storage_domain, opts = {})
  internal_add(storage_domain, StorageDomain, ADD, opts)
end

#add_block_domain(storage_domain, opts = {}) ⇒ StorageDomain

Import an existing block storage domain to the system using the targets already connected to the host.

Parameters:

  • storage_domain (StorageDomain)

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



22927
22928
22929
# File 'lib/ovirtsdk4/services.rb', line 22927

def add_block_domain(storage_domain, opts = {})
  internal_add(storage_domain, StorageDomain, ADD_BLOCK_DOMAIN, opts)
end

#add_by_path(storage_domain, opts = {}) ⇒ StorageDomain

Add a new storage domain to the system using the storage on the given host and path.

Parameters:

  • storage_domain (StorageDomain)

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



22954
22955
22956
# File 'lib/ovirtsdk4/services.rb', line 22954

def add_by_path(storage_domain, opts = {})
  internal_add(storage_domain, StorageDomain, ADD_BY_PATH, opts)
end

#add_direct_lun(storage_domain, opts = {}) ⇒ StorageDomain

Add a new storage domain to the system using a direct lun.

Parameters:

  • storage_domain (StorageDomain)

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



22981
22982
22983
# File 'lib/ovirtsdk4/services.rb', line 22981

def add_direct_lun(storage_domain, opts = {})
  internal_add(storage_domain, StorageDomain, ADD_DIRECT_LUN, opts)
end

#add_gluster_or_postfs(storage_domain, opts = {}) ⇒ StorageDomain

Add a new storage domain to the system using the gluster or posixfs storage.

Parameters:

  • storage_domain (StorageDomain)

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



23008
23009
23010
# File 'lib/ovirtsdk4/services.rb', line 23008

def add_gluster_or_postfs(storage_domain, opts = {})
  internal_add(storage_domain, StorageDomain, ADD_GLUSTER_OR_POSTFS, opts)
end

#add_local(storage_domain, opts = {}) ⇒ StorageDomain

Add a new storage domain to the system using the storage on the localhost at the given path.

Parameters:

  • storage_domain (StorageDomain)

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



23081
23082
23083
# File 'lib/ovirtsdk4/services.rb', line 23081

def add_local(storage_domain, opts = {})
  internal_add(storage_domain, StorageDomain, ADD_LOCAL, opts)
end

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

Returns the list of storage domains of the system.

The order of the returned list of storage domains 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.

  • :filter (Boolean)

    Indicates if the results should be filtered according to the permissions of the user.

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

  • :search (String)

    A query string used to restrict the returned storage domains.

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



23054
23055
23056
# File 'lib/ovirtsdk4/services.rb', line 23054

def list(opts = {})
  internal_get(LIST, 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.



23103
23104
23105
23106
23107
23108
23109
23110
23111
23112
# File 'lib/ovirtsdk4/services.rb', line 23103

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

#storage_domain_service(id) ⇒ StorageDomainService

Locates the storage_domain service.

Parameters:

  • id (String)

    The identifier of the storage_domain.

Returns:



23092
23093
23094
# File 'lib/ovirtsdk4/services.rb', line 23092

def storage_domain_service(id)
  StorageDomainService.new(self, id)
end