wait

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Jun 23, 2020 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsDeleted

func IsDeleted(info *resource.Info, o *WaitOptions) (runtime.Object, bool, error)

IsDeleted is a condition func for waiting for something to be deleted

func NewCmdWait

func NewCmdWait(restClientGetter genericclioptions.RESTClientGetter, streams genericclioptions.IOStreams) *cobra.Command

NewCmdWait returns a cobra command for waiting

Types

type ConditionFunc

type ConditionFunc func(info *resource.Info, o *WaitOptions) (finalObject runtime.Object, done bool, err error)

ConditionFunc is the interface for providing condition checks

type ConditionalWait

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

ConditionalWait hold information to check an API status condition

func (ConditionalWait) IsConditionMet

func (w ConditionalWait) IsConditionMet(info *resource.Info, o *WaitOptions) (runtime.Object, bool, error)

IsConditionMet is a conditionfunc for waiting on an API condition to be met

type ResourceLocation

type ResourceLocation struct {
	GroupResource schema.GroupResource
	Namespace     string
	Name          string
}

type UIDMap

type UIDMap map[ResourceLocation]types.UID

type Wait

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

Wait has helper methods for handling watches, including error handling.

func (Wait) IsDeleted

func (w Wait) IsDeleted(event watch.Event) (bool, error)

IsDeleted returns true if the object is deleted. It prints any errors it encounters.

type WaitFlags

type WaitFlags struct {
	RESTClientGetter     genericclioptions.RESTClientGetter
	PrintFlags           *genericclioptions.PrintFlags
	ResourceBuilderFlags *genericclioptions.ResourceBuilderFlags

	Timeout      time.Duration
	ForCondition string

	genericclioptions.IOStreams
}

WaitFlags directly reflect the information that CLI is gathering via flags. They will be converted to Options, which reflect the runtime requirements for the command. This structure reduces the transformation to wiring and makes the logic itself easy to unit test

func NewWaitFlags

func NewWaitFlags(restClientGetter genericclioptions.RESTClientGetter, streams genericclioptions.IOStreams) *WaitFlags

NewWaitFlags returns a default WaitFlags

func (*WaitFlags) AddFlags

func (flags *WaitFlags) AddFlags(cmd *cobra.Command)

AddFlags registers flags for a cli

func (*WaitFlags) ToOptions

func (flags *WaitFlags) ToOptions(args []string) (*WaitOptions, error)

ToOptions converts from CLI inputs to runtime inputs

type WaitOptions

type WaitOptions struct {
	ResourceFinder genericclioptions.ResourceFinder
	// UIDMap maps a resource location to a UID.  It is optional, but ConditionFuncs may choose to use it to make the result
	// more reliable.  For instance, delete can look for UID consistency during delegated calls.
	UIDMap        UIDMap
	DynamicClient dynamic.Interface
	Timeout       time.Duration

	Printer     printers.ResourcePrinter
	ConditionFn ConditionFunc
	genericclioptions.IOStreams
}

WaitOptions is a set of options that allows you to wait. This is the object reflects the runtime needs of a wait command, making the logic itself easy to unit test with our existing mocks.

func (*WaitOptions) RunWait

func (o *WaitOptions) RunWait() error

RunWait runs the waiting logic

Jump to

Keyboard shortcuts

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