MCPcopy Create free account
hub / github.com/cloudnative-pg/cloudnative-pg / createBackup

Function createBackup

internal/cmd/plugin/backup/cmd.go:235–265  ·  view source on GitHub ↗

createBackup handles the Backup resource creation

(ctx context.Context, options backupCommandOptions)

Source from the content-addressed store, hash-verified

233
234// createBackup handles the Backup resource creation
235func 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
267func parseOptionalBooleanString(rawBool string) (*bool, error) {
268 if rawBool == "" {

Callers 1

NewCmdFunction · 0.85

Calls 3

LabelClusterNameFunction · 0.92
CreateMethod · 0.65

Tested by

no test coverage detected