Class: OvirtSDK4::DataCenterService
- Defined in:
- lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb
Instance Method Summary collapse
-
#clusters_service ⇒ ClustersService
Locates the
clustersservice. -
#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.
5799 5800 5801 |
# File 'lib/ovirtsdk4/services.rb', line 5799 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>
5700 5701 5702 |
# File 'lib/ovirtsdk4/services.rb', line 5700 def get(opts = {}) internal_get(GET, opts) end |
#iscsi_bonds_service ⇒ IscsiBondsService
Reference to the iSCSI bonds service.
5808 5809 5810 |
# File 'lib/ovirtsdk4/services.rb', line 5808 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.
5817 5818 5819 |
# File 'lib/ovirtsdk4/services.rb', line 5817 def networks_service @networks_service ||= DataCenterNetworksService.new(self, 'networks') end |
#permissions_service ⇒ AssignedPermissionsService
Reference to the permissions service.
5826 5827 5828 |
# File 'lib/ovirtsdk4/services.rb', line 5826 def @permissions_service ||= AssignedPermissionsService.new(self, 'permissions') end |
#qoss_service ⇒ QossService
Reference to the QOSs service.
5835 5836 5837 |
# File 'lib/ovirtsdk4/services.rb', line 5835 def qoss_service @qoss_service ||= QossService.new(self, 'qoss') end |
#quotas_service ⇒ QuotasService
Reference to the quotas service.
5844 5845 5846 |
# File 'lib/ovirtsdk4/services.rb', line 5844 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.
5743 5744 5745 |
# File 'lib/ovirtsdk4/services.rb', line 5743 def remove(opts = {}) internal_remove(REMOVE, opts) end |
#service(path) ⇒ Service
Locates the service corresponding to the given path.
5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 |
# File 'lib/ovirtsdk4/services.rb', line 5887 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
5876 5877 5878 |
# File 'lib/ovirtsdk4/services.rb', line 5876 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>
5790 5791 5792 |
# File 'lib/ovirtsdk4/services.rb', line 5790 def update(data_center, opts = {}) internal_update(data_center, DataCenter, UPDATE, opts) end |