Class: OvirtSDK4::DataCenterService
- Defined in:
- lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb
Instance Method Summary collapse
-
#clusters_service ⇒ ClustersService
Locates the
clusters
service. -
#get(opts = {}) ⇒ DataCenter
Get a data center.
-
#iscsi_bonds_service ⇒ IscsiBondsService
Reference to the iSCSI bonds service.
-
#networks_service ⇒ DataCenterNetworksService
Returns a reference to the service, that manages the networks, that are associated with the data center.
-
#permissions_service ⇒ AssignedPermissionsService
Reference to the permissions service.
-
#qoss_service ⇒ QossService
Reference to the QOSs service.
-
#quotas_service ⇒ QuotasService
Reference to the quotas service.
-
#remove(opts = {}) ⇒ Object
Removes the data center.
-
#service(path) ⇒ Service
Locates the service corresponding to the given path.
-
#storage_domains_service ⇒ AttachedStorageDomainsService
Attach and detach storage domains to and from a data center.
-
#update(data_center, opts = {}) ⇒ DataCenter
Updates the data center.
Methods inherited from Service
Instance Method Details
#clusters_service ⇒ ClustersService
Locates the clusters
service.
5751 5752 5753 |
# File 'lib/ovirtsdk4/services.rb', line 5751 def clusters_service @clusters_service ||= ClustersService.new(self, 'clusters') end |
#get(opts = {}) ⇒ DataCenter
Get a data center.
An example of getting a data center:
GET /ovirt-engine/api/datacenters/123
<data_center href="/ovirt-engine/api/datacenters/123" id="123">
<name>Default</name>
<description>The default Data Center</description>
<link href="/ovirt-engine/api/datacenters/123/clusters" rel="clusters"/>
<link href="/ovirt-engine/api/datacenters/123/storagedomains" rel="storagedomains"/>
<link href="/ovirt-engine/api/datacenters/123/permissions" rel="permissions"/>
<link href="/ovirt-engine/api/datacenters/123/networks" rel="networks"/>
<link href="/ovirt-engine/api/datacenters/123/quotas" rel="quotas"/>
<link href="/ovirt-engine/api/datacenters/123/qoss" rel="qoss"/>
<link href="/ovirt-engine/api/datacenters/123/iscsibonds" rel="iscsibonds"/>
<local>false</local>
<quota_mode>disabled</quota_mode>
<status>up</status>
<storage_format>v3</storage_format>
<supported_versions>
<version>
<major>4</major>
<minor>0</minor>
</version>
</supported_versions>
<version>
<major>4</major>
<minor>0</minor>
</version>
<mac_pool href="/ovirt-engine/api/macpools/456" id="456"/>
</data_center>
5652 5653 5654 |
# File 'lib/ovirtsdk4/services.rb', line 5652 def get(opts = {}) internal_get(GET, opts) end |
#iscsi_bonds_service ⇒ IscsiBondsService
Reference to the iSCSI bonds service.
5760 5761 5762 |
# File 'lib/ovirtsdk4/services.rb', line 5760 def iscsi_bonds_service @iscsi_bonds_service ||= IscsiBondsService.new(self, 'iscsibonds') end |
#networks_service ⇒ DataCenterNetworksService
Returns a reference to the service, that manages the networks, that are associated with the data center.
5769 5770 5771 |
# File 'lib/ovirtsdk4/services.rb', line 5769 def networks_service @networks_service ||= DataCenterNetworksService.new(self, 'networks') end |
#permissions_service ⇒ AssignedPermissionsService
Reference to the permissions service.
5778 5779 5780 |
# File 'lib/ovirtsdk4/services.rb', line 5778 def @permissions_service ||= AssignedPermissionsService.new(self, 'permissions') end |
#qoss_service ⇒ QossService
Reference to the QOSs service.
5787 5788 5789 |
# File 'lib/ovirtsdk4/services.rb', line 5787 def qoss_service @qoss_service ||= QossService.new(self, 'qoss') end |
#quotas_service ⇒ QuotasService
Reference to the quotas service.
5796 5797 5798 |
# File 'lib/ovirtsdk4/services.rb', line 5796 def quotas_service @quotas_service ||= QuotasService.new(self, 'quotas') end |
#remove(opts = {}) ⇒ Object
Removes the data center.
DELETE /ovirt-engine/api/datacenters/123
Without any special parameters, the storage domains attached to the data center are detached and then removed from the storage. If something fails when performing this operation, for example if there is no host available to remove the storage domains from the storage, the complete operation will fail.
If the force
parameter is true
then the operation will always succeed, even if something fails while removing
one storage domain, for example. The failure is just ignored and the data center is removed from the database
anyway.
5695 5696 5697 |
# File 'lib/ovirtsdk4/services.rb', line 5695 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 |
# File 'lib/ovirtsdk4/services.rb', line 5839 def service(path) if path.nil? || path == '' return self end if path == 'clusters' return clusters_service end if path.start_with?('clusters/') return clusters_service.service(path[9..-1]) end if path == 'iscsibonds' return iscsi_bonds_service end if path.start_with?('iscsibonds/') return iscsi_bonds_service.service(path[11..-1]) end if path == 'networks' return networks_service end if path.start_with?('networks/') return networks_service.service(path[9..-1]) end if path == 'permissions' return end if path.start_with?('permissions/') return .service(path[12..-1]) end if path == 'qoss' return qoss_service end if path.start_with?('qoss/') return qoss_service.service(path[5..-1]) end if path == 'quotas' return quotas_service end if path.start_with?('quotas/') return quotas_service.service(path[7..-1]) end if path == 'storagedomains' return storage_domains_service end if path.start_with?('storagedomains/') return storage_domains_service.service(path[15..-1]) end raise Error.new("The path \"#{path}\" doesn't correspond to any service") end |
#storage_domains_service ⇒ AttachedStorageDomainsService
Attach and detach storage domains to and from a data center.
For attaching a single storage domain we should use the following POST request:
POST /ovirt-engine/api/datacenters/123/storagedomains
With a request body like this:
<storage_domain>
<name>data1</name>
</storage_domain>
For detaching a single storage domain we should use the following DELETE request:
DELETE /ovirt-engine/api/datacenters/123/storagedomains/123
5828 5829 5830 |
# File 'lib/ovirtsdk4/services.rb', line 5828 def storage_domains_service @storage_domains_service ||= AttachedStorageDomainsService.new(self, 'storagedomains') end |
#update(data_center, opts = {}) ⇒ DataCenter
Updates the data center.
The name
, description
, storage_type
, version
, storage_format
and mac_pool
elements are updatable
post-creation. For example, to change the name and description of data center 123
send a request like this:
PUT /ovirt-engine/api/datacenters/123
With a request body like this:
<data_center>
<name>myupdatedname</name>
<description>An updated description for the data center</description>
</data_center>
5742 5743 5744 |
# File 'lib/ovirtsdk4/services.rb', line 5742 def update(data_center, opts = {}) internal_update(data_center, DataCenter, UPDATE, opts) end |