Skip to content

Commit 9e7ca87

Browse files
committed
Set schedule and image flags required for create cronjob
1 parent a82d71c commit 9e7ca87

File tree

2 files changed

+14
-23
lines changed

2 files changed

+14
-23
lines changed

staging/src/k8s.io/kubectl/pkg/cmd/create/create_cronjob.go

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,14 @@ func NewCreateCronJobOptions(ioStreams genericclioptions.IOStreams) *CreateCronJ
8080
func NewCmdCreateCronJob(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command {
8181
o := NewCreateCronJobOptions(ioStreams)
8282
cmd := &cobra.Command{
83-
Use: "cronjob NAME --image=image --schedule='0/5 * * * ?' -- [COMMAND] [args...]",
84-
Aliases: []string{"cj"},
85-
Short: cronjobLong,
86-
Long: cronjobLong,
87-
Example: cronjobExample,
83+
Use: "cronjob NAME --image=image --schedule='0/5 * * * ?' -- [COMMAND] [args...]",
84+
DisableFlagsInUseLine: false,
85+
Aliases: []string{"cj"},
86+
Short: cronjobLong,
87+
Long: cronjobLong,
88+
Example: cronjobExample,
8889
Run: func(cmd *cobra.Command, args []string) {
8990
cmdutil.CheckErr(o.Complete(f, cmd, args))
90-
cmdutil.CheckErr(o.Validate())
9191
cmdutil.CheckErr(o.Run())
9292
},
9393
}
@@ -98,7 +98,9 @@ func NewCmdCreateCronJob(f cmdutil.Factory, ioStreams genericclioptions.IOStream
9898
cmdutil.AddValidateFlags(cmd)
9999
cmdutil.AddDryRunFlag(cmd)
100100
cmd.Flags().StringVar(&o.Image, "image", o.Image, "Image name to run.")
101+
cmd.MarkFlagRequired("image")
101102
cmd.Flags().StringVar(&o.Schedule, "schedule", o.Schedule, "A schedule in the Cron format the job should be run with.")
103+
cmd.MarkFlagRequired("schedule")
102104
cmd.Flags().StringVar(&o.Restart, "restart", o.Restart, "job's restart policy. supported values: OnFailure, Never")
103105
cmdutil.AddFieldManagerFlagVar(cmd, &o.FieldManager, "kubectl-create")
104106

@@ -158,20 +160,8 @@ func (o *CreateCronJobOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, a
158160
return nil
159161
}
160162

161-
func (o *CreateCronJobOptions) Validate() error {
162-
if len(o.Image) == 0 {
163-
return fmt.Errorf("--image must be specified")
164-
}
165-
if len(o.Schedule) == 0 {
166-
return fmt.Errorf("--schedule must be specified")
167-
}
168-
return nil
169-
}
170-
171163
func (o *CreateCronJobOptions) Run() error {
172-
var cronjob *batchv1beta1.CronJob
173-
cronjob = o.createCronJob()
174-
164+
cronjob := o.createCronJob()
175165
if o.DryRunStrategy != cmdutil.DryRunClient {
176166
createOptions := metav1.CreateOptions{}
177167
if o.FieldManager != "" {

staging/src/k8s.io/kubectl/pkg/cmd/create/create_job.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,11 @@ func NewCreateJobOptions(ioStreams genericclioptions.IOStreams) *CreateJobOption
8585
func NewCmdCreateJob(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command {
8686
o := NewCreateJobOptions(ioStreams)
8787
cmd := &cobra.Command{
88-
Use: "job NAME --image=image [--from=cronjob/name] -- [COMMAND] [args...]",
89-
Short: jobLong,
90-
Long: jobLong,
91-
Example: jobExample,
88+
Use: "job NAME --image=image [--from=cronjob/name] -- [COMMAND] [args...]",
89+
DisableFlagsInUseLine: true,
90+
Short: jobLong,
91+
Long: jobLong,
92+
Example: jobExample,
9293
Run: func(cmd *cobra.Command, args []string) {
9394
cmdutil.CheckErr(o.Complete(f, cmd, args))
9495
cmdutil.CheckErr(o.Validate())

0 commit comments

Comments
 (0)