Class: OvirtSDK4::StorageDomainService
- Defined in:
- lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb
Instance Method Summary collapse
-
#disk_profiles_service ⇒ AssignedDiskProfilesService
Locates the
disk_profilesservice. -
#disk_snapshots_service ⇒ DiskSnapshotsService
Locates the
disk_snapshotsservice. -
#disks_service ⇒ StorageDomainDisksService
Reference to the service that manages the disks available in the storage domain.
-
#files_service ⇒ FilesService
Returns a reference to the service that manages the files available in the storage domain.
-
#get(opts = {}) ⇒ StorageDomain
Returns the representation of the object managed by this service.
-
#images_service ⇒ ImagesService
Locates the
imagesservice. -
#is_attached(opts = {}) ⇒ Object
Used for querying if the storage domain is already attached to a data center using the is_attached boolean field, which is part of the storage server.
-
#permissions_service ⇒ AssignedPermissionsService
Locates the
permissionsservice. -
#reduce_luns(opts = {}) ⇒ Object
This operation reduces logical units from the storage domain.
-
#refresh_luns(opts = {}) ⇒ Object
This operation refreshes the LUN size.
-
#remove(opts = {}) ⇒ Object
Removes the storage domain.
-
#service(path) ⇒ Service
Locates the service corresponding to the given path.
-
#storage_connections_service ⇒ StorageDomainServerConnectionsService
Returns a reference to the service that manages the storage connections.
-
#templates_service ⇒ StorageDomainTemplatesService
Locates the
templatesservice. -
#update(storage_domain, opts = {}) ⇒ StorageDomain
Updates a storage domain.
-
#update_ovf_store(opts = {}) ⇒ Object
This operation forces the update of the
OVF_STOREof this storage domain. -
#vms_service ⇒ StorageDomainVmsService
Locates the
vmsservice.
Methods inherited from Service
Instance Method Details
#disk_profiles_service ⇒ AssignedDiskProfilesService
Locates the disk_profiles service.
21240 21241 21242 |
# File 'lib/ovirtsdk4/services.rb', line 21240 def disk_profiles_service @disk_profiles_service ||= AssignedDiskProfilesService.new(self, 'diskprofiles') end |
#disk_snapshots_service ⇒ DiskSnapshotsService
Locates the disk_snapshots service.
21249 21250 21251 |
# File 'lib/ovirtsdk4/services.rb', line 21249 def disk_snapshots_service @disk_snapshots_service ||= DiskSnapshotsService.new(self, 'disksnapshots') end |
#disks_service ⇒ StorageDomainDisksService
Reference to the service that manages the disks available in the storage domain.
21258 21259 21260 |
# File 'lib/ovirtsdk4/services.rb', line 21258 def disks_service @disks_service ||= StorageDomainDisksService.new(self, 'disks') end |
#files_service ⇒ FilesService
Returns a reference to the service that manages the files available in the storage domain.
21267 21268 21269 |
# File 'lib/ovirtsdk4/services.rb', line 21267 def files_service @files_service ||= FilesService.new(self, 'files') end |
#get(opts = {}) ⇒ StorageDomain
Returns the representation of the object managed by this service.
20932 20933 20934 |
# File 'lib/ovirtsdk4/services.rb', line 20932 def get(opts = {}) internal_get(GET, opts) end |
#images_service ⇒ ImagesService
Locates the images service.
21276 21277 21278 |
# File 'lib/ovirtsdk4/services.rb', line 21276 def images_service @images_service ||= ImagesService.new(self, 'images') end |
#is_attached(opts = {}) ⇒ Object
Used for querying if the storage domain is already attached to a data center using the is_attached boolean field, which is part of the storage server. IMPORTANT: Executing this API will cause the host to disconnect from the storage domain.
20965 20966 20967 |
# File 'lib/ovirtsdk4/services.rb', line 20965 def is_attached(opts = {}) internal_action(:isattached, :is_attached, IS_ATTACHED, opts) end |
#permissions_service ⇒ AssignedPermissionsService
Locates the permissions service.
21285 21286 21287 |
# File 'lib/ovirtsdk4/services.rb', line 21285 def @permissions_service ||= AssignedPermissionsService.new(self, 'permissions') end |
#reduce_luns(opts = {}) ⇒ Object
This operation reduces logical units from the storage domain.
In order to do so the data stored on the provided logical units will be moved to other logical units of the storage domain and only then they will be reduced from the storage domain.
For example, in order to reduce two logical units from a storage domain send a request like this:
POST /ovirt-engine/api/storageDomains/123/reduceluns
With a request body like this:
<action>
<logical_units>
<logical_unit id="1IET_00010001"/>
<logical_unit id="1IET_00010002"/>
</logical_units>
</action>
Note that this operation is only applicable to block storage domains (i.e., storage domains with the
<<types/storage_type, storage type> of iSCSI or FCP).
21016 21017 21018 |
# File 'lib/ovirtsdk4/services.rb', line 21016 def reduce_luns(opts = {}) internal_action(:reduceluns, nil, REDUCE_LUNS, opts) end |
#refresh_luns(opts = {}) ⇒ Object
This operation refreshes the LUN size.
After increasing the size of the underlying LUN on the storage server, the user can refresh the LUN size. This action forces a rescan of the provided LUNs and updates the database with the new size, if required.
For example, in order to refresh the size of two LUNs send a request like this:
POST /ovirt-engine/api/storageDomains/262b056b-aede-40f1-9666-b883eff59d40/refreshluns
With a request body like this:
<action>
<logical_units>
<logical_unit id="1IET_00010001"/>
<logical_unit id="1IET_00010002"/>
</logical_units>
</action>
21069 21070 21071 |
# File 'lib/ovirtsdk4/services.rb', line 21069 def refresh_luns(opts = {}) internal_action(:refreshluns, nil, REFRESH_LUNS, opts) end |
#remove(opts = {}) ⇒ Object
Removes the storage domain.
Without any special parameters, the storage domain is detached from the system and removed from the database. The storage domain can then be imported to the same or to a different setup, with all the data on it. If the storage is not accessible the operation will fail.
If the destroy parameter is true then the operation will always succeed, even if the storage is not
accessible, the failure is just ignored and the storage domain is removed from the database anyway.
If the format parameter is true then the actual storage is formatted, and the metadata is removed from the
LUN or directory, so it can no longer be imported to the same or to a different setup.
21138 21139 21140 |
# File 'lib/ovirtsdk4/services.rb', line 21138 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
21323 21324 21325 21326 21327 21328 21329 21330 21331 21332 21333 21334 21335 21336 21337 21338 21339 21340 21341 21342 21343 21344 21345 21346 21347 21348 21349 21350 21351 21352 21353 21354 21355 21356 21357 21358 21359 21360 21361 21362 21363 21364 21365 21366 21367 21368 21369 21370 21371 21372 21373 21374 21375 21376 21377 21378 21379 21380 21381 21382 |
# File 'lib/ovirtsdk4/services.rb', line 21323 def service(path) if path.nil? || path == '' return self end if path == 'diskprofiles' return disk_profiles_service end if path.start_with?('diskprofiles/') return disk_profiles_service.service(path[13..-1]) end if path == 'disksnapshots' return disk_snapshots_service end if path.start_with?('disksnapshots/') return disk_snapshots_service.service(path[14..-1]) end if path == 'disks' return disks_service end if path.start_with?('disks/') return disks_service.service(path[6..-1]) end if path == 'files' return files_service end if path.start_with?('files/') return files_service.service(path[6..-1]) end if path == 'images' return images_service end if path.start_with?('images/') return images_service.service(path[7..-1]) end if path == 'permissions' return end if path.start_with?('permissions/') return .service(path[12..-1]) end if path == 'storageconnections' return storage_connections_service end if path.start_with?('storageconnections/') return storage_connections_service.service(path[19..-1]) end if path == 'templates' return templates_service end if path.start_with?('templates/') return templates_service.service(path[10..-1]) end if path == 'vms' return vms_service end if path.start_with?('vms/') return vms_service.service(path[4..-1]) end raise Error.new("The path \"#{path}\" doesn't correspond to any service") end |
#storage_connections_service ⇒ StorageDomainServerConnectionsService
Returns a reference to the service that manages the storage connections.
21294 21295 21296 |
# File 'lib/ovirtsdk4/services.rb', line 21294 def storage_connections_service @storage_connections_service ||= StorageDomainServerConnectionsService.new(self, 'storageconnections') end |
#templates_service ⇒ StorageDomainTemplatesService
Locates the templates service.
21303 21304 21305 |
# File 'lib/ovirtsdk4/services.rb', line 21303 def templates_service @templates_service ||= StorageDomainTemplatesService.new(self, 'templates') end |
#update(storage_domain, opts = {}) ⇒ StorageDomain
Updates a storage domain.
Not all of the StorageDomain's attributes are updatable after creation. Those that can be
updated are: name, description, comment, warning_low_space_indicator, critical_space_action_blocker and
wipe_after_delete. (Note that changing the wipe_after_delete attribute will not change the wipe after delete
property of disks that already exist).
To update the name and wipe_after_delete attributes of a storage domain with an identifier 123, send a
request as follows:
PUT /ovirt-engine/api/storageDomains/123
With a request body as follows:
<storage_domain>
<name>data2</name>
<wipe_after_delete>true</wipe_after_delete>
</storage_domain>
21190 21191 21192 |
# File 'lib/ovirtsdk4/services.rb', line 21190 def update(storage_domain, opts = {}) internal_update(storage_domain, StorageDomain, UPDATE, opts) end |
#update_ovf_store(opts = {}) ⇒ Object
This operation forces the update of the OVF_STORE
of this storage domain.
The OVF_STORE is a disk image that contains the metadata
of virtual machines and disks that reside in the
storage domain. This metadata is used in case the
domain is imported or exported to or from a different
data center or a different installation.
By default the OVF_STORE is updated periodically
(set by default to 60 minutes) but users might want to force an
update after an important change, or when the they believe the
OVF_STORE is corrupt.
When initiated by the user, OVF_STORE update will be performed whether
an update is needed or not.
21231 21232 21233 |
# File 'lib/ovirtsdk4/services.rb', line 21231 def update_ovf_store(opts = {}) internal_action(:updateovfstore, nil, UPDATE_OVF_STORE, opts) end |
#vms_service ⇒ StorageDomainVmsService
Locates the vms service.
21312 21313 21314 |
# File 'lib/ovirtsdk4/services.rb', line 21312 def vms_service @vms_service ||= StorageDomainVmsService.new(self, 'vms') end |