github.com/Cloud-Foundations/Dominator@v0.3.4/hypervisor/client/api.go (about)

     1  package client
     2  
     3  import (
     4  	"net"
     5  	"time"
     6  
     7  	"github.com/Cloud-Foundations/Dominator/lib/filesystem"
     8  	"github.com/Cloud-Foundations/Dominator/lib/filter"
     9  	"github.com/Cloud-Foundations/Dominator/lib/log"
    10  	"github.com/Cloud-Foundations/Dominator/lib/srpc"
    11  	proto "github.com/Cloud-Foundations/Dominator/proto/hypervisor"
    12  )
    13  
    14  func AcknowledgeVm(client *srpc.Client, ipAddress net.IP) error {
    15  	return acknowledgeVm(client, ipAddress)
    16  }
    17  
    18  func AddVmVolumes(client *srpc.Client, ipAddress net.IP, sizes []uint64) error {
    19  	return addVmVolumes(client, ipAddress, sizes)
    20  }
    21  
    22  func ChangeVmSize(client *srpc.Client,
    23  	request proto.ChangeVmSizeRequest) error {
    24  	return changeVmSize(client, request)
    25  }
    26  
    27  func ChangeVmVolumeSize(client *srpc.Client, ipAddress net.IP, index uint,
    28  	size uint64) error {
    29  	return changeVmVolumeSize(client, ipAddress, index, size)
    30  }
    31  
    32  func ConnectToVmConsole(client *srpc.Client, ipAddr net.IP,
    33  	vncViewerCommand string, logger log.DebugLogger) error {
    34  	return connectToVmConsole(client, ipAddr, vncViewerCommand, logger)
    35  }
    36  
    37  func CreateVm(client *srpc.Client, request proto.CreateVmRequest,
    38  	reply *proto.CreateVmResponse, logger log.DebugLogger) error {
    39  	return createVm(client, request, reply, logger)
    40  }
    41  
    42  func DeleteVmVolume(client *srpc.Client, ipAddr net.IP, accessToken []byte,
    43  	volumeIndex uint) error {
    44  	return deleteVmVolume(client, ipAddr, accessToken, volumeIndex)
    45  }
    46  
    47  func DestroyVm(client *srpc.Client, ipAddr net.IP, accessToken []byte) error {
    48  	return destroyVm(client, ipAddr, accessToken)
    49  }
    50  
    51  func ExportLocalVm(client *srpc.Client, ipAddr net.IP,
    52  	verificationCookie []byte) (proto.ExportLocalVmInfo, error) {
    53  	return exportLocalVm(client, ipAddr, verificationCookie)
    54  }
    55  
    56  func GetCapacity(client *srpc.Client) (proto.GetCapacityResponse, error) {
    57  	return getCapacity(client)
    58  }
    59  
    60  func GetRootCookiePath(client *srpc.Client) (string, error) {
    61  	return getRootCookiePath(client)
    62  }
    63  
    64  func GetVmInfo(client *srpc.Client, ipAddr net.IP) (proto.VmInfo, error) {
    65  	return getVmInfo(client, ipAddr)
    66  }
    67  
    68  func GetVmLastPatchLog(client *srpc.Client, ipAddr net.IP) (
    69  	[]byte, time.Time, error) {
    70  	return getVmLastPatchLog(client, ipAddr)
    71  }
    72  
    73  func HoldLock(client *srpc.Client, timeout time.Duration,
    74  	writeLock bool) error {
    75  	return holdLock(client, timeout, writeLock)
    76  }
    77  
    78  func HoldVmLock(client *srpc.Client, ipAddr net.IP, timeout time.Duration,
    79  	writeLock bool) error {
    80  	return holdVmLock(client, ipAddr, timeout, writeLock)
    81  }
    82  
    83  func ListSubnets(client *srpc.Client, doSort bool) ([]proto.Subnet, error) {
    84  	return listSubnets(client, doSort)
    85  }
    86  
    87  func ListVolumeDirectories(client *srpc.Client, doSort bool) ([]string, error) {
    88  	return listVolumeDirectories(client, doSort)
    89  }
    90  
    91  func PowerOff(client *srpc.Client, stopVMs bool) error {
    92  	return powerOff(client, stopVMs)
    93  }
    94  
    95  func PrepareVmForMigration(client *srpc.Client, ipAddr net.IP,
    96  	accessToken []byte, enable bool) error {
    97  	return prepareVmForMigration(client, ipAddr, accessToken, enable)
    98  }
    99  
   100  func RegisterExternalLeases(client *srpc.Client, addressList proto.AddressList,
   101  	hostnames []string) error {
   102  	return registerExternalLeases(client, addressList, hostnames)
   103  }
   104  
   105  func ReorderVmVolumes(client *srpc.Client, ipAddr net.IP, accessToken []byte,
   106  	volumeIndices []uint) error {
   107  	return reorderVmVolumes(client, ipAddr, accessToken, volumeIndices)
   108  }
   109  
   110  func ScanVmRoot(client *srpc.Client, ipAddr net.IP,
   111  	scanFilter *filter.Filter) (*filesystem.FileSystem, error) {
   112  	return scanVmRoot(client, ipAddr, scanFilter)
   113  }
   114  
   115  func SetDisabledState(client *srpc.Client, disable bool) error {
   116  	return setDisabledState(client, disable)
   117  }
   118  
   119  func StartVm(client *srpc.Client, ipAddr net.IP, accessToken []byte) error {
   120  	return startVm(client, ipAddr, accessToken)
   121  }
   122  
   123  func StopVm(client *srpc.Client, ipAddr net.IP, accessToken []byte) error {
   124  	return stopVm(client, ipAddr, accessToken)
   125  }