adds the primary `debug` command to the cli as a hidden command option. Also includes the scaffold for a `metadata-files` command that could be used to print out the metadata files in the backup. --- #### Does this PR need a docs update or release note? - [x] ⛔ No #### Type of change - [x] 🌻 Feature #### Test Plan - [x] ⚡ Unit test
100 lines
2.5 KiB
Go
100 lines
2.5 KiB
Go
package flags
|
|
|
|
import (
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
const (
|
|
BackupFN = "backup"
|
|
BackupIDsFN = "backups"
|
|
AWSAccessKeyFN = "aws-access-key"
|
|
AWSSecretAccessKeyFN = "aws-secret-access-key"
|
|
AWSSessionTokenFN = "aws-session-token"
|
|
|
|
// Corso Flags
|
|
PassphraseFN = "passphrase"
|
|
NewPassphraseFN = "new-passphrase"
|
|
SucceedIfExistsFN = "succeed-if-exists"
|
|
)
|
|
|
|
var (
|
|
BackupIDFV string
|
|
BackupIDsFV []string
|
|
AWSAccessKeyFV string
|
|
AWSSecretAccessKeyFV string
|
|
AWSSessionTokenFV string
|
|
PassphraseFV string
|
|
NewPhasephraseFV string
|
|
SucceedIfExistsFV bool
|
|
)
|
|
|
|
// AddMultipleBackupIDsFlag adds the --backups flag.
|
|
func AddMultipleBackupIDsFlag(cmd *cobra.Command, require bool) {
|
|
cmd.Flags().StringSliceVar(
|
|
&BackupIDsFV,
|
|
BackupIDsFN, nil,
|
|
"',' separated IDs of the backup to retrieve")
|
|
|
|
if require {
|
|
cobra.CheckErr(cmd.MarkFlagRequired(BackupIDsFN))
|
|
}
|
|
}
|
|
|
|
// AddBackupIDFlag adds the --backup flag.
|
|
func AddBackupIDFlag(cmd *cobra.Command, require bool) {
|
|
cmd.Flags().StringVar(&BackupIDFV, BackupFN, "", "ID of the backup to retrieve.")
|
|
|
|
if require {
|
|
cobra.CheckErr(cmd.MarkFlagRequired(BackupFN))
|
|
}
|
|
}
|
|
|
|
// ---------------------------------------------------------------------------
|
|
// storage
|
|
// ---------------------------------------------------------------------------
|
|
|
|
func AddAllStorageFlags(cmd *cobra.Command) {
|
|
AddCorsoPassphaseFlags(cmd)
|
|
// AddAzureCredsFlags is added by ProviderFlags
|
|
AddAWSCredsFlags(cmd)
|
|
}
|
|
|
|
func AddAWSCredsFlags(cmd *cobra.Command) {
|
|
fs := cmd.Flags()
|
|
fs.StringVar(&AWSAccessKeyFV, AWSAccessKeyFN, "", "S3 access key")
|
|
fs.StringVar(&AWSSecretAccessKeyFV, AWSSecretAccessKeyFN, "", "S3 access secret")
|
|
fs.StringVar(&AWSSessionTokenFV, AWSSessionTokenFN, "", "S3 session token")
|
|
}
|
|
|
|
// M365 flags
|
|
func AddCorsoPassphaseFlags(cmd *cobra.Command) {
|
|
fs := cmd.Flags()
|
|
fs.StringVar(
|
|
&PassphraseFV,
|
|
PassphraseFN,
|
|
"",
|
|
"Passphrase to protect encrypted repository contents")
|
|
}
|
|
|
|
// M365 flags
|
|
func AddUpdatePassphraseFlags(cmd *cobra.Command, require bool) {
|
|
fs := cmd.Flags()
|
|
fs.StringVar(
|
|
&NewPhasephraseFV,
|
|
NewPassphraseFN,
|
|
"",
|
|
"update Corso passphrase for repo")
|
|
|
|
if require {
|
|
cobra.CheckErr(cmd.MarkFlagRequired(NewPassphraseFN))
|
|
}
|
|
}
|
|
|
|
// ---------------------------------------------------------------------------
|
|
// Provider
|
|
// ---------------------------------------------------------------------------
|
|
|
|
func AddAllProviderFlags(cmd *cobra.Command) {
|
|
AddAzureCredsFlags(cmd)
|
|
}
|