corso/src/cli/flags/repo.go
neha_gupta adbc7fe03e
allow delete of multiple backup IDs (#4335)
<!-- 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
2023-09-26 08:53:14 +00:00

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)
}