CLI improvements

Check for required args; allow "route add" as an alias for "route
create".
This commit is contained in:
Soam Vasani
2016-11-07 10:42:16 -08:00
parent 038037dded
commit fffba6fcf0
2 changed files with 17 additions and 3 deletions
+13 -2
View File
@@ -31,9 +31,20 @@ func fnCreate(c *cli.Context) error {
client := getClient(c.GlobalString("server"))
fnName := c.String("name")
if len(fnName) == 0 {
fatal("Need --name argument.")
}
envName := c.String("env")
if len(envName) == 0 {
fatal("Need --env argument.")
}
fileName := c.String("code")
if len(fileName) == 0 {
fatal("Need --code argument.")
}
code, err := ioutil.ReadFile(fileName)
checkErr(err, fmt.Sprintf("read %v", fileName))
@@ -106,10 +117,10 @@ func fnUpdate(c *cli.Context) error {
function.Code = string(code)
}
_, err = client.FunctionCreate(function)
_, err = client.FunctionUpdate(function)
checkErr(err, "update function")
fmt.Printf("function '%v' created\n", fnName)
fmt.Printf("function '%v' updated\n", fnName)
return err
}
+4 -1
View File
@@ -24,6 +24,9 @@ import (
func main() {
app := cli.NewApp()
app.Name = "fission"
app.Usage = "Serverless functions for Kubernetes"
app.Flags = []cli.Flag{
cli.StringFlag{Name: "server", Usage: "Fission server URL", EnvVar: "FISSION_URL"},
}
@@ -49,7 +52,7 @@ func main() {
htFnNameFlag := cli.StringFlag{Name: "function", Usage: "Function name"}
htFnUidFlag := cli.StringFlag{Name: "uid", Usage: "Function UID (optional; uses latest if unspecified)"}
htSubcommands := []cli.Command{
{Name: "create", Usage: "Create HTTP trigger", Flags: []cli.Flag{htMethodFlag, htUrlFlag, htFnNameFlag, htFnUidFlag}, Action: htCreate},
{Name: "create", Aliases: []string{"add"}, Usage: "Create HTTP trigger", Flags: []cli.Flag{htMethodFlag, htUrlFlag, htFnNameFlag, htFnUidFlag}, Action: htCreate},
{Name: "get", Usage: "Get HTTP trigger", Flags: []cli.Flag{htMethodFlag, htUrlFlag}, Action: htGet},
{Name: "update", Usage: "Update HTTP trigger", Flags: []cli.Flag{htMethodFlag, htUrlFlag, htFnNameFlag, htFnUidFlag}, Action: htUpdate},
{Name: "delete", Usage: "Delete HTTP trigger", Flags: []cli.Flag{htNameFlag}, Action: htDelete},