github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/hypervisor/rpcd/exportLocalVm.go (about)

     1  package rpcd
     2  
     3  import (
     4  	"github.com/Cloud-Foundations/Dominator/lib/errors"
     5  	"github.com/Cloud-Foundations/Dominator/lib/srpc"
     6  	"github.com/Cloud-Foundations/Dominator/proto/hypervisor"
     7  )
     8  
     9  func (t *srpcType) ExportLocalVm(conn *srpc.Conn,
    10  	request hypervisor.ExportLocalVmRequest,
    11  	reply *hypervisor.ExportLocalVmResponse) error {
    12  	vmInfo, err := t.exportLocalVm(conn, request)
    13  	*reply = hypervisor.ExportLocalVmResponse{
    14  		Error:  errors.ErrorToString(err),
    15  		VmInfo: *vmInfo,
    16  	}
    17  	return nil
    18  }
    19  
    20  func (t *srpcType) exportLocalVm(conn *srpc.Conn,
    21  	request hypervisor.ExportLocalVmRequest) (
    22  	*hypervisor.ExportLocalVmInfo, error) {
    23  	if err := testIfLoopback(conn); err != nil {
    24  		return nil, err
    25  	}
    26  	return t.manager.ExportLocalVm(conn.GetAuthInformation(), request)
    27  }