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:



22920
22921
22922
# File 'lib/ovirtsdk4/services.rb', line 22920

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:



22947
22948
22949
# File 'lib/ovirtsdk4/services.rb', line 22947

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:



22974
22975
22976
# File 'lib/ovirtsdk4/services.rb', line 22974

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:



23001
23002
23003
# File 'lib/ovirtsdk4/services.rb', line 23001

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:



23028
23029
23030
# File 'lib/ovirtsdk4/services.rb', line 23028

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:



23101
23102
23103
# File 'lib/ovirtsdk4/services.rb', line 23101

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:



23074
23075
23076
# File 'lib/ovirtsdk4/services.rb', line 23074

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.



23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
# File 'lib/ovirtsdk4/services.rb', line 23123

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:



23112
23113
23114
# File 'lib/ovirtsdk4/services.rb', line 23112

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