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) (map[string]interface{}, 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.
Click to show internal directories.
Click to hide internal directories.