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
- func IsNoCompatiblePrinterError(err error) bool
- type ChangeCauseRecorder
- type ConfigFlags
- func (f *ConfigFlags) AddFlags(flags *pflag.FlagSet)
- func (f *ConfigFlags) ToDiscoveryClient() (discovery.CachedDiscoveryInterface, error)
- func (f *ConfigFlags) ToRESTConfig() (*rest.Config, error)
- func (f *ConfigFlags) ToRESTMapper() (meta.RESTMapper, error)
- func (f *ConfigFlags) ToRawKubeConfigLoader() clientcmd.ClientConfig
- func (f *ConfigFlags) WithDeprecatedPasswordFlag() *ConfigFlags
- type FileNameFlags
- type GoTemplatePrintFlags
- type IOStreams
- type JSONPathPrintFlags
- type JSONYamlPrintFlags
- type KubeTemplatePrintFlags
- type NamePrintFlags
- type NoCompatiblePrinterError
- type NoopRecorder
- type PrintFlags
- func (f *PrintFlags) AddFlags(cmd *cobra.Command)
- func (f *PrintFlags) AllowedFormats() []string
- func (f *PrintFlags) Complete(successTemplate string) error
- func (f *PrintFlags) ToPrinter() (printers.ResourcePrinter, error)
- func (f *PrintFlags) WithDefaultOutput(output string) *PrintFlags
- func (f *PrintFlags) WithTypeSetter(scheme *runtime.Scheme) *PrintFlags
- type RESTClientGetter
- type RecordFlags
- type Recorder
- type ResourceBuilderFlags
- func (o *ResourceBuilderFlags) AddFlags(flagset *pflag.FlagSet)
- func (o *ResourceBuilderFlags) StopOnError() *ResourceBuilderFlags
- func (o *ResourceBuilderFlags) ToBuilder(restClientGetter RESTClientGetter, resources []string) ResourceFinder
- func (o *ResourceBuilderFlags) WithAll(defaultVal bool) *ResourceBuilderFlags
- func (o *ResourceBuilderFlags) WithAllNamespaces(defaultVal bool) *ResourceBuilderFlags
- func (o *ResourceBuilderFlags) WithFieldSelector(selector string) *ResourceBuilderFlags
- func (o *ResourceBuilderFlags) WithFile(recurse bool, files ...string) *ResourceBuilderFlags
- func (o *ResourceBuilderFlags) WithLabelSelector(selector string) *ResourceBuilderFlags
- func (o *ResourceBuilderFlags) WithLatest() *ResourceBuilderFlags
- func (o *ResourceBuilderFlags) WithLocal(defaultVal bool) *ResourceBuilderFlags
- func (o *ResourceBuilderFlags) WithScheme(scheme *runtime.Scheme) *ResourceBuilderFlags
- func (o *ResourceBuilderFlags) WithUninitialized(defaultVal bool) *ResourceBuilderFlags
- type ResourceFindBuilderWrapper
- type ResourceFinder
- type ResourceFinderFunc
- type TestConfigFlags
- func (f *TestConfigFlags) ToDiscoveryClient() (discovery.CachedDiscoveryInterface, error)
- func (f *TestConfigFlags) ToRESTConfig() (*rest.Config, error)
- func (f *TestConfigFlags) ToRESTMapper() (meta.RESTMapper, error)
- func (f *TestConfigFlags) ToRawKubeConfigLoader() clientcmd.ClientConfig
- func (f *TestConfigFlags) WithClientConfig(clientConfig clientcmd.ClientConfig) *TestConfigFlags
- func (f *TestConfigFlags) WithDiscoveryClient(c discovery.CachedDiscoveryInterface) *TestConfigFlags
- func (f *TestConfigFlags) WithNamespace(ns string) *TestConfigFlags
- func (f *TestConfigFlags) WithRESTMapper(mapper meta.RESTMapper) *TestConfigFlags
Constants ¶
const ChangeCauseAnnotation = "kubernetes.io/change-cause"
ChangeCauseAnnotation is the annotation indicating a guess at "why" something was changed
Variables ¶
This section is empty.
Functions ¶
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.
type ConfigFlags ¶
type ConfigFlags struct { CacheDir *string KubeConfig *string // config flags ClusterName *string AuthInfoName *string Context *string Namespace *string APIServer *string Insecure *bool CertFile *string KeyFile *string CAFile *string BearerToken *string Impersonate *string ImpersonateGroup *[]string Username *string Password *string Timeout *string }
ConfigFlags composes the set of values necessary for obtaining a REST client config
func NewConfigFlags ¶
func NewConfigFlags() *ConfigFlags
NewConfigFlags returns ConfigFlags with default values set
func (*ConfigFlags) AddFlags ¶
func (f *ConfigFlags) AddFlags(flags *pflag.FlagSet)
AddFlags binds client configuration flags to a given flagset
func (*ConfigFlags) ToDiscoveryClient ¶
func (f *ConfigFlags) ToDiscoveryClient() (discovery.CachedDiscoveryInterface, error)
ToDiscoveryClient implements RESTClientGetter. Expects the AddFlags method to have been called. Returns a CachedDiscoveryInterface using a computed RESTConfig.
func (*ConfigFlags) ToRESTConfig ¶
func (f *ConfigFlags) ToRESTConfig() (*rest.Config, error)
ToRESTConfig implements RESTClientGetter. Returns a REST client configuration based on a provided path to a .kubeconfig file, loading rules, and config flag overrides. Expects the AddFlags method to have been called.
func (*ConfigFlags) ToRESTMapper ¶
func (f *ConfigFlags) ToRESTMapper() (meta.RESTMapper, error)
ToRESTMapper returns a mapper.
func (*ConfigFlags) ToRawKubeConfigLoader ¶
func (f *ConfigFlags) ToRawKubeConfigLoader() clientcmd.ClientConfig
ToRawKubeConfigLoader binds config flag values to config overrides Returns an interactive clientConfig if the password flag is enabled, or a non-interactive clientConfig otherwise.
func (*ConfigFlags) WithDeprecatedPasswordFlag ¶
func (f *ConfigFlags) WithDeprecatedPasswordFlag() *ConfigFlags
WithDeprecatedPasswordFlag enables the username and password config flags
type FileNameFlags ¶
Usage of this struct by itself is discouraged. These flags are composed by ResourceBuilderFlags which should be used instead.
func (*FileNameFlags) AddFlags ¶
func (o *FileNameFlags) AddFlags(flags *pflag.FlagSet)
func (*FileNameFlags) ToOptions ¶
func (o *FileNameFlags) ToOptions() resource.FilenameOptions
type GoTemplatePrintFlags ¶
type GoTemplatePrintFlags struct { // indicates if it is OK to ignore missing keys for rendering // an output template. AllowMissingKeys *bool TemplateArgument *string }
GoTemplatePrintFlags provides default flags necessary for template printing. Given the following flag values, a printer can be requested that knows how to handle printing based on these values.
func NewGoTemplatePrintFlags ¶
func NewGoTemplatePrintFlags() *GoTemplatePrintFlags
NewGoTemplatePrintFlags returns flags associated with --template printing, with default values set.
func (*GoTemplatePrintFlags) AddFlags ¶
func (f *GoTemplatePrintFlags) AddFlags(c *cobra.Command)
AddFlags receives a *cobra.Command reference and binds flags related to template printing to it
func (*GoTemplatePrintFlags) AllowedFormats ¶
func (f *GoTemplatePrintFlags) AllowedFormats() []string
func (*GoTemplatePrintFlags) ToPrinter ¶
func (f *GoTemplatePrintFlags) ToPrinter(templateFormat string) (printers.ResourcePrinter, error)
ToPrinter receives an templateFormat and returns a printer capable of handling --template format printing. Returns false if the specified templateFormat does not match a template format.
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 ¶
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 JSONPathPrintFlags ¶
type JSONPathPrintFlags struct { // indicates if it is OK to ignore missing keys for rendering // an output template. AllowMissingKeys *bool TemplateArgument *string }
JSONPathPrintFlags provides default flags necessary for template printing. Given the following flag values, a printer can be requested that knows how to handle printing based on these values.
func NewJSONPathPrintFlags ¶
func NewJSONPathPrintFlags(templateValue string, allowMissingKeys bool) *JSONPathPrintFlags
NewJSONPathPrintFlags returns flags associated with --template printing, with default values set.
func (*JSONPathPrintFlags) AddFlags ¶
func (f *JSONPathPrintFlags) AddFlags(c *cobra.Command)
AddFlags receives a *cobra.Command reference and binds flags related to template printing to it
func (*JSONPathPrintFlags) AllowedFormats ¶
func (f *JSONPathPrintFlags) AllowedFormats() []string
func (*JSONPathPrintFlags) ToPrinter ¶
func (f *JSONPathPrintFlags) ToPrinter(templateFormat string) (printers.ResourcePrinter, error)
ToPrinter receives an templateFormat and returns a printer capable of handling --template format printing. Returns false if the specified templateFormat does not match a template format.
type JSONYamlPrintFlags ¶
type JSONYamlPrintFlags struct { }
JSONYamlPrintFlags provides default flags necessary for json/yaml printing. Given the following flag values, a printer can be requested that knows how to handle printing based on these values.
func NewJSONYamlPrintFlags ¶
func NewJSONYamlPrintFlags() *JSONYamlPrintFlags
NewJSONYamlPrintFlags returns flags associated with yaml or json printing, with default values set.
func (*JSONYamlPrintFlags) AddFlags ¶
func (f *JSONYamlPrintFlags) AddFlags(c *cobra.Command)
AddFlags receives a *cobra.Command reference and binds flags related to JSON or Yaml printing to it
func (*JSONYamlPrintFlags) AllowedFormats ¶
func (f *JSONYamlPrintFlags) AllowedFormats() []string
func (*JSONYamlPrintFlags) ToPrinter ¶
func (f *JSONYamlPrintFlags) ToPrinter(outputFormat string) (printers.ResourcePrinter, error)
ToPrinter receives an outputFormat and returns a printer capable of handling --output=(yaml|json) printing. Returns false if the specified outputFormat does not match a supported format. Supported Format types can be found in pkg/printers/printers.go
type KubeTemplatePrintFlags ¶
type KubeTemplatePrintFlags struct { GoTemplatePrintFlags *GoTemplatePrintFlags JSONPathPrintFlags *JSONPathPrintFlags AllowMissingKeys *bool TemplateArgument *string }
KubeTemplatePrintFlags composes print flags that provide both a JSONPath and a go-template printer. This is necessary if dealing with cases that require support both both printers, since both sets of flags require overlapping flags.
func NewKubeTemplatePrintFlags ¶
func NewKubeTemplatePrintFlags() *KubeTemplatePrintFlags
NewKubeTemplatePrintFlags returns flags associated with --template printing, with default values set.
func (*KubeTemplatePrintFlags) AddFlags ¶
func (f *KubeTemplatePrintFlags) AddFlags(c *cobra.Command)
AddFlags receives a *cobra.Command reference and binds flags related to template printing to it
func (*KubeTemplatePrintFlags) AllowedFormats ¶
func (f *KubeTemplatePrintFlags) AllowedFormats() []string
func (*KubeTemplatePrintFlags) ToPrinter ¶
func (f *KubeTemplatePrintFlags) ToPrinter(outputFormat string) (printers.ResourcePrinter, error)
type NamePrintFlags ¶
type NamePrintFlags struct { // Operation describes the name of the action that // took place on an object, to be included in the // finalized "successful" message. Operation string }
NamePrintFlags provides default flags necessary for printing a resource's fully-qualified Kind.group/name, or a successful message about that resource if an Operation is provided.
func NewNamePrintFlags ¶
func NewNamePrintFlags(operation string) *NamePrintFlags
NewNamePrintFlags returns flags associated with --name printing, with default values set.
func (*NamePrintFlags) AddFlags ¶
func (f *NamePrintFlags) AddFlags(c *cobra.Command)
AddFlags receives a *cobra.Command reference and binds flags related to name printing to it
func (*NamePrintFlags) AllowedFormats ¶
func (f *NamePrintFlags) AllowedFormats() []string
func (*NamePrintFlags) Complete ¶
func (f *NamePrintFlags) Complete(successTemplate string) error
func (*NamePrintFlags) ToPrinter ¶
func (f *NamePrintFlags) ToPrinter(outputFormat string) (printers.ResourcePrinter, error)
ToPrinter receives an outputFormat and returns a printer capable of handling --output=name printing. Returns false if the specified outputFormat does not match a supported format. Supported format types can be found in pkg/printers/printers.go
type NoCompatiblePrinterError ¶
type NoCompatiblePrinterError struct { OutputFormat *string AllowedFormats []string Options interface{} }
func (NoCompatiblePrinterError) Error ¶
func (e NoCompatiblePrinterError) Error() string
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
type PrintFlags ¶
type PrintFlags struct { JSONYamlPrintFlags *JSONYamlPrintFlags NamePrintFlags *NamePrintFlags TemplatePrinterFlags *KubeTemplatePrintFlags TypeSetterPrinter *printers.TypeSetterPrinter OutputFormat *string // OutputFlagSpecified indicates whether the user specifically requested a certain kind of output. // Using this function allows a sophisticated caller to change the flag binding logic if they so desire. OutputFlagSpecified func() bool }
PrintFlags composes common printer flag structs used across all commands, and provides a method of retrieving a known printer based on flag values provided.
func NewPrintFlags ¶
func NewPrintFlags(operation string) *PrintFlags
func (*PrintFlags) AddFlags ¶
func (f *PrintFlags) AddFlags(cmd *cobra.Command)
func (*PrintFlags) AllowedFormats ¶
func (f *PrintFlags) AllowedFormats() []string
func (*PrintFlags) Complete ¶
func (f *PrintFlags) Complete(successTemplate string) error
func (*PrintFlags) ToPrinter ¶
func (f *PrintFlags) ToPrinter() (printers.ResourcePrinter, error)
func (*PrintFlags) WithDefaultOutput ¶
func (f *PrintFlags) WithDefaultOutput(output string) *PrintFlags
WithDefaultOutput sets a default output format if one is not provided through a flag value
func (*PrintFlags) WithTypeSetter ¶
func (f *PrintFlags) WithTypeSetter(scheme *runtime.Scheme) *PrintFlags
WithTypeSetter sets a wrapper than will surround the returned printer with a printer to type resources
type RESTClientGetter ¶
type RESTClientGetter interface { // ToRESTConfig returns restconfig ToRESTConfig() (*rest.Config, error) // ToDiscoveryClient returns discovery client ToDiscoveryClient() (discovery.CachedDiscoveryInterface, error) // ToRESTMapper returns a restmapper ToRESTMapper() (meta.RESTMapper, error) // ToRawKubeConfigLoader return kubeconfig loader as-is ToRawKubeConfigLoader() clientcmd.ClientConfig }
RESTClientGetter is an interface that the ConfigFlags describe to provide an easier way to mock for commands and eliminate the direct coupling to a struct type. Users may wish to duplicate this type in their own packages as per the golang type overlapping.
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(cmd *cobra.Command) 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) CompleteWithChangeCause ¶
func (f *RecordFlags) CompleteWithChangeCause(cause string) error
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.
type ResourceBuilderFlags ¶
type ResourceBuilderFlags struct { FileNameFlags *FileNameFlags LabelSelector *string FieldSelector *string AllNamespaces *bool All *bool Local *bool IncludeUninitialized *bool Scheme *runtime.Scheme Latest bool StopOnFirstError bool }
ResourceBuilderFlags are flags for finding resources TODO(juanvallejo): wire --local flag from commands through
func NewResourceBuilderFlags ¶
func NewResourceBuilderFlags() *ResourceBuilderFlags
NewResourceBuilderFlags returns a default ResourceBuilderFlags
func (*ResourceBuilderFlags) AddFlags ¶
func (o *ResourceBuilderFlags) AddFlags(flagset *pflag.FlagSet)
AddFlags registers flags for finding resources
func (*ResourceBuilderFlags) StopOnError ¶
func (o *ResourceBuilderFlags) StopOnError() *ResourceBuilderFlags
func (*ResourceBuilderFlags) ToBuilder ¶
func (o *ResourceBuilderFlags) ToBuilder(restClientGetter RESTClientGetter, resources []string) ResourceFinder
ToBuilder gives you back a resource finder to visit resources that are located
func (*ResourceBuilderFlags) WithAll ¶
func (o *ResourceBuilderFlags) WithAll(defaultVal bool) *ResourceBuilderFlags
func (*ResourceBuilderFlags) WithAllNamespaces ¶
func (o *ResourceBuilderFlags) WithAllNamespaces(defaultVal bool) *ResourceBuilderFlags
func (*ResourceBuilderFlags) WithFieldSelector ¶
func (o *ResourceBuilderFlags) WithFieldSelector(selector string) *ResourceBuilderFlags
func (*ResourceBuilderFlags) WithFile ¶
func (o *ResourceBuilderFlags) WithFile(recurse bool, files ...string) *ResourceBuilderFlags
func (*ResourceBuilderFlags) WithLabelSelector ¶
func (o *ResourceBuilderFlags) WithLabelSelector(selector string) *ResourceBuilderFlags
func (*ResourceBuilderFlags) WithLatest ¶
func (o *ResourceBuilderFlags) WithLatest() *ResourceBuilderFlags
func (*ResourceBuilderFlags) WithLocal ¶
func (o *ResourceBuilderFlags) WithLocal(defaultVal bool) *ResourceBuilderFlags
func (*ResourceBuilderFlags) WithScheme ¶
func (o *ResourceBuilderFlags) WithScheme(scheme *runtime.Scheme) *ResourceBuilderFlags
func (*ResourceBuilderFlags) WithUninitialized ¶
func (o *ResourceBuilderFlags) WithUninitialized(defaultVal bool) *ResourceBuilderFlags
WithUninitialized is using an alpha feature and may be dropped
type ResourceFindBuilderWrapper ¶
type ResourceFindBuilderWrapper struct {
// contains filtered or unexported fields
}
ResourceFindBuilderWrapper wraps a builder in an interface
func (*ResourceFindBuilderWrapper) Do ¶
func (b *ResourceFindBuilderWrapper) Do() resource.Visitor
Do finds you resources to check
type ResourceFinder ¶
ResourceFinder allows mocking the resource builder TODO resource builders needs to become more interfacey
func NewSimpleFakeResourceFinder ¶
func NewSimpleFakeResourceFinder(infos ...*resource.Info) ResourceFinder
NewSimpleResourceFinder builds a super simple ResourceFinder that just iterates over the objects you provided
func ResourceFinderForResult ¶
func ResourceFinderForResult(result resource.Visitor) ResourceFinder
ResourceFinderForResult skins a visitor for re-use as a ResourceFinder
type ResourceFinderFunc ¶
ResourceFinderFunc is a handy way to make a ResourceFinder
func (ResourceFinderFunc) Do ¶
func (fn ResourceFinderFunc) Do() resource.Visitor
Do implements ResourceFinder
type TestConfigFlags ¶
type TestConfigFlags struct {
// contains filtered or unexported fields
}
func NewTestConfigFlags ¶
func NewTestConfigFlags() *TestConfigFlags
func (*TestConfigFlags) ToDiscoveryClient ¶
func (f *TestConfigFlags) ToDiscoveryClient() (discovery.CachedDiscoveryInterface, error)
func (*TestConfigFlags) ToRESTConfig ¶
func (f *TestConfigFlags) ToRESTConfig() (*rest.Config, error)
func (*TestConfigFlags) ToRESTMapper ¶
func (f *TestConfigFlags) ToRESTMapper() (meta.RESTMapper, error)
func (*TestConfigFlags) ToRawKubeConfigLoader ¶
func (f *TestConfigFlags) ToRawKubeConfigLoader() clientcmd.ClientConfig
func (*TestConfigFlags) WithClientConfig ¶
func (f *TestConfigFlags) WithClientConfig(clientConfig clientcmd.ClientConfig) *TestConfigFlags
func (*TestConfigFlags) WithDiscoveryClient ¶
func (f *TestConfigFlags) WithDiscoveryClient(c discovery.CachedDiscoveryInterface) *TestConfigFlags
func (*TestConfigFlags) WithNamespace ¶
func (f *TestConfigFlags) WithNamespace(ns string) *TestConfigFlags
func (*TestConfigFlags) WithRESTMapper ¶
func (f *TestConfigFlags) WithRESTMapper(mapper meta.RESTMapper) *TestConfigFlags