github.com/Cloud-Foundations/Dominator@v0.3.4/imageserver/client/api.go (about) 1 package client 2 3 import ( 4 "time" 5 6 "github.com/Cloud-Foundations/Dominator/lib/hash" 7 "github.com/Cloud-Foundations/Dominator/lib/image" 8 "github.com/Cloud-Foundations/Dominator/lib/srpc" 9 proto "github.com/Cloud-Foundations/Dominator/proto/imageserver" 10 ) 11 12 func AddImage(client srpc.ClientI, name string, img *image.Image) error { 13 return addImage(client, name, img) 14 } 15 16 func AddImageTrusted(client srpc.ClientI, name string, img *image.Image) error { 17 return addImageTrusted(client, name, img) 18 } 19 20 func ChangeImageExpiration(client srpc.ClientI, name string, 21 expiresAt time.Time) error { 22 return changeImageExpiration(client, name, expiresAt) 23 } 24 25 func CheckDirectory(client srpc.ClientI, name string) (bool, error) { 26 return checkDirectory(client, name) 27 } 28 29 func CheckImage(client srpc.ClientI, name string) (bool, error) { 30 return checkImage(client, name) 31 } 32 33 func ChownDirectory(client srpc.ClientI, dirname, ownerGroup string) error { 34 return chownDirectory(client, dirname, ownerGroup) 35 } 36 37 func DeleteImage(client srpc.ClientI, name string) error { 38 return deleteImage(client, name) 39 } 40 41 func DeleteUnreferencedObjects(client srpc.ClientI, percentage uint8, 42 bytes uint64) error { 43 return deleteUnreferencedObjects(client, percentage, bytes) 44 } 45 46 func FindLatestImage(client srpc.ClientI, dirname string, 47 ignoreExpiring bool) (string, error) { 48 return findLatestImage(client, proto.FindLatestImageRequest{ 49 DirectoryName: dirname, 50 IgnoreExpiringImages: ignoreExpiring, 51 }) 52 } 53 54 func FindLatestImageReq(client srpc.ClientI, 55 request proto.FindLatestImageRequest) (string, error) { 56 return findLatestImage(client, request) 57 } 58 59 func GetImage(client srpc.ClientI, name string) (*image.Image, error) { 60 return getImage(client, name, 0) 61 } 62 63 func GetImageExpiration(client srpc.ClientI, name string) (time.Time, error) { 64 return getImageExpiration(client, name) 65 } 66 67 func GetReplicationMaster(client srpc.ClientI) (string, error) { 68 return getReplicationMaster(client) 69 } 70 71 func GetImageWithTimeout(client srpc.ClientI, name string, 72 timeout time.Duration) (*image.Image, error) { 73 return getImage(client, name, timeout) 74 } 75 76 func ListDirectories(client srpc.ClientI) ([]image.Directory, error) { 77 return listDirectories(client) 78 } 79 80 func ListImages(client srpc.ClientI) ([]string, error) { 81 return listImages(client) 82 } 83 84 func ListSelectedImages(client srpc.ClientI, 85 request proto.ListSelectedImagesRequest) ([]string, error) { 86 return listSelectedImages(client, request) 87 } 88 89 func ListUnreferencedObjects(client srpc.ClientI) ( 90 map[hash.Hash]uint64, error) { 91 return listUnreferencedObjects(client) 92 } 93 94 func MakeDirectory(client srpc.ClientI, dirname string) error { 95 return makeDirectory(client, dirname) 96 }