47 lines
921 B
Go
47 lines
921 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
func RunGrant(args ...string) error {
|
|
name, args := ParseCommandName(args)
|
|
|
|
// 从参数中解析出命令
|
|
switch name {
|
|
case "", "help":
|
|
return RunGrantHelp(args...)
|
|
case "list":
|
|
return RunGrantList(args...)
|
|
case "add":
|
|
return RunGrantAdd(args...)
|
|
case "delete":
|
|
return RunGrantDelete(args...)
|
|
default:
|
|
err := fmt.Errorf(`unknown command "%s"`+"\n"+`Run 'saastool grant help' for usage`, name)
|
|
fmt.Fprintln(os.Stderr, err)
|
|
|
|
return err
|
|
}
|
|
}
|
|
|
|
func RunGrantHelp(args ...string) error {
|
|
fmt.Println(strings.TrimSpace(grantUsage))
|
|
return nil
|
|
}
|
|
|
|
const grantUsage = `
|
|
Usage: saastool grant COMMAND [OPTIONS]
|
|
|
|
Commands:
|
|
list List data grants
|
|
add Add data grant
|
|
delete Delete data grant
|
|
|
|
"help" is the default command.
|
|
|
|
Use "saastool grant COMMAND -help" for more information about a command.
|
|
`
|