github.com/devcamcar/cli@v0.0.0-20181107134215-706a05759d18/objects/trigger/commands.go (about) 1 package trigger 2 3 import ( 4 "github.com/fnproject/cli/client" 5 "github.com/urfave/cli" 6 ) 7 8 // Create trigger command 9 func Create() cli.Command { 10 t := triggersCmd{} 11 return cli.Command{ 12 Name: "trigger", 13 ShortName: "trig", 14 Category: "MANAGEMENT COMMAND", 15 Aliases: []string{"t", "tr"}, 16 Usage: "Create a new trigger", 17 Description: "This command creates a new trigger.", 18 Before: func(ctx *cli.Context) error { 19 var err error 20 t.provider, err = client.CurrentProvider() 21 if err != nil { 22 return err 23 } 24 t.client = t.provider.APIClientv2() 25 return nil 26 }, 27 ArgsUsage: "<app-name> <function-name> <trigger-name>", 28 Action: t.create, 29 Flags: TriggerFlags, 30 } 31 } 32 33 // List trigger command 34 func List() cli.Command { 35 t := triggersCmd{} 36 return cli.Command{ 37 Name: "triggers", 38 ShortName: "trigs", 39 Category: "MANAGEMENT COMMAND", 40 Description: "This command returns a list of all created triggers for an 'app' or for a specific 'function' of an application.", 41 Aliases: []string{"t", "tr"}, 42 Usage: "List all triggers", 43 Before: func(ctx *cli.Context) error { 44 var err error 45 t.provider, err = client.CurrentProvider() 46 if err != nil { 47 return err 48 } 49 t.client = t.provider.APIClientv2() 50 return nil 51 }, 52 ArgsUsage: "<app-name> [function-name]", 53 Action: t.list, 54 Flags: []cli.Flag{ 55 cli.StringFlag{ 56 Name: "cursor", 57 Usage: "pagination cursor", 58 }, 59 cli.Int64Flag{ 60 Name: "n", 61 Usage: "number of triggers to return", 62 Value: int64(100), 63 }, 64 }, 65 } 66 } 67 68 // Update trigger command 69 func Update() cli.Command { 70 t := triggersCmd{} 71 return cli.Command{ 72 Name: "trigger", 73 ShortName: "trig", 74 Category: "MANAGEMENT COMMAND", 75 Description: "This command updates a created trigger.", 76 Aliases: []string{"t", "tr"}, 77 Usage: "Update a trigger", 78 Before: func(ctx *cli.Context) error { 79 var err error 80 t.provider, err = client.CurrentProvider() 81 if err != nil { 82 return err 83 } 84 t.client = t.provider.APIClientv2() 85 return nil 86 }, 87 ArgsUsage: "<app-name> <function-name> <trigger-name>", 88 Action: t.update, 89 Flags: []cli.Flag{ 90 cli.StringSliceFlag{ 91 Name: "annotation", 92 Usage: "trigger annotations", 93 }, 94 }, 95 } 96 } 97 98 // Delete trigger command 99 func Delete() cli.Command { 100 t := triggersCmd{} 101 return cli.Command{ 102 Name: "trigger", 103 ShortName: "trig", 104 Category: "MANAGEMENT COMMAND", 105 Description: "This command deletes a created trigger.", 106 Aliases: []string{"t", "tr"}, 107 Usage: "Delete a trigger", 108 Before: func(ctx *cli.Context) error { 109 var err error 110 t.provider, err = client.CurrentProvider() 111 if err != nil { 112 return err 113 } 114 t.client = t.provider.APIClientv2() 115 return nil 116 }, 117 ArgsUsage: "<app-name> <function-name> <trigger-name>", 118 Action: t.delete, 119 } 120 } 121 122 // Inspect trigger command 123 func Inspect() cli.Command { 124 t := triggersCmd{} 125 return cli.Command{ 126 Name: "trigger", 127 ShortName: "trig", 128 Category: "MANAGEMENT COMMAND", 129 Aliases: []string{"t", "tr"}, 130 Description: "This command gets one of all trigger properties.", 131 Usage: "Retrieve one or all trigger properties", 132 Flags: []cli.Flag{ 133 cli.BoolFlag{ 134 Name: "endpoint", 135 Usage: "Output the trigger HTTP endpoint if set", 136 }, 137 }, 138 Before: func(ctx *cli.Context) error { 139 var err error 140 t.provider, err = client.CurrentProvider() 141 if err != nil { 142 return err 143 } 144 t.client = t.provider.APIClientv2() 145 return nil 146 }, 147 ArgsUsage: "<app-name> <function-name> <trigger-name>", 148 Action: t.inspect, 149 } 150 }