genericclioptions

package
v1.11.0-alpha.2 Latest Latest
Warning

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

Go to latest
Published: May 2, 2018 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package genericclioptions contains flags which can be added to you command, bound, completed, and produce useful helper functions. Nothing in this package can depend on kube/kube

Index

Constants

View Source
const ChangeCauseAnnotation = "kubernetes.io/change-cause"

ChangeCauseAnnotation is the annotation indicating a guess at "why" something was changed

Variables

This section is empty.

Functions

This section is empty.

Types

type ChangeCauseRecorder

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

ChangeCauseRecorder annotates a "change-cause" to an input runtime object

func (*ChangeCauseRecorder) MakeRecordMergePatch

func (r *ChangeCauseRecorder) MakeRecordMergePatch(obj runtime.Object) ([]byte, error)

MakeRecordMergePatch produces a merge patch for updating the recording annotation.

func (*ChangeCauseRecorder) Record

func (r *ChangeCauseRecorder) Record(obj runtime.Object) error

Record annotates a "change-cause" to a given info if either "shouldRecord" is true, or the resource info previously contained a "change-cause" annotation.

type IOStreams

type IOStreams struct {
	// In think, os.Stdin
	In io.Reader
	// Out think, os.Stdout
	Out io.Writer
	// ErrOut think, os.Stderr
	ErrOut io.Writer
}

IOStreams provides the standard names for iostreams. This is useful for embedding and for unit testing. Inconsistent and different names make it hard to read and review code

func NewTestIOStreams

func NewTestIOStreams() (IOStreams, *bytes.Buffer, *bytes.Buffer, *bytes.Buffer)

NewTestIOStreams returns a valid IOStreams and in, out, errout buffers for unit tests

func NewTestIOStreamsDiscard

func NewTestIOStreamsDiscard() IOStreams

NewTestIOStreamsDiscard returns a valid IOStreams that just discards

type NoopRecorder

type NoopRecorder struct{}

NoopRecorder does nothing. It is a "do nothing" that can be returned so code doesn't switch on it.

func (NoopRecorder) MakeRecordMergePatch

func (r NoopRecorder) MakeRecordMergePatch(obj runtime.Object) ([]byte, error)

MakeRecordMergePatch implements Recorder

func (NoopRecorder) Record

func (r NoopRecorder) Record(obj runtime.Object) error

Record implements Recorder

type RecordFlags

type RecordFlags struct {
	// Record indicates the state of the recording flag.  It is a pointer so a caller can opt out or rebind
	Record *bool
	// contains filtered or unexported fields
}

RecordFlags contains all flags associated with the "--record" operation

func NewRecordFlags

func NewRecordFlags() *RecordFlags

NewRecordFlags provides a RecordFlags with reasonable default values set for use

func (*RecordFlags) AddFlags

func (f *RecordFlags) AddFlags(cmd *cobra.Command)

AddFlags binds the requested flags to the provided flagset TODO have this only take a flagset

func (*RecordFlags) Complete

func (f *RecordFlags) Complete(changeCause string) error

Complete is called before the command is run, but after it is invoked to finish the state of the struct before use.

func (*RecordFlags) ToRecorder

func (f *RecordFlags) ToRecorder() (Recorder, error)

ToRecorder returns a ChangeCause recorder if --record=false was not explicitly given by the user

type Recorder

type Recorder interface {
	// Record records why a runtime.Object was changed in an annotation.
	Record(runtime.Object) error
	MakeRecordMergePatch(runtime.Object) ([]byte, error)
}

Recorder is used to record why a runtime.Object was changed in an annotation.

Jump to

Keyboard shortcuts

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