affinity_labels_service()
click to toggle source
List of scheduling labels assigned to this VM.
@return [AssignedAffinityLabelsService] A reference to `affinity_labels`
service.
def affinity_labels_service
return AssignedAffinityLabelsService.new(@connection, "#{@path}/affinitylabels")
end
applications_service()
click to toggle source
Locates the `applications` service.
@return [VmApplicationsService] A reference to `applications` service.
def applications_service
return VmApplicationsService.new(@connection, "#{@path}/applications")
end
cancel_migration(opts = {})
click to toggle source
Executes the `cancel_migration` method.
def cancel_migration(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}/cancelmigration",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
cdroms_service()
click to toggle source
Locates the `cdroms` service.
@return [VmCdromsService] A reference to `cdroms` service.
def cdroms_service
return VmCdromsService.new(@connection, "#{@path}/cdroms")
end
clone(opts = {})
click to toggle source
Executes the `clone` method.
def clone(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}/clone",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
commit_snapshot(opts = {})
click to toggle source
Executes the `commit_snapshot` method.
def commit_snapshot(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}/commitsnapshot",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
detach(opts = {})
click to toggle source
Executes the `detach` method.
def detach(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}/detach",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
disk_attachments_service()
click to toggle source
List of disks attached to this virtual machine.
@return [DiskAttachmentsService] A reference to `disk_attachments` service.
def disk_attachments_service
return DiskAttachmentsService.new(@connection, "#{@path}/diskattachments")
end
disks_service()
click to toggle source
Locates the `disks` service.
@return [VmDisksService] A reference to `disks` service.
def disks_service
return VmDisksService.new(@connection, "#{@path}/disks")
end
export(opts = {})
click to toggle source
Executes the `export` method.
def export(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}/export",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
freeze_filesystems(opts = {})
click to toggle source
Executes the `freeze_filesystems` method.
def freeze_filesystems(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}/freezefilesystems",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
get(opts = {})
click to toggle source
Retrieves the description of the virtual machine.
Note that some elements of the description of the virtual machine won't
be returned unless the `All-Content` header is present in the request and
has the value `true`. The elements that aren't currently returned are
the following:
With the Python SDK the `All-Content` header can be set using the
`all_content` parameter of the `get` method:
- source,python
api.vms.get(name=“myvm”, all_content=True)
Note that the reason for not including these elements is performance: they
are seldom used and they require additional queries in the server. So try
to use the `All-Content` header only when it is really needed.
@param opts [Hash] Additional options.
@option opts [Boolean] :filter Indicates if the results should be filtered
according to the permissions of the user.
@option opts [Boolean] :next_run Indicates if the returned result describes
the virtual machine as it is currently running, or if describes
it with the modifications that have already been performed but that will have effect only when it is
restarted. By default the values is `false`.
If the parameter is included in the request, but without a value, it is assumed that the value is `true`, so
the following request:
[source]
----
GET /vms/{vm:id};next_run
----
Is equivalent to using the value `true`:
[source]
----
GET /vms/{vm:id};next_run=true
----
@return [Vm]
def get(opts = {})
query = {}
value = opts[:filter]
unless value.nil?
value = Writer.render_boolean(value)
query['filter'] = value
end
value = opts[:next_run]
unless value.nil?
value = Writer.render_boolean(value)
query['next_run'] = value
end
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 VmReader.read_one(reader)
ensure
reader.close
end
else
check_fault(response)
end
end
graphics_consoles_service()
click to toggle source
Locates the `graphics_consoles` service.
@return [GraphicsConsolesService] A reference to `graphics_consoles`
service.
def graphics_consoles_service
return GraphicsConsolesService.new(@connection, "#{@path}/graphicsconsoles")
end
host_devices_service()
click to toggle source
Locates the `host_devices` service.
@return [VmHostDevicesService] A reference to `host_devices` service.
def host_devices_service
return VmHostDevicesService.new(@connection, "#{@path}/hostdevices")
end
katello_errata_service()
click to toggle source
Locates the `katello_errata` service.
@return [KatelloErrataService] A reference to `katello_errata` service.
def katello_errata_service
return KatelloErrataService.new(@connection, "#{@path}/katelloerrata")
end
logon(opts = {})
click to toggle source
Executes the `logon` method.
def logon(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}/logon",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
maintenance(opts = {})
click to toggle source
Executes the `maintenance` method.
def maintenance(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}/maintenance",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
migrate(opts = {})
click to toggle source
Executes the `migrate` method.
def migrate(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}/migrate",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
nics_service()
click to toggle source
Locates the `nics` service.
@return [VmNicsService] A reference to `nics` service.
def nics_service
return VmNicsService.new(@connection, "#{@path}/nics")
end
numa_nodes_service()
click to toggle source
Locates the `numa_nodes` service.
@return [VmNumaNodesService] A reference to `numa_nodes` service.
def numa_nodes_service
return VmNumaNodesService.new(@connection, "#{@path}/numanodes")
end
permissions_service()
click to toggle source
Locates the `permissions` service.
@return [AssignedPermissionsService] A reference to `permissions` service.
def permissions_service
return AssignedPermissionsService.new(@connection, "#{@path}/permissions")
end
preview_snapshot(opts = {})
click to toggle source
Executes the `preview_snapshot` method.
def preview_snapshot(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}/previewsnapshot",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
reboot(opts = {})
click to toggle source
Executes the `reboot` method.
def reboot(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}/reboot",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
remove(opts = {})
click to toggle source
Deletes the object managed by this service.
@param opts [Hash] Additional options.
@option opts [Boolean] :async Indicates if the remove should be performed
asynchronously.
def remove(opts = {})
query = {}
value = opts[:async]
unless value.nil?
value = Writer.render_boolean(value)
query['async'] = value
end
request = Request.new(:method => :DELETE, :path => @path, :query => query)
response = @connection.send(request)
unless response.code == 200
check_fault(response)
end
end
reorder_mac_addresses(opts = {})
click to toggle source
Executes the `reorder_mac_addresses` method.
def reorder_mac_addresses(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}/reordermacaddresses",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
reported_devices_service()
click to toggle source
Locates the `reported_devices` service.
@return [VmReportedDevicesService] A reference to `reported_devices`
service.
def reported_devices_service
return VmReportedDevicesService.new(@connection, "#{@path}/reporteddevices")
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.
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 == 'applications'
return applications_service
end
if path.start_with?('applications/')
return applications_service.service(path[13..-1])
end
if path == 'cdroms'
return cdroms_service
end
if path.start_with?('cdroms/')
return cdroms_service.service(path[7..-1])
end
if path == 'diskattachments'
return disk_attachments_service
end
if path.start_with?('diskattachments/')
return disk_attachments_service.service(path[16..-1])
end
if path == 'disks'
return disks_service
end
if path.start_with?('disks/')
return disks_service.service(path[6..-1])
end
if path == 'graphicsconsoles'
return graphics_consoles_service
end
if path.start_with?('graphicsconsoles/')
return graphics_consoles_service.service(path[17..-1])
end
if path == 'hostdevices'
return host_devices_service
end
if path.start_with?('hostdevices/')
return host_devices_service.service(path[12..-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 == 'nics'
return nics_service
end
if path.start_with?('nics/')
return nics_service.service(path[5..-1])
end
if path == 'numanodes'
return numa_nodes_service
end
if path.start_with?('numanodes/')
return numa_nodes_service.service(path[10..-1])
end
if path == 'permissions'
return permissions_service
end
if path.start_with?('permissions/')
return permissions_service.service(path[12..-1])
end
if path == 'reporteddevices'
return reported_devices_service
end
if path.start_with?('reporteddevices/')
return reported_devices_service.service(path[16..-1])
end
if path == 'sessions'
return sessions_service
end
if path.start_with?('sessions/')
return sessions_service.service(path[9..-1])
end
if path == 'snapshots'
return snapshots_service
end
if path.start_with?('snapshots/')
return snapshots_service.service(path[10..-1])
end
if path == 'statistics'
return statistics_service
end
if path.start_with?('statistics/')
return statistics_service.service(path[11..-1])
end
if path == 'tags'
return tags_service
end
if path.start_with?('tags/')
return tags_service.service(path[5..-1])
end
if path == 'watchdogs'
return watchdogs_service
end
if path.start_with?('watchdogs/')
return watchdogs_service.service(path[10..-1])
end
raise Error.new("The path \"#{path}\" doesn't correspond to any service")
end
sessions_service()
click to toggle source
Locates the `sessions` service.
@return [VmSessionsService] A reference to `sessions` service.
def sessions_service
return VmSessionsService.new(@connection, "#{@path}/sessions")
end
shutdown(opts = {})
click to toggle source
Executes the `shutdown` method.
def shutdown(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}/shutdown",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
snapshots_service()
click to toggle source
Locates the `snapshots` service.
@return [SnapshotsService] A reference to `snapshots` service.
def snapshots_service
return SnapshotsService.new(@connection, "#{@path}/snapshots")
end
start(opts = {})
click to toggle source
Executes the `start` method.
def start(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}/start",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
statistics_service()
click to toggle source
Locates the `statistics` service.
@return [StatisticsService] A reference to `statistics` service.
def statistics_service
return StatisticsService.new(@connection, "#{@path}/statistics")
end
stop(opts = {})
click to toggle source
Executes the `stop` method.
def stop(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}/stop",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
suspend(opts = {})
click to toggle source
Executes the `suspend` method.
def suspend(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}/suspend",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
thaw_filesystems(opts = {})
click to toggle source
Executes the `thaw_filesystems` method.
def thaw_filesystems(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}/thawfilesystems",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
ticket(opts = {})
click to toggle source
Executes the `ticket` method.
def ticket(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}/ticket",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
return action.ticket
else
check_fault(response)
end
end
to_s()
click to toggle source
Returns an string representation of this service.
@return [String]
def to_s
return "#<#{VmService}:#{@path}>"
end
undo_snapshot(opts = {})
click to toggle source
Executes the `undo_snapshot` method.
def undo_snapshot(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}/undosnapshot",
:body => body,
})
response = @connection.send(request)
case response.code
when 200
action = check_action(response)
else
check_fault(response)
end
end
update(vm)
click to toggle source
Updates the object managed by this service.
def update(vm)
if vm.is_a?(Hash)
vm = OvirtSDK4::Vm.new(vm)
end
request = Request.new(:method => :PUT, :path => @path)
begin
writer = XmlWriter.new(nil, true)
VmWriter.write_one(vm, writer, 'vm')
request.body = writer.string
ensure
writer.close
end
response = @connection.send(request)
case response.code
when 200
begin
reader = XmlReader.new(response.body)
return VmReader.read_one(reader)
ensure
reader.close
end
return result
else
check_fault(response)
end
end
watchdogs_service()
click to toggle source
Locates the `watchdogs` service.
@return [VmWatchdogsService] A reference to `watchdogs` service.
def watchdogs_service
return VmWatchdogsService.new(@connection, "#{@path}/watchdogs")
end