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:


24135
24136
24137
# File 'lib/ovirtsdk4/services.rb', line 24135

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:


24162
24163
24164
# File 'lib/ovirtsdk4/services.rb', line 24162

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:


24189
24190
24191
# File 'lib/ovirtsdk4/services.rb', line 24189

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:


24216
24217
24218
# File 'lib/ovirtsdk4/services.rb', line 24216

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:


24243
24244
24245
# File 'lib/ovirtsdk4/services.rb', line 24243

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:


24316
24317
24318
# File 'lib/ovirtsdk4/services.rb', line 24316

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:


24289
24290
24291
# File 'lib/ovirtsdk4/services.rb', line 24289

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.


24338
24339
24340
24341
24342
24343
24344
24345
24346
24347
# File 'lib/ovirtsdk4/services.rb', line 24338

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:


24327
24328
24329
# File 'lib/ovirtsdk4/services.rb', line 24327

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