package flags import ( "github.com/spf13/cobra" "github.com/alcionai/canario/src/pkg/control/repository" ) const ( MaintenanceModeFN = "mode" ForceMaintenanceFN = "force" UserMaintenanceFN = "user" HostnameMaintenanceFN = "host" ) var ( MaintenanceModeFV string ForceMaintenanceFV bool UserMaintenanceFV string HostnameMaintenanceFV string ) func AddMaintenanceModeFlag(cmd *cobra.Command) { fs := cmd.Flags() fs.StringVar( &MaintenanceModeFV, MaintenanceModeFN, repository.CompleteMaintenance.String(), "Type of maintenance operation to run ('"+ repository.MetadataMaintenance.String()+"' | '"+ repository.CompleteMaintenance.String()+"' )") } func AddForceMaintenanceFlag(cmd *cobra.Command) { fs := cmd.Flags() fs.BoolVar( &ForceMaintenanceFV, ForceMaintenanceFN, false, "Force maintenance. Caution: user must ensure this is not run concurrently on a single repo") cobra.CheckErr(fs.MarkHidden(ForceMaintenanceFN)) } func AddMaintenanceUserFlag(cmd *cobra.Command) { fs := cmd.Flags() fs.StringVar( &UserMaintenanceFV, UserMaintenanceFN, "", "Attempt to run maintenance as the specified user for the repo owner user") } func AddMaintenanceHostnameFlag(cmd *cobra.Command) { fs := cmd.Flags() fs.StringVar( &HostnameMaintenanceFV, HostnameMaintenanceFN, "", "Attempt to run maintenance with the specified hostname for the repo owner hostname") }