client

package
v0.0.0-...-07a382d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 14, 2024 License: LGPL-3.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplicationCreateArgs

type ApplicationCreateArgs struct {
	PackagePath   string
	VM            bool
	SentBytesChan chan float64
}

ApplicationCreateArgs provides details on how to create a new application

type Client

type Client interface {
	// Nodes
	ListNodes() ([]api.Node, error)
	AddNode(node *api.NodesPost) (restclient.Operation, error)
	RemoveNode(name string, force, keepInCluster bool) (restclient.Operation, error)
	RetrieveNodeByName(name string) (*api.Node, string, error)
	UpdateNode(name string, details *api.NodePatch) (restclient.Operation, error)

	// Certificates
	ListCertificates() ([]restapi.Certificate, error)
	AddCertificate(details *restapi.CertificatesPost) (*restapi.Response, error)
	DeleteCertificate(fingerprint string) error

	// Containers
	ListContainers() ([]api.Container, error)
	ListContainersWithFilters(filters []string) ([]api.Container, error)
	LaunchContainer(details *api.ContainersPost, noWait bool) (restclient.Operation, error)
	RetrieveContainerByID(id string) (*api.Container, string, error)
	UpdateContainerByID(id string, details *api.ContainerPatch, noWait bool) (restclient.Operation, error)
	DeleteContainerByID(id string, force bool) (restclient.Operation, error)
	DeleteContainers(ids []string, force bool) (restclient.Operation, error)
	RetrieveContainerLog(id, name string, downloader func(header *http.Header, body io.ReadCloser) error) error
	ExecuteContainer(id string, details *api.ContainerExecPost, args *ContainerExecArgs) (restclient.Operation, error)

	// Instances
	ListInstances() ([]api.Instance, error)
	ListInstancesWithFilters(filters []string) ([]api.Instance, error)
	LaunchInstance(details *api.InstancesPost, noWait bool) (restclient.Operation, error)
	RetrieveInstanceByID(id string) (*api.Instance, string, error)
	UpdateInstanceByID(id string, details *api.InstancePatch, noWait bool) (restclient.Operation, error)
	DeleteInstanceByID(id string, force bool) (restclient.Operation, error)
	DeleteInstances(ids []string, force bool) (restclient.Operation, error)
	RetrieveInstanceLog(id, name string, downloader func(header *http.Header, body io.ReadCloser) error) error
	ExecuteInstance(id string, details *api.InstanceExecPost, args *InstanceExecArgs) (restclient.Operation, error)

	// Config
	SetConfigItem(name, value string) error
	RetrieveConfigItems() (map[string]interface{}, error)

	// Applications
	CreateApplication(packagePath string, sentBytes chan float64) (restclient.Operation, error)
	CreateApplicationWithArgs(args *ApplicationCreateArgs) (restclient.Operation, error)
	UpdateApplicationWithPackage(id, packagePath string, sentBytes chan float64) (restclient.Operation, error)
	UpdateApplicationWithDetails(id string, details api.ApplicationPatch) error
	UpdateApplication(id string) (restclient.Operation, error)
	ListApplications() ([]api.Application, error)
	ListApplicationsWithFilters(filters []string) ([]api.Application, error)
	FindApplicationsByName(pattern string) ([]api.Application, error)
	RetrieveApplicationByID(id string) (*api.Application, string, error)
	DeleteApplicationByID(id string, force bool) (restclient.Operation, error)
	DeleteApplications(ids []string, force bool) (restclient.Operation, error)
	ExportApplicationByVersion(id string, version int, downloader func(header *http.Header, body io.ReadCloser) error) error
	PublishApplicationVersion(id string, version int) (restclient.Operation, error)
	RevokeApplicationVersion(id string, version int) (restclient.Operation, error)
	DeleteApplicationVersion(id string, version int, force bool) (restclient.Operation, error)

	// Addons
	AddAddon(name string, packagePath string, sentBytes chan float64) (restclient.Operation, error)
	UpdateAddon(name, packagePath string, sentBytes chan float64) (restclient.Operation, error)
	RetrieveAddon(name string) (*api.Addon, string, error)
	DeleteAddon(name string) (restclient.Operation, error)
	DeleteAddonVersion(name string, version int) (restclient.Operation, error)
	ListAddons() ([]api.Addon, error)

	// Images
	ListImages() ([]api.Image, error)
	AddImage(name, packagePath string, isDefault bool, sentBytes chan float64) (restclient.Operation, error)
	UpdateImage(id, packagePath string, sentBytes chan float64) (restclient.Operation, error)
	ImportImage(name, path string, isDefault bool) (client.Operation, error)
	ImportImageByType(name, path string, imgType api.ImageType, isDefault bool) (client.Operation, error)
	SetDefaultImage(id string) error
	DeleteImageByIDOrName(id string, force bool, imgType api.ImageType) (restclient.Operation, error)
	DeleteImageVersion(id string, version int) (restclient.Operation, error)
	RetrieveImageByIDOrName(id string, imgType api.ImageType) (*api.Image, string, error)
	RetrieveDefaultImage() (*api.Image, string, error)
	TriggerImageSync(id string) error

	// Services
	RetrieveServiceStatus() (*api.ServiceStatus, string, error)
	HasExtension(name string) bool
	ListTasks() ([]api.Task, error)
	GetVersion() (string, error)

	// Registry
	ListApplicationsFromRegistry() ([]api.RegistryApplication, error)
	PushApplicationToRegistry(id string) (client.Operation, error)
	PullApplicationFromRegistry(id string) (client.Operation, error)
	DeleteApplicationFromRegistry(id string) (client.Operation, error)

	GetEvents() (*restclient.EventListener, error)

	// Operations
	ListOperations() (map[string][]*restapi.Operation, error)
	ShowOperation(id string) (*restapi.Operation, error)
	CancelOperation(id string) error
}

Client is the interface used to communicate with an AMS server

func New

func New(addr interface{}, tlsConfig *tls.Config) (Client, error)

New creates a new client talking to the AMS service at the specified URL or unix.socket path and with the specified tls config, if provided

type ContainerExecArgs

type ContainerExecArgs struct {
	Stdin    io.ReadCloser
	Stdout   io.WriteCloser
	Stderr   io.WriteCloser
	Control  func(conn *websocket.Conn)
	DataDone chan bool
}

The ContainerExecArgs struct is used to pass additional options during a container shell session

type InstanceExecArgs

type InstanceExecArgs struct {
	Stdin    io.ReadCloser
	Stdout   io.WriteCloser
	Stderr   io.WriteCloser
	Control  func(conn *websocket.Conn)
	DataDone chan bool
}

The InstanceExecArgs struct is used to pass additional options during a instance shell session

type Uploader

type Uploader struct {
	// contains filtered or unexported fields
}

Uploader represents a uploader that tracks progress

func (*Uploader) Read

func (u *Uploader) Read(p []byte) (int, error)

Read implements io.Reader interface

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL