Skip to content

Commit 64a75f1

Browse files
authored
CLOUDP-83457: [mongocli] fix required flag for backup restore (#621)
1 parent 6a3b48b commit 64a75f1

File tree

1 file changed

+7
-18
lines changed

1 file changed

+7
-18
lines changed

internal/cli/opsmanager/backup/restores_start.go

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,8 @@ func (opts *RestoresStartOpts) Run() error {
7070
}
7171

7272
func (opts *RestoresStartOpts) newContinuousJobRequest() *atlas.ContinuousJobRequest {
73-
request := new(atlas.ContinuousJobRequest)
73+
request := &atlas.ContinuousJobRequest{SnapshotID: opts.snapshotID}
7474
request.Delivery.MethodName = opts.method
75-
request.SnapshotID = opts.snapshotID
7675

7776
if opts.isAutomatedRestore() {
7877
request.Delivery.TargetGroupID = opts.targetProjectID
@@ -159,10 +158,7 @@ func markRequiredAutomatedRestoreFlags(cmd *cobra.Command) error {
159158
return err
160159
}
161160

162-
if config.Service() == config.CloudService {
163-
return cmd.MarkFlagRequired(flag.ClusterName)
164-
}
165-
return cmd.MarkFlagRequired(flag.ClusterID)
161+
return cmd.MarkFlagRequired(flag.TargetClusterID)
166162
}
167163

168164
// mongocli atlas backup(s) restore(s) job(s) start
@@ -174,6 +170,7 @@ func RestoresStartBuilder() *cobra.Command {
174170
Args: require.ExactValidArgs(1),
175171
ValidArgs: []string{automatedRestore, httpRestore},
176172
PreRunE: func(cmd *cobra.Command, args []string) error {
173+
opts.method = args[0]
177174
if opts.isAutomatedRestore() {
178175
if err := markRequiredAutomatedRestoreFlags(cmd); err != nil {
179176
return err
@@ -182,33 +179,25 @@ func RestoresStartBuilder() *cobra.Command {
182179
return opts.PreRunE(
183180
opts.ValidateProjectID,
184181
opts.initStore,
182+
opts.validateParams,
185183
opts.InitOutput(cmd.OutOrStdout(), createTemplate),
186184
)
187185
},
188186
RunE: func(cmd *cobra.Command, args []string) error {
189-
opts.method = args[0]
190-
191-
if e := opts.validateParams(); e != nil {
192-
return e
193-
}
194-
195187
return opts.Run()
196188
},
197189
}
198190

199191
cmd.Flags().StringVar(&opts.snapshotID, flag.SnapshotID, "", usage.SnapshotID)
200-
// C/OM uses cluster ID
201192
cmd.Flags().StringVar(&opts.clusterID, flag.ClusterID, "", usage.ClusterID)
202-
203-
// For Automatic restore
204-
cmd.Flags().StringVar(&opts.targetProjectID, flag.TargetProjectID, "", usage.TargetProjectID)
205-
// C/OM uses cluster ID
206193
cmd.Flags().StringVar(&opts.targetClusterID, flag.TargetClusterID, "", usage.TargetClusterID)
207194
cmd.Flags().StringVar(&opts.checkpointID, flag.CheckpointID, "", usage.CheckpointID)
208195
cmd.Flags().StringVar(&opts.oplogTS, flag.OplogTS, "", usage.OplogTS)
209196
cmd.Flags().Int64Var(&opts.oplogInc, flag.OplogInc, 0, usage.OplogInc)
210197
cmd.Flags().Float64Var(&opts.pointInTimeUTCMillis, flag.PointInTimeUTCMillis, 0, usage.PointInTimeUTCMillis)
211198

199+
// For Automatic restore
200+
cmd.Flags().StringVar(&opts.targetProjectID, flag.TargetProjectID, "", usage.TargetProjectID)
212201
// For http restore
213202
cmd.Flags().StringVar(&opts.expires, flag.Expires, "", usage.Expires)
214203
cmd.Flags().Int64Var(&opts.maxDownloads, flag.MaxDownloads, 0, usage.MaxDownloads)
@@ -218,6 +207,6 @@ func RestoresStartBuilder() *cobra.Command {
218207
cmd.Flags().StringVarP(&opts.Output, flag.Output, flag.OutputShort, "", usage.FormatOut)
219208

220209
_ = cmd.MarkFlagRequired(flag.ClusterID)
221-
_ = cmd.MarkFlagRequired(flag.TargetClusterID)
210+
222211
return cmd
223212
}

0 commit comments

Comments
 (0)