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.
5748 5749 5750 |
# File 'lib/ovirtsdk4/services.rb', line 5748 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>
5649 5650 5651 |
# File 'lib/ovirtsdk4/services.rb', line 5649 def get(opts = {}) internal_get(GET, opts) end |
#iscsi_bonds_service ⇒ IscsiBondsService
Reference to the iSCSI bonds service.
5757 5758 5759 |
# File 'lib/ovirtsdk4/services.rb', line 5757 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.
5766 5767 5768 |
# File 'lib/ovirtsdk4/services.rb', line 5766 def networks_service @networks_service ||= DataCenterNetworksService.new(self, 'networks') end |
#permissions_service ⇒ AssignedPermissionsService
Reference to the permissions service.
5775 5776 5777 |
# File 'lib/ovirtsdk4/services.rb', line 5775 def @permissions_service ||= AssignedPermissionsService.new(self, 'permissions') end |
#qoss_service ⇒ QossService
Reference to the QOSs service.
5784 5785 5786 |
# File 'lib/ovirtsdk4/services.rb', line 5784 def qoss_service @qoss_service ||= QossService.new(self, 'qoss') end |
#quotas_service ⇒ QuotasService
Reference to the quotas service.
5793 5794 5795 |
# File 'lib/ovirtsdk4/services.rb', line 5793 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.
5692 5693 5694 |
# File 'lib/ovirtsdk4/services.rb', line 5692 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
5836 5837 5838 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 |
# File 'lib/ovirtsdk4/services.rb', line 5836 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
5825 5826 5827 |
# File 'lib/ovirtsdk4/services.rb', line 5825 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>
5739 5740 5741 |
# File 'lib/ovirtsdk4/services.rb', line 5739 def update(data_center, opts = {}) internal_update(data_center, DataCenter, UPDATE, opts) end |