createBackup handles the Backup resource creation
(ctx context.Context, options backupCommandOptions)
| 233 | |
| 234 | // createBackup handles the Backup resource creation |
| 235 | func createBackup(ctx context.Context, options backupCommandOptions) error { |
| 236 | backup := apiv1.Backup{ |
| 237 | ObjectMeta: metav1.ObjectMeta{ |
| 238 | Namespace: plugin.Namespace, |
| 239 | Name: options.backupName, |
| 240 | }, |
| 241 | Spec: apiv1.BackupSpec{ |
| 242 | Cluster: apiv1.LocalObjectReference{ |
| 243 | Name: options.clusterName, |
| 244 | }, |
| 245 | Target: options.target, |
| 246 | Method: options.method, |
| 247 | Online: options.online, |
| 248 | OnlineConfiguration: options.getOnlineConfiguration(), |
| 249 | }, |
| 250 | } |
| 251 | utils.LabelClusterName(&backup.ObjectMeta, options.clusterName) |
| 252 | |
| 253 | if len(options.pluginName) > 0 { |
| 254 | backup.Spec.PluginConfiguration = &apiv1.BackupPluginConfiguration{ |
| 255 | Name: options.pluginName, |
| 256 | Parameters: options.pluginParameters, |
| 257 | } |
| 258 | } |
| 259 | |
| 260 | err := plugin.Client.Create(ctx, &backup) |
| 261 | if err == nil { |
| 262 | fmt.Printf("backup/%v created\n", backup.Name) |
| 263 | } |
| 264 | return err |
| 265 | } |
| 266 | |
| 267 | func parseOptionalBooleanString(rawBool string) (*bool, error) { |
| 268 | if rawBool == "" { |
no test coverage detected