Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MachineUpdater ¶ added in v0.7.14
MachineUpdater defines a function to persist an update to a machine
type Provider ¶
type Provider interface {
AddDefaults(spec v1alpha1.MachineSpec) (v1alpha1.MachineSpec, bool, error)
// Validate validates the given machine's specification.
//
// In case of any error a "terminal" error should be set,
// See v1alpha1.MachineStatus for more info
Validate(machinespec v1alpha1.MachineSpec) error
// Get gets a node that is associated with the given machine.
//
// Note that this method can return what we call a "terminal" error,
// which indicates that a manual interaction is required to recover from this state.
// See v1alpha1.MachineStatus for more info and TerminalError type
Get(machine *v1alpha1.Machine) (instance.Instance, error)
GetCloudConfig(spec v1alpha1.MachineSpec) (config string, name string, err error)
// Create creates a cloud instance according to the given machine
Create(machine *v1alpha1.Machine, update MachineUpdater, userdata string) (instance.Instance, error)
// Delete deletes the instance and all associated ressources
// This will always be called on machine deletion, the implemention must check if there is actually
// something to delete and just do nothing if there isn't
Delete(machine *v1alpha1.Machine, update MachineUpdater) error
// MachineMetricsLabels returns labels used for the Prometheus metrics
// about created machines, e.g. instance type, instance size, region
// or whatever the provider deems interesting. Should always return
// a "size" label.
MachineMetricsLabels(machine *v1alpha1.Machine) (map[string]string, error)
}
Provider exposed all required functions to interact with a cloud provider
Click to show internal directories.
Click to hide internal directories.