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:



23070
23071
23072
# File 'lib/ovirtsdk4/services.rb', line 23070

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:



23097
23098
23099
# File 'lib/ovirtsdk4/services.rb', line 23097

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:



23124
23125
23126
# File 'lib/ovirtsdk4/services.rb', line 23124

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:



23151
23152
23153
# File 'lib/ovirtsdk4/services.rb', line 23151

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:



23178
23179
23180
# File 'lib/ovirtsdk4/services.rb', line 23178

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:



23251
23252
23253
# File 'lib/ovirtsdk4/services.rb', line 23251

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:



23224
23225
23226
# File 'lib/ovirtsdk4/services.rb', line 23224

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.



23273
23274
23275
23276
23277
23278
23279
23280
23281
23282
# File 'lib/ovirtsdk4/services.rb', line 23273

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:



23262
23263
23264
# File 'lib/ovirtsdk4/services.rb', line 23262

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