Merge pull request #124592 from ah8ad3/add-kubectl-set-completion

Add completion for kubectl set image

Kubernetes-commit: 0590bb1ac495ae8af2a573f879408e48800da2c5
This commit is contained in:
Kubernetes Publisher 2024-05-06 23:20:51 -07:00
commit f825bd0b72
3 changed files with 6 additions and 3 deletions

2
go.mod
View File

@ -33,7 +33,7 @@ require (
k8s.io/api v0.0.0-20240506162732-aa3ed7cd8078
k8s.io/apimachinery v0.0.0-20240503202409-c9c3e94f52f0
k8s.io/cli-runtime v0.0.0-20240429215938-3d3e8d0680c7
k8s.io/client-go v0.0.0-20240506163139-d3682da14f72
k8s.io/client-go v0.0.0-20240507003106-4ebe42d8c9c1
k8s.io/component-base v0.0.0-20240429214345-5e40e2a98ae4
k8s.io/component-helpers v0.0.0-20240429214446-60a3ae8b14fc
k8s.io/klog/v2 v2.120.1

4
go.sum
View File

@ -282,8 +282,8 @@ k8s.io/apimachinery v0.0.0-20240503202409-c9c3e94f52f0 h1:7WYV6yFZ33GBiOXTMsfUjl
k8s.io/apimachinery v0.0.0-20240503202409-c9c3e94f52f0/go.mod h1:+hpAhBheGa7Ub4X6JfKqjEeACgGYZqZv+ILGzigzVGU=
k8s.io/cli-runtime v0.0.0-20240429215938-3d3e8d0680c7 h1:tNbe0f4v+nrx+R01/065Tg094RN3+DTtPSvbRMhi/98=
k8s.io/cli-runtime v0.0.0-20240429215938-3d3e8d0680c7/go.mod h1:0J9X6UV4xHT0hxsT4wBi++13brY9XghjH99mMPivXLw=
k8s.io/client-go v0.0.0-20240506163139-d3682da14f72 h1:cQdjRQt3SH/YrjbP9pO/Sfl0a2MhapwPqFajnzc7Guk=
k8s.io/client-go v0.0.0-20240506163139-d3682da14f72/go.mod h1:MYfNDqUOUfbQselRT7Mq27A9aSTUTs5l5t/pcXeyaNY=
k8s.io/client-go v0.0.0-20240507003106-4ebe42d8c9c1 h1:RX3OqgOyuQAnEeY0Ht6AFN5nY5sPxL/tQM/6XX77Pi4=
k8s.io/client-go v0.0.0-20240507003106-4ebe42d8c9c1/go.mod h1:MYfNDqUOUfbQselRT7Mq27A9aSTUTs5l5t/pcXeyaNY=
k8s.io/component-base v0.0.0-20240429214345-5e40e2a98ae4 h1:Ct5j9tCEkBD5KPM/BqtAtA6rgt8brHGGr8l6eanBOmY=
k8s.io/component-base v0.0.0-20240429214345-5e40e2a98ae4/go.mod h1:B3AGdGZxZxR1amewMS5PQgUfLsPwZWms/97uvjxc5O8=
k8s.io/component-helpers v0.0.0-20240429214446-60a3ae8b14fc h1:AjAfCw+uNLwXRHnLtISHxJsLSg4P2/ScDA+codG/DmE=

View File

@ -34,6 +34,7 @@ import (
cmdutil "k8s.io/kubectl/pkg/cmd/util"
"k8s.io/kubectl/pkg/polymorphichelpers"
"k8s.io/kubectl/pkg/scheme"
"k8s.io/kubectl/pkg/util/completion"
"k8s.io/kubectl/pkg/util/i18n"
"k8s.io/kubectl/pkg/util/templates"
)
@ -112,6 +113,7 @@ func NewImageOptions(streams genericiooptions.IOStreams) *SetImageOptions {
// NewCmdImage returns an initialized Command instance for the 'set image' sub command
func NewCmdImage(f cmdutil.Factory, streams genericiooptions.IOStreams) *cobra.Command {
o := NewImageOptions(streams)
validArgs := []string{"daemonsets", "deployments", "pods", "cronjobs", "replicasets", "replicationcontrollers", "statefulsets"}
cmd := &cobra.Command{
Use: "image (-f FILENAME | TYPE NAME) CONTAINER_NAME_1=CONTAINER_IMAGE_1 ... CONTAINER_NAME_N=CONTAINER_IMAGE_N",
@ -119,6 +121,7 @@ func NewCmdImage(f cmdutil.Factory, streams genericiooptions.IOStreams) *cobra.C
Short: i18n.T("Update the image of a pod template"),
Long: imageLong,
Example: imageExample,
ValidArgsFunction: completion.SpecifiedResourceTypeAndNameNoRepeatCompletionFunc(f, validArgs),
Run: func(cmd *cobra.Command, args []string) {
cmdutil.CheckErr(o.Complete(f, cmd, args))
cmdutil.CheckErr(o.Validate())