class OvirtSDK4::SystemService

Public Class Methods

new(connection, path) click to toggle source

Creates a new implementation of the service.

@param connection [Connection] The connection to be used by this service.

@param path [String] The relative path of this service, for example `vms/123/disks`.

@api private

# File lib/ovirtsdk4/services.rb, line 21766
def initialize(connection, path)
  @connection = connection
  @path = path
end

Public Instance Methods

affinity_labels_service() click to toggle source

List all known affinity labels.

@return [AffinityLabelsService] A reference to `affinity_labels` service.

# File lib/ovirtsdk4/services.rb, line 21827
def affinity_labels_service
  return AffinityLabelsService.new(@connection, "#{@path}/affinitylabels")
end
bookmarks_service() click to toggle source

Locates the `bookmarks` service.

@return [BookmarksService] A reference to `bookmarks` service.

# File lib/ovirtsdk4/services.rb, line 21835
def bookmarks_service
  return BookmarksService.new(@connection, "#{@path}/bookmarks")
end
cluster_levels_service() click to toggle source

Reference to the service that provides information about the cluster levels supported by the system.

@return [ClusterLevelsService] A reference to `cluster_levels` service.

# File lib/ovirtsdk4/services.rb, line 21843
def cluster_levels_service
  return ClusterLevelsService.new(@connection, "#{@path}/clusterlevels")
end
clusters_service() click to toggle source

Locates the `clusters` service.

@return [ClustersService] A reference to `clusters` service.

# File lib/ovirtsdk4/services.rb, line 21851
def clusters_service
  return ClustersService.new(@connection, "#{@path}/clusters")
end
cpu_profiles_service() click to toggle source

Locates the `cpu_profiles` service.

@return [CpuProfilesService] A reference to `cpu_profiles` service.

# File lib/ovirtsdk4/services.rb, line 21859
def cpu_profiles_service
  return CpuProfilesService.new(@connection, "#{@path}/cpuprofiles")
end
data_centers_service() click to toggle source

Locates the `data_centers` service.

@return [DataCentersService] A reference to `data_centers` service.

# File lib/ovirtsdk4/services.rb, line 21867
def data_centers_service
  return DataCentersService.new(@connection, "#{@path}/datacenters")
end
disk_profiles_service() click to toggle source

Locates the `disk_profiles` service.

@return [DiskProfilesService] A reference to `disk_profiles` service.

# File lib/ovirtsdk4/services.rb, line 21875
def disk_profiles_service
  return DiskProfilesService.new(@connection, "#{@path}/diskprofiles")
end
disks_service() click to toggle source

Locates the `disks` service.

@return [DisksService] A reference to `disks` service.

# File lib/ovirtsdk4/services.rb, line 21883
def disks_service
  return DisksService.new(@connection, "#{@path}/disks")
end
domains_service() click to toggle source

Locates the `domains` service.

@return [DomainsService] A reference to `domains` service.

# File lib/ovirtsdk4/services.rb, line 21891
def domains_service
  return DomainsService.new(@connection, "#{@path}/domains")
end
events_service() click to toggle source

Locates the `events` service.

@return [EventsService] A reference to `events` service.

# File lib/ovirtsdk4/services.rb, line 21899
def events_service
  return EventsService.new(@connection, "#{@path}/events")
end
external_host_providers_service() click to toggle source

Locates the `external_host_providers` service.

@return [ExternalHostProvidersService] A reference to `external_host_providers` service.

# File lib/ovirtsdk4/services.rb, line 21907
def external_host_providers_service
  return ExternalHostProvidersService.new(@connection, "#{@path}/externalhostproviders")
end
external_vm_imports_service() click to toggle source

Reference to service facilitating import of external virtual machines.

@return [ExternalVmImportsService] A reference to `external_vm_imports` service.

# File lib/ovirtsdk4/services.rb, line 21915
def external_vm_imports_service
  return ExternalVmImportsService.new(@connection, "#{@path}/externalvmimports")
end
get(opts = {}) click to toggle source

Returns basic information describing the API, like the product name, the version number and a summary of the number of relevant objects.

@param opts [Hash] Additional options.

@return [Api]

# File lib/ovirtsdk4/services.rb, line 21779
def get(opts = {})
  query = {}
  request = Request.new(:method => :GET, :path => @path, :query => query)
  response = @connection.send(request)
  case response.code
  when 200
    begin
      reader = XmlReader.new(response.body)
      return ApiReader.read_one(reader)
    ensure
      reader.close
    end
  else
    check_fault(response)
  end
end
groups_service() click to toggle source

Locates the `groups` service.

@return [GroupsService] A reference to `groups` service.

# File lib/ovirtsdk4/services.rb, line 21923
def groups_service
  return GroupsService.new(@connection, "#{@path}/groups")
end
hosts_service() click to toggle source

Locates the `hosts` service.

@return [HostsService] A reference to `hosts` service.

# File lib/ovirtsdk4/services.rb, line 21931
def hosts_service
  return HostsService.new(@connection, "#{@path}/hosts")
end
icons_service() click to toggle source

Locates the `icons` service.

@return [IconsService] A reference to `icons` service.

# File lib/ovirtsdk4/services.rb, line 21939
def icons_service
  return IconsService.new(@connection, "#{@path}/icons")
end
image_transfers_service() click to toggle source

List of all image transfers being performed for image I/O in oVirt.

@return [ImageTransfersService] A reference to `image_transfers` service.

# File lib/ovirtsdk4/services.rb, line 21947
def image_transfers_service
  return ImageTransfersService.new(@connection, "#{@path}/imagetransfers")
end
instance_types_service() click to toggle source

Locates the `instance_types` service.

@return [InstanceTypesService] A reference to `instance_types` service.

# File lib/ovirtsdk4/services.rb, line 21955
def instance_types_service
  return InstanceTypesService.new(@connection, "#{@path}/instancetypes")
end
jobs_service() click to toggle source

Locates the `jobs` service.

@return [JobsService] A reference to `jobs` service.

# File lib/ovirtsdk4/services.rb, line 21963
def jobs_service
  return JobsService.new(@connection, "#{@path}/jobs")
end
katello_errata_service() click to toggle source

Locates the `katello_errata` service.

@return [EngineKatelloErrataService] A reference to `katello_errata` service.

# File lib/ovirtsdk4/services.rb, line 21971
def katello_errata_service
  return EngineKatelloErrataService.new(@connection, "#{@path}/katelloerrata")
end
mac_pools_service() click to toggle source

Locates the `mac_pools` service.

@return [MacPoolsService] A reference to `mac_pools` service.

# File lib/ovirtsdk4/services.rb, line 21979
def mac_pools_service
  return MacPoolsService.new(@connection, "#{@path}/macpools")
end
network_filters_service() click to toggle source

Network filters will enhance the admin ability to manage the network packets traffic from/to the participated VMs.

@return [NetworkFiltersService] A reference to `network_filters` service.

# File lib/ovirtsdk4/services.rb, line 21988
def network_filters_service
  return NetworkFiltersService.new(@connection, "#{@path}/networkfilters")
end
networks_service() click to toggle source

Locates the `networks` service.

@return [NetworksService] A reference to `networks` service.

# File lib/ovirtsdk4/services.rb, line 21996
def networks_service
  return NetworksService.new(@connection, "#{@path}/networks")
end
openstack_image_providers_service() click to toggle source

Locates the `openstack_image_providers` service.

@return [OpenstackImageProvidersService] A reference to `openstack_image_providers` service.

# File lib/ovirtsdk4/services.rb, line 22004
def openstack_image_providers_service
  return OpenstackImageProvidersService.new(@connection, "#{@path}/openstackimageproviders")
end
openstack_network_providers_service() click to toggle source

Locates the `openstack_network_providers` service.

@return [OpenstackNetworkProvidersService] A reference to `openstack_network_providers` service.

# File lib/ovirtsdk4/services.rb, line 22012
def openstack_network_providers_service
  return OpenstackNetworkProvidersService.new(@connection, "#{@path}/openstacknetworkproviders")
end
openstack_volume_providers_service() click to toggle source

Locates the `openstack_volume_providers` service.

@return [OpenstackVolumeProvidersService] A reference to `openstack_volume_providers` service.

# File lib/ovirtsdk4/services.rb, line 22020
def openstack_volume_providers_service
  return OpenstackVolumeProvidersService.new(@connection, "#{@path}/openstackvolumeproviders")
end
operating_systems_service() click to toggle source

Locates the `operating_systems` service.

@return [OperatingSystemsService] A reference to `operating_systems` service.

# File lib/ovirtsdk4/services.rb, line 22028
def operating_systems_service
  return OperatingSystemsService.new(@connection, "#{@path}/operatingsystems")
end
permissions_service() click to toggle source

Locates the `permissions` service.

@return [SystemPermissionsService] A reference to `permissions` service.

# File lib/ovirtsdk4/services.rb, line 22036
def permissions_service
  return SystemPermissionsService.new(@connection, "#{@path}/permissions")
end
reload_configurations(opts = {}) click to toggle source

Executes the `reload_configurations` method.

@param opts [Hash] Additional options.

@option opts [Boolean] :async Indicates if the reload should be performed asynchronously.

# File lib/ovirtsdk4/services.rb, line 21803
def reload_configurations(opts = {})
  action = Action.new(opts)
  writer = XmlWriter.new(nil, true)
  ActionWriter.write_one(action, writer)
  body = writer.string
  writer.close
  request = Request.new({
  :method => :POST,
  :path => "#{@path}/reloadconfigurations",
  :body => body,
  })
  response = @connection.send(request)
  case response.code
  when 200
    action = check_action(response)
  else
    check_action(response)
  end
end
roles_service() click to toggle source

Locates the `roles` service.

@return [RolesService] A reference to `roles` service.

# File lib/ovirtsdk4/services.rb, line 22044
def roles_service
  return RolesService.new(@connection, "#{@path}/roles")
end
scheduling_policies_service() click to toggle source

Locates the `scheduling_policies` service.

@return [SchedulingPoliciesService] A reference to `scheduling_policies` service.

# File lib/ovirtsdk4/services.rb, line 22052
def scheduling_policies_service
  return SchedulingPoliciesService.new(@connection, "#{@path}/schedulingpolicies")
end
scheduling_policy_units_service() click to toggle source

Locates the `scheduling_policy_units` service.

@return [SchedulingPolicyUnitsService] A reference to `scheduling_policy_units` service.

# File lib/ovirtsdk4/services.rb, line 22060
def scheduling_policy_units_service
  return SchedulingPolicyUnitsService.new(@connection, "#{@path}/schedulingpolicyunits")
end
service(path) click to toggle source

Locates the service corresponding to the given path.

@param path [String] The path of the service.

@return [Service] A reference to the service.

# File lib/ovirtsdk4/services.rb, line 22135
def service(path)
  if path.nil? || path == ''
    return self
  end
  if path == 'affinitylabels'
    return affinity_labels_service
  end
  if path.start_with?('affinitylabels/')
    return affinity_labels_service.service(path[15..-1])
  end
  if path == 'bookmarks'
    return bookmarks_service
  end
  if path.start_with?('bookmarks/')
    return bookmarks_service.service(path[10..-1])
  end
  if path == 'clusterlevels'
    return cluster_levels_service
  end
  if path.start_with?('clusterlevels/')
    return cluster_levels_service.service(path[14..-1])
  end
  if path == 'clusters'
    return clusters_service
  end
  if path.start_with?('clusters/')
    return clusters_service.service(path[9..-1])
  end
  if path == 'cpuprofiles'
    return cpu_profiles_service
  end
  if path.start_with?('cpuprofiles/')
    return cpu_profiles_service.service(path[12..-1])
  end
  if path == 'datacenters'
    return data_centers_service
  end
  if path.start_with?('datacenters/')
    return data_centers_service.service(path[12..-1])
  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 == 'disks'
    return disks_service
  end
  if path.start_with?('disks/')
    return disks_service.service(path[6..-1])
  end
  if path == 'domains'
    return domains_service
  end
  if path.start_with?('domains/')
    return domains_service.service(path[8..-1])
  end
  if path == 'events'
    return events_service
  end
  if path.start_with?('events/')
    return events_service.service(path[7..-1])
  end
  if path == 'externalhostproviders'
    return external_host_providers_service
  end
  if path.start_with?('externalhostproviders/')
    return external_host_providers_service.service(path[22..-1])
  end
  if path == 'externalvmimports'
    return external_vm_imports_service
  end
  if path.start_with?('externalvmimports/')
    return external_vm_imports_service.service(path[18..-1])
  end
  if path == 'groups'
    return groups_service
  end
  if path.start_with?('groups/')
    return groups_service.service(path[7..-1])
  end
  if path == 'hosts'
    return hosts_service
  end
  if path.start_with?('hosts/')
    return hosts_service.service(path[6..-1])
  end
  if path == 'icons'
    return icons_service
  end
  if path.start_with?('icons/')
    return icons_service.service(path[6..-1])
  end
  if path == 'imagetransfers'
    return image_transfers_service
  end
  if path.start_with?('imagetransfers/')
    return image_transfers_service.service(path[15..-1])
  end
  if path == 'instancetypes'
    return instance_types_service
  end
  if path.start_with?('instancetypes/')
    return instance_types_service.service(path[14..-1])
  end
  if path == 'jobs'
    return jobs_service
  end
  if path.start_with?('jobs/')
    return jobs_service.service(path[5..-1])
  end
  if path == 'katelloerrata'
    return katello_errata_service
  end
  if path.start_with?('katelloerrata/')
    return katello_errata_service.service(path[14..-1])
  end
  if path == 'macpools'
    return mac_pools_service
  end
  if path.start_with?('macpools/')
    return mac_pools_service.service(path[9..-1])
  end
  if path == 'networkfilters'
    return network_filters_service
  end
  if path.start_with?('networkfilters/')
    return network_filters_service.service(path[15..-1])
  end
  if path == 'networks'
    return networks_service
  end
  if path.start_with?('networks/')
    return networks_service.service(path[9..-1])
  end
  if path == 'openstackimageproviders'
    return openstack_image_providers_service
  end
  if path.start_with?('openstackimageproviders/')
    return openstack_image_providers_service.service(path[24..-1])
  end
  if path == 'openstacknetworkproviders'
    return openstack_network_providers_service
  end
  if path.start_with?('openstacknetworkproviders/')
    return openstack_network_providers_service.service(path[26..-1])
  end
  if path == 'openstackvolumeproviders'
    return openstack_volume_providers_service
  end
  if path.start_with?('openstackvolumeproviders/')
    return openstack_volume_providers_service.service(path[25..-1])
  end
  if path == 'operatingsystems'
    return operating_systems_service
  end
  if path.start_with?('operatingsystems/')
    return operating_systems_service.service(path[17..-1])
  end
  if path == 'permissions'
    return permissions_service
  end
  if path.start_with?('permissions/')
    return permissions_service.service(path[12..-1])
  end
  if path == 'roles'
    return roles_service
  end
  if path.start_with?('roles/')
    return roles_service.service(path[6..-1])
  end
  if path == 'schedulingpolicies'
    return scheduling_policies_service
  end
  if path.start_with?('schedulingpolicies/')
    return scheduling_policies_service.service(path[19..-1])
  end
  if path == 'schedulingpolicyunits'
    return scheduling_policy_units_service
  end
  if path.start_with?('schedulingpolicyunits/')
    return scheduling_policy_units_service.service(path[22..-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 == 'storagedomains'
    return storage_domains_service
  end
  if path.start_with?('storagedomains/')
    return storage_domains_service.service(path[15..-1])
  end
  if path == 'tags'
    return tags_service
  end
  if path.start_with?('tags/')
    return tags_service.service(path[5..-1])
  end
  if path == 'templates'
    return templates_service
  end
  if path.start_with?('templates/')
    return templates_service.service(path[10..-1])
  end
  if path == 'users'
    return users_service
  end
  if path.start_with?('users/')
    return users_service.service(path[6..-1])
  end
  if path == 'vmpools'
    return vm_pools_service
  end
  if path.start_with?('vmpools/')
    return vm_pools_service.service(path[8..-1])
  end
  if path == 'vms'
    return vms_service
  end
  if path.start_with?('vms/')
    return vms_service.service(path[4..-1])
  end
  if path == 'vnicprofiles'
    return vnic_profiles_service
  end
  if path.start_with?('vnicprofiles/')
    return vnic_profiles_service.service(path[13..-1])
  end
  raise Error.new("The path \"#{path}\" doesn't correspond to any service")
end
storage_connections_service() click to toggle source

Locates the `storage_connections` service.

@return [StorageServerConnectionsService] A reference to `storage_connections` service.

# File lib/ovirtsdk4/services.rb, line 22068
def storage_connections_service
  return StorageServerConnectionsService.new(@connection, "#{@path}/storageconnections")
end
storage_domains_service() click to toggle source

Locates the `storage_domains` service.

@return [StorageDomainsService] A reference to `storage_domains` service.

# File lib/ovirtsdk4/services.rb, line 22076
def storage_domains_service
  return StorageDomainsService.new(@connection, "#{@path}/storagedomains")
end
tags_service() click to toggle source

Locates the `tags` service.

@return [TagsService] A reference to `tags` service.

# File lib/ovirtsdk4/services.rb, line 22084
def tags_service
  return TagsService.new(@connection, "#{@path}/tags")
end
templates_service() click to toggle source

Locates the `templates` service.

@return [TemplatesService] A reference to `templates` service.

# File lib/ovirtsdk4/services.rb, line 22092
def templates_service
  return TemplatesService.new(@connection, "#{@path}/templates")
end
to_s() click to toggle source

Returns an string representation of this service.

@return [String]

# File lib/ovirtsdk4/services.rb, line 22375
def to_s
  return "#<#{SystemService}:#{@path}>"
end
users_service() click to toggle source

Locates the `users` service.

@return [UsersService] A reference to `users` service.

# File lib/ovirtsdk4/services.rb, line 22100
def users_service
  return UsersService.new(@connection, "#{@path}/users")
end
vm_pools_service() click to toggle source

Locates the `vm_pools` service.

@return [VmPoolsService] A reference to `vm_pools` service.

# File lib/ovirtsdk4/services.rb, line 22108
def vm_pools_service
  return VmPoolsService.new(@connection, "#{@path}/vmpools")
end
vms_service() click to toggle source

Locates the `vms` service.

@return [VmsService] A reference to `vms` service.

# File lib/ovirtsdk4/services.rb, line 22116
def vms_service
  return VmsService.new(@connection, "#{@path}/vms")
end
vnic_profiles_service() click to toggle source

Locates the `vnic_profiles` service.

@return [VnicProfilesService] A reference to `vnic_profiles` service.

# File lib/ovirtsdk4/services.rb, line 22124
def vnic_profiles_service
  return VnicProfilesService.new(@connection, "#{@path}/vnicprofiles")
end