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  }