Class: OvirtSDK4::VmDiskService
- Inherits:
-
MeasurableService
- Object
- Service
- MeasurableService
- OvirtSDK4::VmDiskService
- Defined in:
- lib/ovirtsdk4/services.rb,
lib/ovirtsdk4/services.rb
Instance Method Summary (collapse)
-
- (Object) activate(opts = {})
Executes the
activate
method. -
- (Object) deactivate(opts = {})
Executes the
deactivate
method. -
- (Object) export(opts = {})
Executes the
export
method. -
- (Disk) get(opts = {})
Returns the representation of the object managed by this service.
-
- (Object) move(opts = {})
Executes the
move
method. -
- (AssignedPermissionsService) permissions_service
Locates the
permissions
service. -
- (Object) remove(opts = {})
Detach the disk from the virtual machine.
-
- (Service) service(path)
Locates the service corresponding to the given path.
-
- (StatisticsService) statistics_service
Locates the
statistics
service. -
- (String) to_s
Returns an string representation of this service.
-
- (Object) update(disk)
Updates the object managed by this service.
Instance Method Details
- (Object) activate(opts = {})
Executes the activate
method.
24607 24608 24609 24610 24611 24612 24613 24614 24615 24616 24617 24618 24619 24620 24621 24622 24623 24624 24625 |
# File 'lib/ovirtsdk4/services.rb', line 24607 def activate(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}/activate", :body => body, }) response = @connection.send(request) case response.code when 200 action = check_action(response) else check_fault(response) end end |
- (Object) deactivate(opts = {})
Executes the deactivate
method.
24630 24631 24632 24633 24634 24635 24636 24637 24638 24639 24640 24641 24642 24643 24644 24645 24646 24647 24648 |
# File 'lib/ovirtsdk4/services.rb', line 24630 def deactivate(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}/deactivate", :body => body, }) response = @connection.send(request) case response.code when 200 action = check_action(response) else check_fault(response) end end |
- (Object) export(opts = {})
Executes the export
method.
24653 24654 24655 24656 24657 24658 24659 24660 24661 24662 24663 24664 24665 24666 24667 24668 24669 24670 24671 |
# File 'lib/ovirtsdk4/services.rb', line 24653 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 |
- (Disk) get(opts = {})
Returns the representation of the object managed by this service.
24680 24681 24682 24683 24684 24685 24686 24687 24688 24689 24690 24691 24692 24693 24694 24695 |
# File 'lib/ovirtsdk4/services.rb', line 24680 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 DiskReader.read_one(reader) ensure reader.close end else check_fault(response) end end |
- (Object) move(opts = {})
Executes the move
method.
24700 24701 24702 24703 24704 24705 24706 24707 24708 24709 24710 24711 24712 24713 24714 24715 24716 24717 24718 |
# File 'lib/ovirtsdk4/services.rb', line 24700 def move(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}/move", :body => body, }) response = @connection.send(request) case response.code when 200 action = check_action(response) else check_fault(response) end end |
- (AssignedPermissionsService) permissions_service
Locates the permissions
service.
24779 24780 24781 |
# File 'lib/ovirtsdk4/services.rb', line 24779 def return AssignedPermissionsService.new(@connection, "#{@path}/permissions") end |
- (Object) remove(opts = {})
Detach the disk from the virtual machine.
Note
|
In version 3 of the API this used to also remove the disk completely from the system, but starting with version 4 it doesn’t. If you need to remove it completely use the remove method of the top level disk service. |
24731 24732 24733 24734 24735 24736 24737 24738 24739 24740 24741 24742 24743 |
# File 'lib/ovirtsdk4/services.rb', line 24731 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 |
- (Service) service(path)
Locates the service corresponding to the given path.
24798 24799 24800 24801 24802 24803 24804 24805 24806 24807 24808 24809 24810 24811 24812 24813 24814 24815 |
# File 'lib/ovirtsdk4/services.rb', line 24798 def service(path) if path.nil? || path == '' return self end if path == 'permissions' return end if path.start_with?('permissions/') return .service(path[12..-1]) end if path == 'statistics' return statistics_service end if path.start_with?('statistics/') return statistics_service.service(path[11..-1]) end raise Error.new("The path \"#{path}\" doesn't correspond to any service") end |
- (StatisticsService) statistics_service
Locates the statistics
service.
24787 24788 24789 |
# File 'lib/ovirtsdk4/services.rb', line 24787 def statistics_service return StatisticsService.new(@connection, "#{@path}/statistics") end |
- (String) to_s
Returns an string representation of this service.
24822 24823 24824 |
# File 'lib/ovirtsdk4/services.rb', line 24822 def to_s return "#<#{VmDiskService}:#{@path}>" end |
- (Object) update(disk)
Updates the object managed by this service.
24748 24749 24750 24751 24752 24753 24754 24755 24756 24757 24758 24759 24760 24761 24762 24763 24764 24765 24766 24767 24768 24769 24770 24771 24772 24773 |
# File 'lib/ovirtsdk4/services.rb', line 24748 def update(disk) if disk.is_a?(Hash) disk = OvirtSDK4::Disk.new(disk) end request = Request.new(:method => :PUT, :path => @path) begin writer = XmlWriter.new(nil, true) DiskWriter.write_one(disk, writer, 'disk') request.body = writer.string ensure writer.close end response = @connection.send(request) case response.code when 200 begin reader = XmlReader.new(response.body) return DiskReader.read_one(reader) ensure reader.close end return result else check_fault(response) end end |