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 product-name 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 using a host with an id 123, send a request like this:

POST /ovirt-engine/api/storageDomains

With a request body like this:

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



24409
24410
24411
# File 'lib/ovirtsdk4/services.rb', line 24409

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:



24436
24437
24438
# File 'lib/ovirtsdk4/services.rb', line 24436

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:



24463
24464
24465
# File 'lib/ovirtsdk4/services.rb', line 24463

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:



24490
24491
24492
# File 'lib/ovirtsdk4/services.rb', line 24490

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 Gluster or POSIX FS 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:



24517
24518
24519
# File 'lib/ovirtsdk4/services.rb', line 24517

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 local host 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:



24590
24591
24592
# File 'lib/ovirtsdk4/services.rb', line 24590

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



24563
24564
24565
# File 'lib/ovirtsdk4/services.rb', line 24563

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.



24612
24613
24614
24615
24616
24617
24618
24619
24620
24621
# File 'lib/ovirtsdk4/services.rb', line 24612

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:



24601
24602
24603
# File 'lib/ovirtsdk4/services.rb', line 24601

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