in testSuite/cmd/clean.go [76:161]
func init() {
resourceURL := ""
serviceType := EServiceType.Blob()
resourceType := EResourceType.SingleFile()
var serviceTypeStr string
var resourceTypeStr string
cleanCmd := &cobra.Command{
Use: "clean",
Aliases: []string{"clean"},
Short: "clean deletes everything inside the container.",
Args: func(cmd *cobra.Command, args []string) error {
if len(args) > 1 {
return fmt.Errorf("invalid arguments for clean command")
}
resourceURL = args[0]
return nil
},
Run: func(cmd *cobra.Command, args []string) {
err := (&serviceType).Parse(serviceTypeStr)
if err != nil {
panic(fmt.Errorf("fail to parse service type %q, %v", serviceTypeStr, err))
}
err = (&resourceType).Parse(resourceTypeStr)
if err != nil {
panic(fmt.Errorf("fail to parse resource type %q, %v", resourceTypeStr, err))
}
switch serviceType {
case EServiceType.Blob():
switch resourceType {
case EResourceType.Bucket():
cleanContainer(resourceURL)
case EResourceType.SingleFile():
cleanBlob(resourceURL)
case EResourceType.Account():
cleanBlobAccount(resourceURL)
}
case EServiceType.File():
switch resourceType {
case EResourceType.Bucket():
cleanShare(resourceURL)
case EResourceType.SingleFile():
cleanFile(resourceURL)
case EResourceType.Account():
cleanFileAccount(resourceURL)
}
case EServiceType.BlobFS():
switch resourceType {
case EResourceType.Bucket():
cleanFileSystem(resourceURL)
case EResourceType.SingleFile():
cleanBfsFile(resourceURL)
case EResourceType.Account():
cleanBfsAccount(resourceURL)
}
case EServiceType.S3():
switch resourceType {
case EResourceType.Bucket():
cleanBucket(resourceURL)
case EResourceType.SingleFile():
cleanObject(resourceURL)
case EResourceType.Account():
cleanS3Account(resourceURL)
}
case EServiceType.GCP():
switch resourceType {
case EResourceType.Bucket():
cleanBucket(resourceURL)
case EResourceType.SingleFile():
cleanObject(resourceURL)
case EResourceType.Account():
cleanGCPAccount(resourceURL)
}
default:
panic(fmt.Errorf("illegal resourceType %q", resourceType))
}
},
}
rootCmd.AddCommand(cleanCmd)
cleanCmd.PersistentFlags().StringVar(&resourceTypeStr, "resourceType", "SingleFile", "Resource type, could be single file, bucket or account currently.")
cleanCmd.PersistentFlags().StringVar(&serviceTypeStr, "serviceType", "Blob", "Account type, could be blob, file or blobFS currently.")
}