<!-- PR description--> allow deletion of multiple IDs in single command #### Does this PR need a docs update or release note? - [ ] ✅ Yes, it's included - [ ] 🕐 Yes, but in a later PR - [ ] ⛔ No #### Type of change <!--- Please check the type of change your PR introduces: ---> - [ ] 🌻 Feature #### Issue(s) <!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. --> * https://github.com/alcionai/corso/issues/4119 #### Test Plan <!-- How will this be tested prior to merging.--> - [ ] 💪 Manual - [ ] 💚 E2E
83 lines
2.1 KiB
Go
83 lines
2.1 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
|
|
CorsoPassphraseFN = "passphrase"
|
|
SucceedIfExistsFN = "succeed-if-exists"
|
|
)
|
|
|
|
var (
|
|
BackupIDFV string
|
|
BackupIDsFV []string
|
|
AWSAccessKeyFV string
|
|
AWSSecretAccessKeyFV string
|
|
AWSSessionTokenFV string
|
|
CorsoPassphraseFV 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(&CorsoPassphraseFV,
|
|
CorsoPassphraseFN,
|
|
"",
|
|
"Passphrase to protect encrypted repository contents")
|
|
}
|
|
|
|
// ---------------------------------------------------------------------------
|
|
// Provider
|
|
// ---------------------------------------------------------------------------
|
|
|
|
func AddAllProviderFlags(cmd *cobra.Command) {
|
|
AddAzureCredsFlags(cmd)
|
|
}
|