From f7adc4dfd18915a1b5436b4c8adf681c8afb626b Mon Sep 17 00:00:00 2001 From: Carlos Panato Date: Wed, 29 Jan 2020 09:50:30 +0100 Subject: [PATCH] check if schedule have a backup Signed-off-by: Carlos Panato --- pkg/cmd/cli/restore/create.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkg/cmd/cli/restore/create.go b/pkg/cmd/cli/restore/create.go index 1b9f3735b..44ebc6f70 100644 --- a/pkg/cmd/cli/restore/create.go +++ b/pkg/cmd/cli/restore/create.go @@ -165,10 +165,19 @@ func (o *CreateOptions) Validate(c *cobra.Command, args []string, f client.Facto return errors.New("Velero client is not set; unable to proceed") } - if o.BackupName != "" { + switch { + case o.BackupName != "": if _, err := o.client.VeleroV1().Backups(f.Namespace()).Get(o.BackupName, metav1.GetOptions{}); err != nil { return err } + case o.ScheduleName != "": + scheduleItems, err := o.client.VeleroV1().Backups(f.Namespace()).List(metav1.ListOptions{LabelSelector: fmt.Sprintf("%s=%s", api.ScheduleNameLabel, o.ScheduleName)}) + if err != nil { + return err + } + if len(scheduleItems.Items) == 0 { + return errors.Errorf("No backups found for the schedule %s", o.ScheduleName) + } } return nil