cloudprovider

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Nov 15, 2021 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CloudProvider

type CloudProvider interface {
	Name() string
	InstancesExist([]string) ([]string, error)
	GetNodeGroups([]string) (NodeGroups, error)
	TerminateInstance(string) error
}

CloudProvider provides an interface to interact with a cloud provider, e.g. AWS, GCP etc.

type Instance

type Instance interface {
	ID() string
	OutOfDate() bool
	MatchesProviderID(string) bool
	NodeGroupName() string
}

Instance provides an interface to interact with an instance

type NodeGroups

type NodeGroups interface {
	Instances() map[string]Instance
	DetachInstance(string) (bool, error)
	AttachInstance(string, string) (bool, error)
	ReadyInstances() map[string]Instance
	NotReadyInstances() map[string]Instance
}

NodeGroups provides an interface to interact with a list of `node groups` in a cloud provider It handles different cloud provider's implementation of the node group. e.g. AWS's Autoscaling group, GCP's Instance group and so on.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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