vm

package
v0.0.0-...-519bf1e Latest Latest
Warning

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

Go to latest
Published: Jun 16, 2021 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NotFound = fmt.Errorf("not found")

Functions

This section is empty.

Types

type Adapter

type Adapter interface {
	Name() string
	CreateCluster(cfg config.Config, opts CreateClusterOptions) (CreateClusterOut, error)
	DestroyCluster(cfg config.Config) error
	GetClusterInfo(cfg config.Config) (ClusterInfo, error)
	CreateVM(cfg config.Config, opts CreateVMOptions) (VM, error)
	DestroyVM(opts DestroyVMOptions) error
	ListVMs(opts ListVMsOptions) ([]VM, error)
}

type ClusterInfo

type ClusterInfo struct {
	ClusterName  string
	LoadBalancer *LoadBalancer
	VMs          []VM
	Meta         map[string]string
}

type CreateClusterOptions

type CreateClusterOptions struct {
	SSHPublicKeyFile  string
	SSHPrivateKeyFile string
}

type CreateClusterOut

type CreateClusterOut struct {
	ClusterName string
	RootVM      VM
}

func CreateCluster

func CreateCluster(cfg config.Config, opts CreateClusterOptions, adapter Adapter) (CreateClusterOut, error)

type CreateVMOptions

type CreateVMOptions struct {
	VMName string
	Tags   []string
}

type DOAdapter

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

func NewDOAdapter

func NewDOAdapter(accessToken string, ctx *context.Context) *DOAdapter

func (*DOAdapter) CreateCluster

func (d *DOAdapter) CreateCluster(cfg config.Config, opts CreateClusterOptions) (CreateClusterOut, error)

func (*DOAdapter) CreateVM

func (d *DOAdapter) CreateVM(cfg config.Config, opts CreateVMOptions) (VM, error)

func (*DOAdapter) DestroyCluster

func (d *DOAdapter) DestroyCluster(cfg config.Config) error

func (*DOAdapter) DestroyVM

func (d *DOAdapter) DestroyVM(opts DestroyVMOptions) error

func (*DOAdapter) GetClusterInfo

func (d *DOAdapter) GetClusterInfo(cfg config.Config) (ClusterInfo, error)

func (*DOAdapter) ListVMs

func (d *DOAdapter) ListVMs(opts ListVMsOptions) ([]VM, error)

func (*DOAdapter) Name

func (d *DOAdapter) Name() string

type DOCluster

type DOCluster struct {
	ClusterName  string
	LoadBalancer *godo.LoadBalancer
	Droplets     []*godo.Droplet
}

func (*DOCluster) ToClusterInfo

func (c *DOCluster) ToClusterInfo() ClusterInfo

type DestroyVMOptions

type DestroyVMOptions struct {
	Ids []string
}

type ListVMsOptions

type ListVMsOptions struct {
	ClusterName string
}

type LoadBalancer

type LoadBalancer struct {
	PublicIpAddr string
	Hostname     string
}

type TokenSource

type TokenSource struct {
	AccessToken string
}

func (*TokenSource) Token

func (t *TokenSource) Token() (*oauth2.Token, error)

type VM

type VM struct {
	Id            string
	CreatedAt     time.Time
	PublicIpAddr  string
	PrivateIpAddr string
}

Jump to

Keyboard shortcuts

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