mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	update various commands to adapt the new Factory interface
This commit is contained in:
		@@ -26,7 +26,7 @@ import (
 | 
			
		||||
	"k8s.io/kubernetes/pkg/util/flag"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewKubeadmCommand(f *cmdutil.Factory, in io.Reader, out, err io.Writer) *cobra.Command {
 | 
			
		||||
func NewKubeadmCommand(f cmdutil.Factory, in io.Reader, out, err io.Writer) *cobra.Command {
 | 
			
		||||
	cmds := &cobra.Command{
 | 
			
		||||
		Use:   "kubeadm",
 | 
			
		||||
		Short: "kubeadm: easily bootstrap a secure Kubernetes cluster.",
 | 
			
		||||
 
 | 
			
		||||
@@ -54,7 +54,7 @@ type AnnotateOptions struct {
 | 
			
		||||
	newAnnotations    map[string]string
 | 
			
		||||
	removeAnnotations []string
 | 
			
		||||
 | 
			
		||||
	// Common shared fields
 | 
			
		||||
	// Common share fields
 | 
			
		||||
	out io.Writer
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -91,7 +91,7 @@ var (
 | 
			
		||||
		kubectl annotate pods foo description-`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdAnnotate(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdAnnotate(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &AnnotateOptions{}
 | 
			
		||||
 | 
			
		||||
	// retrieve a list of handled resources from printer as valid args
 | 
			
		||||
@@ -138,7 +138,7 @@ func NewCmdAnnotate(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Complete adapts from the command line args and factory to the data required.
 | 
			
		||||
func (o *AnnotateOptions) Complete(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string) (err error) {
 | 
			
		||||
func (o *AnnotateOptions) Complete(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string) (err error) {
 | 
			
		||||
	o.out = out
 | 
			
		||||
	o.local = cmdutil.GetFlagBool(cmd, "local")
 | 
			
		||||
	o.overwrite = cmdutil.GetFlagBool(cmd, "overwrite")
 | 
			
		||||
@@ -172,7 +172,7 @@ func (o AnnotateOptions) Validate() error {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RunAnnotate does the work
 | 
			
		||||
func (o AnnotateOptions) RunAnnotate(f *cmdutil.Factory, cmd *cobra.Command) error {
 | 
			
		||||
func (o AnnotateOptions) RunAnnotate(f cmdutil.Factory, cmd *cobra.Command) error {
 | 
			
		||||
	namespace, enforceNamespace, err := f.DefaultNamespace()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ import (
 | 
			
		||||
	cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdApiVersions(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdApiVersions(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use: "api-versions",
 | 
			
		||||
		// apiversions is deprecated.
 | 
			
		||||
@@ -42,7 +42,7 @@ func NewCmdApiVersions(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunApiVersions(f *cmdutil.Factory, w io.Writer) error {
 | 
			
		||||
func RunApiVersions(f cmdutil.Factory, w io.Writer) error {
 | 
			
		||||
	if len(os.Args) > 1 && os.Args[1] == "apiversions" {
 | 
			
		||||
		printDeprecationWarning("api-versions", "apiversions")
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -75,7 +75,7 @@ var (
 | 
			
		||||
		cat pod.json | kubectl apply -f -`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdApply(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdApply(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	var options ApplyOptions
 | 
			
		||||
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
@@ -122,7 +122,7 @@ func validatePruneAll(prune, all bool, selector string) error {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunApply(f *cmdutil.Factory, cmd *cobra.Command, out io.Writer, options *ApplyOptions) error {
 | 
			
		||||
func RunApply(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, options *ApplyOptions) error {
 | 
			
		||||
	shortOutput := cmdutil.GetFlagString(cmd, "output") == "name"
 | 
			
		||||
	schema, err := f.Validator(cmdutil.GetFlagBool(cmd, "validate"), cmdutil.GetFlagString(cmd, "schema-cache-dir"))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -48,7 +48,7 @@ var (
 | 
			
		||||
		kubectl attach 123456-7890 -c ruby-container -i -t`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdAttach(f *cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdAttach(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer) *cobra.Command {
 | 
			
		||||
	options := &AttachOptions{
 | 
			
		||||
		StreamOptions: StreamOptions{
 | 
			
		||||
			In:  cmdIn,
 | 
			
		||||
@@ -113,7 +113,7 @@ type AttachOptions struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Complete verifies command line arguments and loads data from the command environment
 | 
			
		||||
func (p *AttachOptions) Complete(f *cmdutil.Factory, cmd *cobra.Command, argsIn []string) error {
 | 
			
		||||
func (p *AttachOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, argsIn []string) error {
 | 
			
		||||
	if len(argsIn) == 0 {
 | 
			
		||||
		return cmdutil.UsageError(cmd, "POD is required for attach")
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -45,7 +45,7 @@ var (
 | 
			
		||||
		kubectl autoscale rc foo --max=5 --cpu-percent=80`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdAutoscale(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdAutoscale(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &resource.FilenameOptions{}
 | 
			
		||||
 | 
			
		||||
	validArgs := []string{"deployment", "replicaset", "replicationcontroller"}
 | 
			
		||||
@@ -79,7 +79,7 @@ func NewCmdAutoscale(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunAutoscale(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
func RunAutoscale(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
	namespace, enforceNamespace, err := f.DefaultNamespace()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,7 @@ import (
 | 
			
		||||
var longDescr = `Display addresses of the master and services with label kubernetes.io/cluster-service=true
 | 
			
		||||
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.`
 | 
			
		||||
 | 
			
		||||
func NewCmdClusterInfo(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdClusterInfo(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use: "cluster-info",
 | 
			
		||||
		// clusterinfo is deprecated.
 | 
			
		||||
@@ -50,7 +50,7 @@ func NewCmdClusterInfo(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunClusterInfo(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command) error {
 | 
			
		||||
func RunClusterInfo(f cmdutil.Factory, out io.Writer, cmd *cobra.Command) error {
 | 
			
		||||
	if len(os.Args) > 1 && os.Args[1] == "clusterinfo" {
 | 
			
		||||
		printDeprecationWarning("cluster-info", "clusterinfo")
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -30,7 +30,7 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewCmdCreateSecret groups subcommands to create various types of secrets
 | 
			
		||||
func NewCmdClusterInfoDump(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdClusterInfoDump(f cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "dump",
 | 
			
		||||
		Short:   "Dump lots of relevant info for debugging and diagnosis",
 | 
			
		||||
@@ -84,7 +84,7 @@ func setupOutputWriter(cmd *cobra.Command, defaultWriter io.Writer, filename str
 | 
			
		||||
	return file
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func dumpClusterInfo(f *cmdutil.Factory, cmd *cobra.Command, args []string, out io.Writer) error {
 | 
			
		||||
func dumpClusterInfo(f cmdutil.Factory, cmd *cobra.Command, args []string, out io.Writer) error {
 | 
			
		||||
	clientset, err := f.ClientSet()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -224,7 +224,7 @@ Use "{{.CommandPath}} [command] --help" for more information about a command.{{e
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewKubectlCommand creates the `kubectl` command and its nested children.
 | 
			
		||||
func NewKubectlCommand(f *cmdutil.Factory, in io.Reader, out, err io.Writer) *cobra.Command {
 | 
			
		||||
func NewKubectlCommand(f cmdutil.Factory, in io.Reader, out, err io.Writer) *cobra.Command {
 | 
			
		||||
	// Parent command to which all subcommands are added.
 | 
			
		||||
	cmds := &cobra.Command{
 | 
			
		||||
		Use:   "kubectl",
 | 
			
		||||
 
 | 
			
		||||
@@ -56,7 +56,7 @@ var (
 | 
			
		||||
	}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdCompletion(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCompletion(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	shells := []string{}
 | 
			
		||||
	for s := range completion_shells {
 | 
			
		||||
		shells = append(shells, s)
 | 
			
		||||
@@ -77,7 +77,7 @@ func NewCmdCompletion(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunCompletion(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func RunCompletion(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	if len(args) == 0 {
 | 
			
		||||
		return cmdutil.UsageError(cmd, "Shell not specified.")
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -62,7 +62,7 @@ var (
 | 
			
		||||
 | 
			
		||||
// NewCmdConvert creates a command object for the generic "convert" action, which
 | 
			
		||||
// translates the config file into a given version.
 | 
			
		||||
func NewCmdConvert(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdConvert(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &ConvertOptions{}
 | 
			
		||||
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
@@ -103,7 +103,7 @@ type ConvertOptions struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Complete collects information required to run Convert command from command line.
 | 
			
		||||
func (o *ConvertOptions) Complete(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string) (err error) {
 | 
			
		||||
func (o *ConvertOptions) Complete(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string) (err error) {
 | 
			
		||||
	o.outputVersion, err = cmdutil.OutputVersion(cmd, ®istered.EnabledVersionsForGroup(api.GroupName)[0])
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -43,7 +43,7 @@ var (
 | 
			
		||||
		cat pod.json | kubectl create -f -`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdCreate(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCreate(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &resource.FilenameOptions{}
 | 
			
		||||
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
@@ -89,7 +89,7 @@ func ValidateArgs(cmd *cobra.Command, args []string) error {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunCreate(f *cmdutil.Factory, cmd *cobra.Command, out io.Writer, options *resource.FilenameOptions) error {
 | 
			
		||||
func RunCreate(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, options *resource.FilenameOptions) error {
 | 
			
		||||
	schema, err := f.Validator(cmdutil.GetFlagBool(cmd, "validate"), cmdutil.GetFlagString(cmd, "schema-cache-dir"))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
@@ -183,7 +183,7 @@ type CreateSubcommandOptions struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RunCreateSubcommand executes a create subcommand using the specified options
 | 
			
		||||
func RunCreateSubcommand(f *cmdutil.Factory, cmd *cobra.Command, out io.Writer, options *CreateSubcommandOptions) error {
 | 
			
		||||
func RunCreateSubcommand(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, options *CreateSubcommandOptions) error {
 | 
			
		||||
	namespace, _, err := f.DefaultNamespace()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -53,7 +53,7 @@ var (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// ConfigMap is a command to ease creating ConfigMaps.
 | 
			
		||||
func NewCmdCreateConfigMap(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCreateConfigMap(f cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "configmap NAME [--from-file=[key=]source] [--from-literal=key1=value1] [--dry-run]",
 | 
			
		||||
		Aliases: []string{"cm"},
 | 
			
		||||
@@ -75,7 +75,7 @@ func NewCmdCreateConfigMap(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateConfigMap is the implementation of the create configmap command.
 | 
			
		||||
func CreateConfigMap(f *cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func CreateConfigMap(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	name, err := NameFromCommandArgs(cmd, args)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@ var (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewCmdCreateDeployment is a macro command to create a new deployment
 | 
			
		||||
func NewCmdCreateDeployment(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCreateDeployment(f cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "deployment NAME --image=image [--dry-run]",
 | 
			
		||||
		Aliases: []string{"deploy"},
 | 
			
		||||
@@ -59,7 +59,7 @@ func NewCmdCreateDeployment(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateDeployment implements the behavior to run the create deployment command
 | 
			
		||||
func CreateDeployment(f *cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func CreateDeployment(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	name, err := NameFromCommandArgs(cmd, args)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@ var (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewCmdCreateNamespace is a macro command to create a new namespace
 | 
			
		||||
func NewCmdCreateNamespace(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCreateNamespace(f cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "namespace NAME [--dry-run]",
 | 
			
		||||
		Aliases: []string{"ns"},
 | 
			
		||||
@@ -58,7 +58,7 @@ func NewCmdCreateNamespace(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateNamespace implements the behavior to run the create namespace command
 | 
			
		||||
func CreateNamespace(f *cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func CreateNamespace(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	name, err := NameFromCommandArgs(cmd, args)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ var (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewCmdCreateQuota is a macro command to create a new quota
 | 
			
		||||
func NewCmdCreateQuota(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCreateQuota(f cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "quota NAME [--hard=key1=value1,key2=value2] [--scopes=Scope1,Scope2] [--dry-run=bool]",
 | 
			
		||||
		Aliases: []string{"resourcequota"},
 | 
			
		||||
@@ -63,7 +63,7 @@ func NewCmdCreateQuota(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateQuota implements the behavior to run the create quota command
 | 
			
		||||
func CreateQuota(f *cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func CreateQuota(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	name, err := NameFromCommandArgs(cmd, args)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewCmdCreateSecret groups subcommands to create various types of secrets
 | 
			
		||||
func NewCmdCreateSecret(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCreateSecret(f cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:   "secret",
 | 
			
		||||
		Short: "Create a secret using specified subcommand",
 | 
			
		||||
@@ -70,7 +70,7 @@ var (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewCmdCreateSecretGeneric is a command to create generic secrets from files, directories, or literal values
 | 
			
		||||
func NewCmdCreateSecretGeneric(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCreateSecretGeneric(f cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "generic NAME [--type=string] [--from-file=[key=]source] [--from-literal=key1=value1] [--dry-run]",
 | 
			
		||||
		Short:   "Create a secret from a local file, directory or literal value",
 | 
			
		||||
@@ -92,7 +92,7 @@ func NewCmdCreateSecretGeneric(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Comm
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateSecretGeneric is the implementation of the create secret generic command
 | 
			
		||||
func CreateSecretGeneric(f *cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func CreateSecretGeneric(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	name, err := NameFromCommandArgs(cmd, args)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
@@ -138,7 +138,7 @@ var (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewCmdCreateSecretDockerRegistry is a macro command for creating secrets to work with Docker registries
 | 
			
		||||
func NewCmdCreateSecretDockerRegistry(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCreateSecretDockerRegistry(f cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "docker-registry NAME --docker-username=user --docker-password=password --docker-email=email [--docker-server=string] [--from-literal=key1=value1] [--dry-run]",
 | 
			
		||||
		Short:   "Create a secret for use with a Docker registry",
 | 
			
		||||
@@ -165,7 +165,7 @@ func NewCmdCreateSecretDockerRegistry(f *cmdutil.Factory, cmdOut io.Writer) *cob
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateSecretDockerRegistry is the implementation of the create secret docker-registry command
 | 
			
		||||
func CreateSecretDockerRegistry(f *cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func CreateSecretDockerRegistry(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	name, err := NameFromCommandArgs(cmd, args)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
@@ -209,7 +209,7 @@ var (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewCmdCreateSecretTLS is a macro command for creating secrets to work with Docker registries
 | 
			
		||||
func NewCmdCreateSecretTLS(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCreateSecretTLS(f cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "tls NAME --cert=path/to/cert/file --key=path/to/key/file [--dry-run]",
 | 
			
		||||
		Short:   "Create a TLS secret",
 | 
			
		||||
@@ -230,7 +230,7 @@ func NewCmdCreateSecretTLS(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateSecretTLS is the implementation of the create secret tls command
 | 
			
		||||
func CreateSecretTLS(f *cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func CreateSecretTLS(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	name, err := NameFromCommandArgs(cmd, args)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,7 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewCmdCreateService is a macro command to create a new service
 | 
			
		||||
func NewCmdCreateService(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCreateService(f cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "service",
 | 
			
		||||
		Aliases: []string{"svc"},
 | 
			
		||||
@@ -63,7 +63,7 @@ func addPortFlags(cmd *cobra.Command) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewCmdCreateServiceClusterIP is a command to create a clusterIP service
 | 
			
		||||
func NewCmdCreateServiceClusterIP(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCreateServiceClusterIP(f cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "clusterip NAME [--tcp=<port>:<targetPort>] [--dry-run]",
 | 
			
		||||
		Short:   "Create a clusterIP service.",
 | 
			
		||||
@@ -84,7 +84,7 @@ func NewCmdCreateServiceClusterIP(f *cmdutil.Factory, cmdOut io.Writer) *cobra.C
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateServiceClusterIP implements the behavior to run the create service clusterIP command
 | 
			
		||||
func CreateServiceClusterIP(f *cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func CreateServiceClusterIP(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	name, err := NameFromCommandArgs(cmd, args)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
@@ -119,7 +119,7 @@ var (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewCmdCreateServiceNodePort is a macro command for creating a NodePort service
 | 
			
		||||
func NewCmdCreateServiceNodePort(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCreateServiceNodePort(f cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "nodeport NAME [--tcp=port:targetPort] [--dry-run]",
 | 
			
		||||
		Short:   "Create a NodePort service.",
 | 
			
		||||
@@ -140,7 +140,7 @@ func NewCmdCreateServiceNodePort(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Co
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateServiceNodePort is the implementation of the create service nodeport command
 | 
			
		||||
func CreateServiceNodePort(f *cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func CreateServiceNodePort(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	name, err := NameFromCommandArgs(cmd, args)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
@@ -176,7 +176,7 @@ var (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewCmdCreateServiceLoadBalancer is a macro command for creating a LoadBalancer service
 | 
			
		||||
func NewCmdCreateServiceLoadBalancer(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCreateServiceLoadBalancer(f cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "loadbalancer NAME [--tcp=port:targetPort] [--dry-run]",
 | 
			
		||||
		Short:   "Create a LoadBalancer service.",
 | 
			
		||||
@@ -196,7 +196,7 @@ func NewCmdCreateServiceLoadBalancer(f *cmdutil.Factory, cmdOut io.Writer) *cobr
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateServiceLoadBalancer is the implementation of the service loadbalancer command
 | 
			
		||||
func CreateServiceLoadBalancer(f *cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func CreateServiceLoadBalancer(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	name, err := NameFromCommandArgs(cmd, args)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@ var (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewCmdCreateServiceAccount is a macro command to create a new service account
 | 
			
		||||
func NewCmdCreateServiceAccount(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCreateServiceAccount(f cmdutil.Factory, cmdOut io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "serviceaccount NAME [--dry-run]",
 | 
			
		||||
		Aliases: []string{"sa"},
 | 
			
		||||
@@ -58,7 +58,7 @@ func NewCmdCreateServiceAccount(f *cmdutil.Factory, cmdOut io.Writer) *cobra.Com
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateServiceAccount implements the behavior to run the create service account command
 | 
			
		||||
func CreateServiceAccount(f *cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func CreateServiceAccount(f cmdutil.Factory, cmdOut io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	name, err := NameFromCommandArgs(cmd, args)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -66,7 +66,7 @@ var (
 | 
			
		||||
		kubectl delete pods --all`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdDelete(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdDelete(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &resource.FilenameOptions{}
 | 
			
		||||
 | 
			
		||||
	// retrieve a list of handled resources from printer as valid args
 | 
			
		||||
@@ -108,7 +108,7 @@ func NewCmdDelete(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunDelete(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
func RunDelete(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
	cmdNamespace, enforceNamespace, err := f.DefaultNamespace()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
@@ -158,7 +158,7 @@ func RunDelete(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []str
 | 
			
		||||
	return DeleteResult(r, out, ignoreNotFound, shortOutput, mapper)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ReapResult(r *resource.Result, f *cmdutil.Factory, out io.Writer, isDefaultDelete, ignoreNotFound bool, timeout time.Duration, gracePeriod int, shortOutput bool, mapper meta.RESTMapper, quiet bool) error {
 | 
			
		||||
func ReapResult(r *resource.Result, f cmdutil.Factory, out io.Writer, isDefaultDelete, ignoreNotFound bool, timeout time.Duration, gracePeriod int, shortOutput bool, mapper meta.RESTMapper, quiet bool) error {
 | 
			
		||||
	found := 0
 | 
			
		||||
	if ignoreNotFound {
 | 
			
		||||
		r = r.IgnoreErrors(errors.IsNotFound)
 | 
			
		||||
 
 | 
			
		||||
@@ -67,7 +67,7 @@ var (
 | 
			
		||||
		kubectl describe pods frontend`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdDescribe(f *cmdutil.Factory, out, cmdErr io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdDescribe(f cmdutil.Factory, out, cmdErr io.Writer) *cobra.Command {
 | 
			
		||||
	options := &resource.FilenameOptions{}
 | 
			
		||||
	describerSettings := &kubectl.DescriberSettings{}
 | 
			
		||||
 | 
			
		||||
@@ -95,7 +95,7 @@ func NewCmdDescribe(f *cmdutil.Factory, out, cmdErr io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunDescribe(f *cmdutil.Factory, out, cmdErr io.Writer, cmd *cobra.Command, args []string, options *resource.FilenameOptions, describerSettings *kubectl.DescriberSettings) error {
 | 
			
		||||
func RunDescribe(f cmdutil.Factory, out, cmdErr io.Writer, cmd *cobra.Command, args []string, options *resource.FilenameOptions, describerSettings *kubectl.DescriberSettings) error {
 | 
			
		||||
	selector := cmdutil.GetFlagString(cmd, "selector")
 | 
			
		||||
	allNamespaces := cmdutil.GetFlagBool(cmd, "all-namespaces")
 | 
			
		||||
	cmdNamespace, enforceNamespace, err := f.DefaultNamespace()
 | 
			
		||||
@@ -157,7 +157,7 @@ func RunDescribe(f *cmdutil.Factory, out, cmdErr io.Writer, cmd *cobra.Command,
 | 
			
		||||
	return utilerrors.NewAggregate(allErrs)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func DescribeMatchingResources(mapper meta.RESTMapper, typer runtime.ObjectTyper, f *cmdutil.Factory, namespace, rsrc, prefix string, describerSettings *kubectl.DescriberSettings, out io.Writer, originalError error) error {
 | 
			
		||||
func DescribeMatchingResources(mapper meta.RESTMapper, typer runtime.ObjectTyper, f cmdutil.Factory, namespace, rsrc, prefix string, describerSettings *kubectl.DescriberSettings, out io.Writer, originalError error) error {
 | 
			
		||||
	r := resource.NewBuilder(mapper, typer, resource.ClientMapperFunc(f.ClientForMapping), f.Decoder(true)).
 | 
			
		||||
		NamespaceParam(namespace).DefaultNamespace().
 | 
			
		||||
		ResourceTypeOrNameArgs(true, rsrc).
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ import (
 | 
			
		||||
type DrainOptions struct {
 | 
			
		||||
	client             *internalclientset.Clientset
 | 
			
		||||
	restClient         *restclient.RESTClient
 | 
			
		||||
	factory            *cmdutil.Factory
 | 
			
		||||
	factory            cmdutil.Factory
 | 
			
		||||
	Force              bool
 | 
			
		||||
	GracePeriodSeconds int
 | 
			
		||||
	IgnoreDaemonsets   bool
 | 
			
		||||
@@ -80,7 +80,7 @@ var (
 | 
			
		||||
		`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdCordon(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdCordon(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &DrainOptions{factory: f, out: out}
 | 
			
		||||
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
@@ -106,7 +106,7 @@ var (
 | 
			
		||||
		`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdUncordon(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdUncordon(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &DrainOptions{factory: f, out: out}
 | 
			
		||||
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
@@ -151,7 +151,7 @@ var (
 | 
			
		||||
		`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdDrain(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdDrain(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &DrainOptions{factory: f, out: out}
 | 
			
		||||
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
 
 | 
			
		||||
@@ -69,7 +69,7 @@ func TestCordon(t *testing.T) {
 | 
			
		||||
		description string
 | 
			
		||||
		node        *api.Node
 | 
			
		||||
		expected    *api.Node
 | 
			
		||||
		cmd         func(*cmdutil.Factory, io.Writer) *cobra.Command
 | 
			
		||||
		cmd         func(cmdutil.Factory, io.Writer) *cobra.Command
 | 
			
		||||
		arg         string
 | 
			
		||||
		expectFatal bool
 | 
			
		||||
	}{
 | 
			
		||||
@@ -177,7 +177,10 @@ func TestCordon(t *testing.T) {
 | 
			
		||||
				// Restore cmdutil behavior
 | 
			
		||||
				cmdutil.DefaultBehaviorOnFatal()
 | 
			
		||||
			}()
 | 
			
		||||
			cmdutil.BehaviorOnFatal(func(e string, code int) { saw_fatal = true; panic(e) })
 | 
			
		||||
			cmdutil.BehaviorOnFatal(func(e string, code int) {
 | 
			
		||||
				saw_fatal = true
 | 
			
		||||
				panic(e)
 | 
			
		||||
			})
 | 
			
		||||
			cmd.SetArgs([]string{test.arg})
 | 
			
		||||
			cmd.Execute()
 | 
			
		||||
		}()
 | 
			
		||||
 
 | 
			
		||||
@@ -80,7 +80,7 @@ var (
 | 
			
		||||
 | 
			
		||||
var errExit = fmt.Errorf("exit directly")
 | 
			
		||||
 | 
			
		||||
func NewCmdEdit(f *cmdutil.Factory, out, errOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdEdit(f cmdutil.Factory, out, errOut io.Writer) *cobra.Command {
 | 
			
		||||
	options := &resource.FilenameOptions{}
 | 
			
		||||
 | 
			
		||||
	// retrieve a list of handled resources from printer as valid args
 | 
			
		||||
@@ -121,7 +121,7 @@ func NewCmdEdit(f *cmdutil.Factory, out, errOut io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunEdit(f *cmdutil.Factory, out, errOut io.Writer, cmd *cobra.Command, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
func RunEdit(f cmdutil.Factory, out, errOut io.Writer, cmd *cobra.Command, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
	o, err := getPrinter(cmd)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
@@ -321,7 +321,7 @@ func getPrinter(cmd *cobra.Command) (*editPrinterOptions, error) {
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func getMapperAndResult(f *cmdutil.Factory, args []string, options *resource.FilenameOptions) (meta.RESTMapper, *resource.Mapper, *resource.Result, string, error) {
 | 
			
		||||
func getMapperAndResult(f cmdutil.Factory, args []string, options *resource.FilenameOptions) (meta.RESTMapper, *resource.Mapper, *resource.Result, string, error) {
 | 
			
		||||
	cmdNamespace, enforceNamespace, err := f.DefaultNamespace()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, nil, nil, "", err
 | 
			
		||||
@@ -441,7 +441,7 @@ func visitToPatch(originalObj runtime.Object, updates *resource.Info, mapper met
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func visitAnnotation(cmd *cobra.Command, f *cmdutil.Factory, updates *resource.Info, resourceMapper *resource.Mapper, encoder runtime.Encoder) ([]runtime.Object, error) {
 | 
			
		||||
func visitAnnotation(cmd *cobra.Command, f cmdutil.Factory, updates *resource.Info, resourceMapper *resource.Mapper, encoder runtime.Encoder) ([]runtime.Object, error) {
 | 
			
		||||
	mutatedObjects := []runtime.Object{}
 | 
			
		||||
	annotationVisitor := resource.NewFlattenListVisitor(updates, resourceMapper)
 | 
			
		||||
	// iterate through all items to apply annotations
 | 
			
		||||
 
 | 
			
		||||
@@ -30,7 +30,6 @@ import (
 | 
			
		||||
	"k8s.io/kubernetes/pkg/client/restclient"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/client/unversioned/remotecommand"
 | 
			
		||||
	cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/kubectl/resource"
 | 
			
		||||
	remotecommandserver "k8s.io/kubernetes/pkg/kubelet/server/remotecommand"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/util/interrupt"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/util/term"
 | 
			
		||||
@@ -53,7 +52,7 @@ const (
 | 
			
		||||
	execUsageStr = "expected 'exec POD_NAME COMMAND [ARG1] [ARG2] ... [ARGN]'.\nPOD_NAME and COMMAND are required arguments for the exec command"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdExec(f *cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdExec(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer) *cobra.Command {
 | 
			
		||||
	options := &ExecOptions{
 | 
			
		||||
		StreamOptions: StreamOptions{
 | 
			
		||||
			In:  cmdIn,
 | 
			
		||||
@@ -140,7 +139,7 @@ type ExecOptions struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Complete verifies command line arguments and loads data from the command environment
 | 
			
		||||
func (p *ExecOptions) Complete(f *cmdutil.Factory, cmd *cobra.Command, argsIn []string, argsLenAtDash int) error {
 | 
			
		||||
func (p *ExecOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, argsIn []string, argsLenAtDash int) error {
 | 
			
		||||
	// Let kubectl exec follow rules for `--`, see #13004 issue
 | 
			
		||||
	if len(p.PodName) == 0 && (len(argsIn) == 0 || argsLenAtDash == 0) {
 | 
			
		||||
		return cmdutil.UsageError(cmd, execUsageStr)
 | 
			
		||||
@@ -158,29 +157,6 @@ func (p *ExecOptions) Complete(f *cmdutil.Factory, cmd *cobra.Command, argsIn []
 | 
			
		||||
			return cmdutil.UsageError(cmd, execUsageStr)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	namespace, _, err := f.DefaultNamespace()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	p.Namespace = namespace
 | 
			
		||||
 | 
			
		||||
	clientMapper := resource.ClientMapperFunc(f.ClientForMapping)
 | 
			
		||||
	mapper, typer := f.Object()
 | 
			
		||||
	decoder := f.Decoder(true)
 | 
			
		||||
 | 
			
		||||
	infos, err := resource.NewBuilder(mapper, typer, clientMapper, decoder).
 | 
			
		||||
		NamespaceParam(p.Namespace).DefaultNamespace().
 | 
			
		||||
		ResourceNames("pods", p.PodName).
 | 
			
		||||
		SingleResourceType().
 | 
			
		||||
		Do().Infos()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	if len(infos) != 1 {
 | 
			
		||||
		return cmdutil.UsageError(cmd, execUsageStr)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	p.PodName = infos[0].Name
 | 
			
		||||
 | 
			
		||||
	cmdParent := cmd.Parent()
 | 
			
		||||
	if cmdParent != nil {
 | 
			
		||||
@@ -190,6 +166,12 @@ func (p *ExecOptions) Complete(f *cmdutil.Factory, cmd *cobra.Command, argsIn []
 | 
			
		||||
		p.SuggestedCmdUsage = fmt.Sprintf("Use '%s describe pod/%s' to see all of the containers in this pod.", p.FullCmdName, p.PodName)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	namespace, _, err := f.DefaultNamespace()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	p.Namespace = namespace
 | 
			
		||||
 | 
			
		||||
	config, err := f.ClientConfig()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -55,7 +55,7 @@ func TestPodAndContainer(t *testing.T) {
 | 
			
		||||
		p                 *ExecOptions
 | 
			
		||||
		name              string
 | 
			
		||||
		expectError       bool
 | 
			
		||||
		expectedPod       *api.Pod
 | 
			
		||||
		expectedPod       string
 | 
			
		||||
		expectedContainer string
 | 
			
		||||
		expectedArgs      []string
 | 
			
		||||
	}{
 | 
			
		||||
@@ -81,18 +81,10 @@ func TestPodAndContainer(t *testing.T) {
 | 
			
		||||
			p:             &ExecOptions{StreamOptions: StreamOptions{PodName: "foo"}},
 | 
			
		||||
			args:          []string{"cmd"},
 | 
			
		||||
			argsLenAtDash: -1,
 | 
			
		||||
			expectedPod:   execPod(),
 | 
			
		||||
			expectedPod:   "foo",
 | 
			
		||||
			expectedArgs:  []string{"cmd"},
 | 
			
		||||
			name:          "pod in flags",
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			p:             &ExecOptions{StreamOptions: StreamOptions{PodName: "pod/foo"}},
 | 
			
		||||
			args:          []string{"cmd"},
 | 
			
		||||
			argsLenAtDash: -1,
 | 
			
		||||
			expectedPod:   execPod(),
 | 
			
		||||
			expectedArgs:  []string{"cmd"},
 | 
			
		||||
			name:          "pod with 'pod/' prefix in flags",
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			p:             &ExecOptions{},
 | 
			
		||||
			args:          []string{"foo", "cmd"},
 | 
			
		||||
@@ -111,23 +103,15 @@ func TestPodAndContainer(t *testing.T) {
 | 
			
		||||
			p:             &ExecOptions{},
 | 
			
		||||
			args:          []string{"foo", "cmd"},
 | 
			
		||||
			argsLenAtDash: -1,
 | 
			
		||||
			expectedPod:   execPod(),
 | 
			
		||||
			expectedPod:   "foo",
 | 
			
		||||
			expectedArgs:  []string{"cmd"},
 | 
			
		||||
			name:          "cmd, w/o flags",
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			p:             &ExecOptions{},
 | 
			
		||||
			args:          []string{"pod/foo", "cmd"},
 | 
			
		||||
			argsLenAtDash: -1,
 | 
			
		||||
			expectedPod:   execPod(),
 | 
			
		||||
			expectedArgs:  []string{"cmd"},
 | 
			
		||||
			name:          "pod with 'pod/' prefix, cmd, w/o flags",
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			p:             &ExecOptions{},
 | 
			
		||||
			args:          []string{"foo", "cmd"},
 | 
			
		||||
			argsLenAtDash: 1,
 | 
			
		||||
			expectedPod:   execPod(),
 | 
			
		||||
			expectedPod:   "foo",
 | 
			
		||||
			expectedArgs:  []string{"cmd"},
 | 
			
		||||
			name:          "cmd, cmd is behind dash",
 | 
			
		||||
		},
 | 
			
		||||
@@ -135,27 +119,17 @@ func TestPodAndContainer(t *testing.T) {
 | 
			
		||||
			p:                 &ExecOptions{StreamOptions: StreamOptions{ContainerName: "bar"}},
 | 
			
		||||
			args:              []string{"foo", "cmd"},
 | 
			
		||||
			argsLenAtDash:     -1,
 | 
			
		||||
			expectedPod:       execPod(),
 | 
			
		||||
			expectedPod:       "foo",
 | 
			
		||||
			expectedContainer: "bar",
 | 
			
		||||
			expectedArgs:      []string{"cmd"},
 | 
			
		||||
			name:              "cmd, container in flag",
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
	for _, test := range tests {
 | 
			
		||||
		f, tf, codec, ns := NewAPIFactory()
 | 
			
		||||
		f, tf, _, ns := NewAPIFactory()
 | 
			
		||||
		tf.Client = &fake.RESTClient{
 | 
			
		||||
			NegotiatedSerializer: ns,
 | 
			
		||||
			Client: fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) {
 | 
			
		||||
				switch m := req.Method; {
 | 
			
		||||
				case m == "GET":
 | 
			
		||||
					body := objBody(codec, test.expectedPod)
 | 
			
		||||
					return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: body}, nil
 | 
			
		||||
				default:
 | 
			
		||||
					//Ensures no GET is performed when deleting by name
 | 
			
		||||
					t.Errorf("%s: unexpected request: %s %#v\n%#v", test.name, req.Method, req.URL, req)
 | 
			
		||||
					return nil, fmt.Errorf("unexpected request")
 | 
			
		||||
				}
 | 
			
		||||
			}),
 | 
			
		||||
			Client:               fake.CreateHTTPClient(func(req *http.Request) (*http.Response, error) { return nil, nil }),
 | 
			
		||||
		}
 | 
			
		||||
		tf.Namespace = "test"
 | 
			
		||||
		tf.ClientConfig = defaultClientConfig()
 | 
			
		||||
@@ -172,8 +146,8 @@ func TestPodAndContainer(t *testing.T) {
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		if options.PodName != test.expectedPod.Name {
 | 
			
		||||
			t.Errorf("expected: %s, got: %s (%s)", test.expectedPod.Name, options.PodName, test.name)
 | 
			
		||||
		if options.PodName != test.expectedPod {
 | 
			
		||||
			t.Errorf("expected: %s, got: %s (%s)", test.expectedPod, options.PodName, test.name)
 | 
			
		||||
		}
 | 
			
		||||
		if options.ContainerName != test.expectedContainer {
 | 
			
		||||
			t.Errorf("expected: %s, got: %s (%s)", test.expectedContainer, options.ContainerName, test.name)
 | 
			
		||||
@@ -187,20 +161,18 @@ func TestPodAndContainer(t *testing.T) {
 | 
			
		||||
func TestExec(t *testing.T) {
 | 
			
		||||
	version := registered.GroupOrDie(api.GroupName).GroupVersion.Version
 | 
			
		||||
	tests := []struct {
 | 
			
		||||
		name, shortPodPath, podPath, execPath, container string
 | 
			
		||||
		name, podPath, execPath, container string
 | 
			
		||||
		pod                                *api.Pod
 | 
			
		||||
		execErr                            bool
 | 
			
		||||
	}{
 | 
			
		||||
		{
 | 
			
		||||
			name:     "pod exec",
 | 
			
		||||
			shortPodPath: "/namespaces/test/pods/foo",
 | 
			
		||||
			podPath:  "/api/" + version + "/namespaces/test/pods/foo",
 | 
			
		||||
			execPath: "/api/" + version + "/namespaces/test/pods/foo/exec",
 | 
			
		||||
			pod:      execPod(),
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			name:     "pod exec error",
 | 
			
		||||
			shortPodPath: "/namespaces/test/pods/foo",
 | 
			
		||||
			podPath:  "/api/" + version + "/namespaces/test/pods/foo",
 | 
			
		||||
			execPath: "/api/" + version + "/namespaces/test/pods/foo/exec",
 | 
			
		||||
			pod:      execPod(),
 | 
			
		||||
@@ -216,9 +188,6 @@ func TestExec(t *testing.T) {
 | 
			
		||||
				case p == test.podPath && m == "GET":
 | 
			
		||||
					body := objBody(codec, test.pod)
 | 
			
		||||
					return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: body}, nil
 | 
			
		||||
				case p == test.shortPodPath && m == "GET":
 | 
			
		||||
					body := objBody(codec, test.pod)
 | 
			
		||||
					return &http.Response{StatusCode: 200, Header: defaultHeader(), Body: body}, nil
 | 
			
		||||
				default:
 | 
			
		||||
					// Ensures no GET is performed when deleting by name
 | 
			
		||||
					t.Errorf("%s: unexpected request: %s %#v\n%#v", test.name, req.Method, req.URL, req)
 | 
			
		||||
 
 | 
			
		||||
@@ -44,7 +44,7 @@ var (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewCmdExplain returns a cobra command for swagger docs
 | 
			
		||||
func NewCmdExplain(f *cmdutil.Factory, out, cmdErr io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdExplain(f cmdutil.Factory, out, cmdErr io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "explain RESOURCE",
 | 
			
		||||
		Short:   "Documentation of resources",
 | 
			
		||||
@@ -61,7 +61,7 @@ func NewCmdExplain(f *cmdutil.Factory, out, cmdErr io.Writer) *cobra.Command {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RunExplain executes the appropriate steps to print a model's documentation
 | 
			
		||||
func RunExplain(f *cmdutil.Factory, out, cmdErr io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func RunExplain(f cmdutil.Factory, out, cmdErr io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	if len(args) == 0 {
 | 
			
		||||
		fmt.Fprint(cmdErr, "You must specify the type of resource to explain. ", valid_resources)
 | 
			
		||||
		return cmdutil.UsageError(cmd, "Required resource not specified.")
 | 
			
		||||
 
 | 
			
		||||
@@ -73,7 +73,7 @@ var (
 | 
			
		||||
		kubectl expose deployment nginx --port=80 --target-port=8000`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdExposeService(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdExposeService(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &resource.FilenameOptions{}
 | 
			
		||||
 | 
			
		||||
	validArgs, argAliases := []string{}, []string{}
 | 
			
		||||
@@ -123,7 +123,7 @@ func NewCmdExposeService(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunExpose(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
func RunExpose(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
	namespace, enforceNamespace, err := f.DefaultNamespace()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -81,7 +81,7 @@ var (
 | 
			
		||||
 | 
			
		||||
// NewCmdGet creates a command object for the generic "get" action, which
 | 
			
		||||
// retrieves one or more resources from a server.
 | 
			
		||||
func NewCmdGet(f *cmdutil.Factory, out io.Writer, errOut io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdGet(f cmdutil.Factory, out io.Writer, errOut io.Writer) *cobra.Command {
 | 
			
		||||
	options := &GetOptions{}
 | 
			
		||||
 | 
			
		||||
	// retrieve a list of handled resources from printer as valid args
 | 
			
		||||
@@ -125,7 +125,7 @@ func NewCmdGet(f *cmdutil.Factory, out io.Writer, errOut io.Writer) *cobra.Comma
 | 
			
		||||
 | 
			
		||||
// RunGet implements the generic Get command
 | 
			
		||||
// TODO: convert all direct flag accessors to a struct and pass that instead of cmd
 | 
			
		||||
func RunGet(f *cmdutil.Factory, out, errOut io.Writer, cmd *cobra.Command, args []string, options *GetOptions) error {
 | 
			
		||||
func RunGet(f cmdutil.Factory, out, errOut io.Writer, cmd *cobra.Command, args []string, options *GetOptions) error {
 | 
			
		||||
	if len(options.Raw) > 0 {
 | 
			
		||||
		restClient, err := f.RESTClient()
 | 
			
		||||
		if err != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ import (
 | 
			
		||||
const help_long = `Help provides help for any command in the application.
 | 
			
		||||
Simply type kubectl help [path to command] for full details.`
 | 
			
		||||
 | 
			
		||||
func NewCmdHelp(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdHelp(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:   "help [command] | STRING_TO_SEARCH",
 | 
			
		||||
		Short: "Help about any command",
 | 
			
		||||
 
 | 
			
		||||
@@ -88,7 +88,7 @@ var (
 | 
			
		||||
		kubectl label pods foo bar-`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdLabel(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdLabel(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &LabelOptions{}
 | 
			
		||||
 | 
			
		||||
	// retrieve a list of handled resources from printer as valid args
 | 
			
		||||
@@ -135,7 +135,7 @@ func NewCmdLabel(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Complete adapts from the command line args and factory to the data required.
 | 
			
		||||
func (o *LabelOptions) Complete(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string) (err error) {
 | 
			
		||||
func (o *LabelOptions) Complete(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string) (err error) {
 | 
			
		||||
	o.out = out
 | 
			
		||||
	o.local = cmdutil.GetFlagBool(cmd, "local")
 | 
			
		||||
	o.overwrite = cmdutil.GetFlagBool(cmd, "overwrite")
 | 
			
		||||
@@ -166,7 +166,7 @@ func (o *LabelOptions) Validate() error {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RunLabel does the work
 | 
			
		||||
func (o *LabelOptions) RunLabel(f *cmdutil.Factory, cmd *cobra.Command) error {
 | 
			
		||||
func (o *LabelOptions) RunLabel(f cmdutil.Factory, cmd *cobra.Command) error {
 | 
			
		||||
	cmdNamespace, enforceNamespace, err := f.DefaultNamespace()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -74,7 +74,7 @@ type LogsOptions struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewCmdLog creates a new pod logs command
 | 
			
		||||
func NewCmdLogs(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdLogs(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	o := &LogsOptions{}
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "logs [-f] [-p] POD [-c CONTAINER]",
 | 
			
		||||
@@ -111,7 +111,7 @@ func NewCmdLogs(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (o *LogsOptions) Complete(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func (o *LogsOptions) Complete(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	containerName := cmdutil.GetFlagString(cmd, "container")
 | 
			
		||||
	switch len(args) {
 | 
			
		||||
	case 0:
 | 
			
		||||
 
 | 
			
		||||
@@ -69,7 +69,7 @@ var (
 | 
			
		||||
		kubectl patch pod valid-pod --type='json' -p='[{"op": "replace", "path": "/spec/containers/0/image", "value":"new image"}]'`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdPatch(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdPatch(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &PatchOptions{}
 | 
			
		||||
 | 
			
		||||
	// retrieve a list of handled resources from printer as valid args
 | 
			
		||||
@@ -111,7 +111,7 @@ func NewCmdPatch(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunPatch(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, options *PatchOptions) error {
 | 
			
		||||
func RunPatch(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, options *PatchOptions) error {
 | 
			
		||||
	switch {
 | 
			
		||||
	case options.Local && len(args) != 0:
 | 
			
		||||
		return fmt.Errorf("cannot specify --local and server resources")
 | 
			
		||||
 
 | 
			
		||||
@@ -62,7 +62,7 @@ var (
 | 
			
		||||
		kubectl port-forward  mypod 0:5000`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdPortForward(f *cmdutil.Factory, cmdOut, cmdErr io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdPortForward(f cmdutil.Factory, cmdOut, cmdErr io.Writer) *cobra.Command {
 | 
			
		||||
	opts := &PortForwardOptions{
 | 
			
		||||
		PortForwarder: &defaultPortForwarder{
 | 
			
		||||
			cmdOut: cmdOut,
 | 
			
		||||
@@ -112,7 +112,7 @@ func (f *defaultPortForwarder) ForwardPorts(method string, url *url.URL, opts Po
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Complete completes all the required options for port-forward cmd.
 | 
			
		||||
func (o *PortForwardOptions) Complete(f *cmdutil.Factory, cmd *cobra.Command, args []string, cmdOut io.Writer, cmdErr io.Writer) error {
 | 
			
		||||
func (o *PortForwardOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []string, cmdOut io.Writer, cmdErr io.Writer) error {
 | 
			
		||||
	var err error
 | 
			
		||||
	o.PodName = cmdutil.GetFlagString(cmd, "pod")
 | 
			
		||||
	if len(o.PodName) == 0 && len(args) == 0 {
 | 
			
		||||
 
 | 
			
		||||
@@ -45,7 +45,7 @@ var (
 | 
			
		||||
		kubectl proxy --api-prefix=/k8s-api`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdProxy(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdProxy(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:   "proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix]",
 | 
			
		||||
		Short: "Run a proxy to the Kubernetes API server",
 | 
			
		||||
@@ -86,7 +86,7 @@ func NewCmdProxy(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunProxy(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command) error {
 | 
			
		||||
func RunProxy(f cmdutil.Factory, out io.Writer, cmd *cobra.Command) error {
 | 
			
		||||
	path := cmdutil.GetFlagString(cmd, "unix-socket")
 | 
			
		||||
	port := cmdutil.GetFlagInt(cmd, "port")
 | 
			
		||||
	address := cmdutil.GetFlagString(cmd, "address")
 | 
			
		||||
 
 | 
			
		||||
@@ -58,7 +58,7 @@ var (
 | 
			
		||||
		kubectl replace --force -f ./pod.json`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdReplace(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdReplace(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &resource.FilenameOptions{}
 | 
			
		||||
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
@@ -90,7 +90,7 @@ func NewCmdReplace(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunReplace(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
func RunReplace(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
	if len(os.Args) > 1 && os.Args[1] == "update" {
 | 
			
		||||
		printDeprecationWarning("replace", "update")
 | 
			
		||||
	}
 | 
			
		||||
@@ -163,7 +163,7 @@ func RunReplace(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []st
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func forceReplace(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, shortOutput bool, options *resource.FilenameOptions) error {
 | 
			
		||||
func forceReplace(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, shortOutput bool, options *resource.FilenameOptions) error {
 | 
			
		||||
	schema, err := f.Validator(cmdutil.GetFlagBool(cmd, "validate"), cmdutil.GetFlagString(cmd, "schema-cache-dir"))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -74,7 +74,7 @@ var (
 | 
			
		||||
	pollInterval, _ = time.ParseDuration("3s")
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdRollingUpdate(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdRollingUpdate(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &resource.FilenameOptions{}
 | 
			
		||||
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
@@ -141,7 +141,7 @@ func validateArguments(cmd *cobra.Command, filenames, args []string) error {
 | 
			
		||||
	return utilerrors.NewAggregate(errors)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunRollingUpdate(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
func RunRollingUpdate(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
	if len(os.Args) > 1 && os.Args[1] == "rollingupdate" {
 | 
			
		||||
		printDeprecationWarning("rolling-update", "rollingupdate")
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,7 @@ var (
 | 
			
		||||
		`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdRollout(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdRollout(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "rollout SUBCOMMAND",
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ var (
 | 
			
		||||
		kubectl rollout history deployment/abc --revision=3`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdRolloutHistory(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdRolloutHistory(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &resource.FilenameOptions{}
 | 
			
		||||
 | 
			
		||||
	validArgs := []string{"deployment"}
 | 
			
		||||
@@ -63,7 +63,7 @@ func NewCmdRolloutHistory(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunHistory(f *cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
func RunHistory(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
	if len(args) == 0 && cmdutil.IsFilenameEmpty(options.Filenames) {
 | 
			
		||||
		return cmdutil.UsageError(cmd, "Required resource not specified.")
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -58,7 +58,7 @@ var (
 | 
			
		||||
		kubectl rollout pause deployment/nginx`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdRolloutPause(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdRolloutPause(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &PauseConfig{}
 | 
			
		||||
 | 
			
		||||
	validArgs := []string{"deployment"}
 | 
			
		||||
@@ -90,7 +90,7 @@ func NewCmdRolloutPause(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (o *PauseConfig) CompletePause(f *cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []string) error {
 | 
			
		||||
func (o *PauseConfig) CompletePause(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []string) error {
 | 
			
		||||
	if len(args) == 0 && cmdutil.IsFilenameEmpty(o.Filenames) {
 | 
			
		||||
		return cmdutil.UsageError(cmd, cmd.Use)
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -56,7 +56,7 @@ var (
 | 
			
		||||
		kubectl rollout resume deployment/nginx`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdRolloutResume(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdRolloutResume(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &ResumeConfig{}
 | 
			
		||||
 | 
			
		||||
	validArgs := []string{"deployment"}
 | 
			
		||||
@@ -88,7 +88,7 @@ func NewCmdRolloutResume(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (o *ResumeConfig) CompleteResume(f *cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []string) error {
 | 
			
		||||
func (o *ResumeConfig) CompleteResume(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []string) error {
 | 
			
		||||
	if len(args) == 0 && cmdutil.IsFilenameEmpty(o.Filenames) {
 | 
			
		||||
		return cmdutil.UsageError(cmd, cmd.Use)
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -45,7 +45,7 @@ var (
 | 
			
		||||
		kubectl rollout status deployment/nginx`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdRolloutStatus(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdRolloutStatus(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &resource.FilenameOptions{}
 | 
			
		||||
 | 
			
		||||
	validArgs := []string{"deployment"}
 | 
			
		||||
@@ -70,7 +70,7 @@ func NewCmdRolloutStatus(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunStatus(f *cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
func RunStatus(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []string, options *resource.FilenameOptions) error {
 | 
			
		||||
	if len(args) == 0 && cmdutil.IsFilenameEmpty(options.Filenames) {
 | 
			
		||||
		return cmdutil.UsageError(cmd, "Required resource not specified.")
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -59,7 +59,7 @@ var (
 | 
			
		||||
		kubectl rollout undo --dry-run=true deployment/abc`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdRolloutUndo(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdRolloutUndo(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &UndoOptions{}
 | 
			
		||||
 | 
			
		||||
	validArgs := []string{"deployment"}
 | 
			
		||||
@@ -93,7 +93,7 @@ func NewCmdRolloutUndo(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (o *UndoOptions) CompleteUndo(f *cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []string) error {
 | 
			
		||||
func (o *UndoOptions) CompleteUndo(f cmdutil.Factory, cmd *cobra.Command, out io.Writer, args []string) error {
 | 
			
		||||
	if len(args) == 0 && cmdutil.IsFilenameEmpty(o.Filenames) {
 | 
			
		||||
		return cmdutil.UsageError(cmd, "Required resource not specified.")
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -83,7 +83,7 @@ var (
 | 
			
		||||
		kubectl run pi --schedule="0/5 * * * ?" --image=perl --restart=OnFailure -- perl -Mbignum=bpi -wle 'print bpi(2000)'`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdRun(f *cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdRun(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use: "run NAME --image=image [--env=\"key=value\"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [--command] -- [COMMAND] [args...]",
 | 
			
		||||
		// run-container is deprecated
 | 
			
		||||
@@ -133,7 +133,7 @@ func addRunFlags(cmd *cobra.Command) {
 | 
			
		||||
	cmd.Flags().String("schedule", "", "A schedule in the Cron format the job should be run with.")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Run(f *cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *cobra.Command, args []string, argsLenAtDash int) error {
 | 
			
		||||
func Run(f cmdutil.Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *cobra.Command, args []string, argsLenAtDash int) error {
 | 
			
		||||
	if len(os.Args) > 1 && os.Args[1] == "run-container" {
 | 
			
		||||
		printDeprecationWarning("run", "run-container")
 | 
			
		||||
	}
 | 
			
		||||
@@ -456,7 +456,7 @@ func waitForPodTerminated(podClient coreclient.PodsGetter, ns, name string, out
 | 
			
		||||
	return pod, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func handleAttachPod(f *cmdutil.Factory, podClient coreclient.PodsGetter, ns, name string, opts *AttachOptions, quiet bool) error {
 | 
			
		||||
func handleAttachPod(f cmdutil.Factory, podClient coreclient.PodsGetter, ns, name string, opts *AttachOptions, quiet bool) error {
 | 
			
		||||
	pod, err := waitForPodRunning(podClient, ns, name, opts.Out, quiet)
 | 
			
		||||
	if err != nil && err != conditions.ErrPodCompleted {
 | 
			
		||||
		return err
 | 
			
		||||
@@ -535,7 +535,7 @@ func verifyImagePullPolicy(cmd *cobra.Command) error {
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func generateService(f *cmdutil.Factory, cmd *cobra.Command, args []string, serviceGenerator string, paramsIn map[string]interface{}, namespace string, out io.Writer) error {
 | 
			
		||||
func generateService(f cmdutil.Factory, cmd *cobra.Command, args []string, serviceGenerator string, paramsIn map[string]interface{}, namespace string, out io.Writer) error {
 | 
			
		||||
	generators := f.Generators("expose")
 | 
			
		||||
	generator, found := generators[serviceGenerator]
 | 
			
		||||
	if !found {
 | 
			
		||||
@@ -583,7 +583,7 @@ func generateService(f *cmdutil.Factory, cmd *cobra.Command, args []string, serv
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func createGeneratedObject(f *cmdutil.Factory, cmd *cobra.Command, generator kubectl.Generator, names []kubectl.GeneratorParam, params map[string]interface{}, overrides, namespace string) (runtime.Object, string, meta.RESTMapper, *meta.RESTMapping, error) {
 | 
			
		||||
func createGeneratedObject(f cmdutil.Factory, cmd *cobra.Command, generator kubectl.Generator, names []kubectl.GeneratorParam, params map[string]interface{}, overrides, namespace string) (runtime.Object, string, meta.RESTMapper, *meta.RESTMapping, error) {
 | 
			
		||||
	err := kubectl.ValidateParams(names, params)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, "", nil, nil, err
 | 
			
		||||
 
 | 
			
		||||
@@ -56,7 +56,7 @@ var (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NewCmdScale returns a cobra command with the appropriate configuration and flags to run scale
 | 
			
		||||
func NewCmdScale(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdScale(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &resource.FilenameOptions{}
 | 
			
		||||
 | 
			
		||||
	validArgs := []string{"deployment", "replicaset", "replicationcontroller", "job"}
 | 
			
		||||
@@ -93,7 +93,7 @@ func NewCmdScale(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RunScale executes the scaling
 | 
			
		||||
func RunScale(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, shortOutput bool, options *resource.FilenameOptions) error {
 | 
			
		||||
func RunScale(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string, shortOutput bool, options *resource.FilenameOptions) error {
 | 
			
		||||
	if len(os.Args) > 1 && os.Args[1] == "resize" {
 | 
			
		||||
		printDeprecationWarning("scale", "resize")
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@ var (
 | 
			
		||||
	set_example = dedent.Dedent(``)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdSet(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdSet(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:     "set SUBCOMMAND",
 | 
			
		||||
 
 | 
			
		||||
@@ -78,7 +78,7 @@ var (
 | 
			
		||||
		kubectl set image -f path/to/file.yaml nginx=nginx:1.9.1 --local -o yaml`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdImage(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdImage(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &ImageOptions{
 | 
			
		||||
		Out: out,
 | 
			
		||||
	}
 | 
			
		||||
@@ -105,7 +105,7 @@ func NewCmdImage(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (o *ImageOptions) Complete(f *cmdutil.Factory, cmd *cobra.Command, args []string) error {
 | 
			
		||||
func (o *ImageOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []string) error {
 | 
			
		||||
	o.Mapper, o.Typer = f.Object()
 | 
			
		||||
	o.UpdatePodSpecForObject = f.UpdatePodSpecForObject
 | 
			
		||||
	o.Encoder = f.JSONEncoder()
 | 
			
		||||
 
 | 
			
		||||
@@ -49,7 +49,7 @@ var (
 | 
			
		||||
		kubectl stop -f path/to/resources`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdStop(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdStop(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &resource.FilenameOptions{}
 | 
			
		||||
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
@@ -75,7 +75,7 @@ func NewCmdStop(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunStop(f *cmdutil.Factory, cmd *cobra.Command, args []string, out io.Writer, options *resource.FilenameOptions) error {
 | 
			
		||||
func RunStop(f cmdutil.Factory, cmd *cobra.Command, args []string, out io.Writer, options *resource.FilenameOptions) error {
 | 
			
		||||
	cmdNamespace, enforceNamespace, err := f.DefaultNamespace()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -47,7 +47,7 @@ type TaintOptions struct {
 | 
			
		||||
	selector       string
 | 
			
		||||
	overwrite      bool
 | 
			
		||||
	all            bool
 | 
			
		||||
	f              *cmdutil.Factory
 | 
			
		||||
	f              cmdutil.Factory
 | 
			
		||||
	out            io.Writer
 | 
			
		||||
	cmd            *cobra.Command
 | 
			
		||||
}
 | 
			
		||||
@@ -73,7 +73,7 @@ var (
 | 
			
		||||
		kubectl taint nodes foo dedicated-`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdTaint(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdTaint(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &TaintOptions{}
 | 
			
		||||
 | 
			
		||||
	validArgs := []string{"node"}
 | 
			
		||||
@@ -220,7 +220,7 @@ func parseTaints(spec []string) ([]api.Taint, []api.Taint, error) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Complete adapts from the command line args and factory to the data required.
 | 
			
		||||
func (o *TaintOptions) Complete(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string) (err error) {
 | 
			
		||||
func (o *TaintOptions) Complete(f cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string) (err error) {
 | 
			
		||||
	namespace, _, err := f.DefaultNamespace()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,7 @@ var (
 | 
			
		||||
		The top command allows you to see the resource consumption for nodes or pods.`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdTop(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdTop(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &TopOptions{}
 | 
			
		||||
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
@@ -55,6 +55,6 @@ func NewCmdTop(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (o TopOptions) RunTop(f *cmdutil.Factory, cmd *cobra.Command, args []string, out io.Writer) error {
 | 
			
		||||
func (o TopOptions) RunTop(f cmdutil.Factory, cmd *cobra.Command, args []string, out io.Writer) error {
 | 
			
		||||
	return cmd.Help()
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -53,7 +53,7 @@ var (
 | 
			
		||||
		  kubectl top node NODE_NAME`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdTopNode(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdTopNode(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &TopNodeOptions{}
 | 
			
		||||
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
@@ -78,7 +78,7 @@ func NewCmdTopNode(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (o *TopNodeOptions) Complete(f *cmdutil.Factory, cmd *cobra.Command, args []string, out io.Writer) error {
 | 
			
		||||
func (o *TopNodeOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []string, out io.Writer) error {
 | 
			
		||||
	var err error
 | 
			
		||||
	if len(args) == 1 {
 | 
			
		||||
		o.ResourceName = args[0]
 | 
			
		||||
 
 | 
			
		||||
@@ -69,7 +69,7 @@ var (
 | 
			
		||||
		  kubectl top pod -l name=myLabel`)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdTopPod(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdTopPod(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	options := &TopPodOptions{}
 | 
			
		||||
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
@@ -96,7 +96,7 @@ func NewCmdTopPod(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (o *TopPodOptions) Complete(f *cmdutil.Factory, cmd *cobra.Command, args []string, out io.Writer) error {
 | 
			
		||||
func (o *TopPodOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []string, out io.Writer) error {
 | 
			
		||||
	var err error
 | 
			
		||||
	if len(args) == 1 {
 | 
			
		||||
		o.ResourceName = args[0]
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,7 @@ import (
 | 
			
		||||
	cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func NewCmdVersion(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
func NewCmdVersion(f cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	cmd := &cobra.Command{
 | 
			
		||||
		Use:   "version",
 | 
			
		||||
		Short: "Print the client and server version information",
 | 
			
		||||
@@ -40,7 +40,7 @@ func NewCmdVersion(f *cmdutil.Factory, out io.Writer) *cobra.Command {
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RunVersion(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command) error {
 | 
			
		||||
func RunVersion(f cmdutil.Factory, out io.Writer, cmd *cobra.Command) error {
 | 
			
		||||
	kubectl.GetClientVersion(out)
 | 
			
		||||
	if cmdutil.GetFlagBool(cmd, "client") {
 | 
			
		||||
		return nil
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user