bpoole16 commented on a change in pull request #2334: (Review) Added --last
Activation Flag
URL:
https://github.com/apache/incubator-openwhisk/pull/2334#discussion_r126434906
##########
File path: tools/cli/go-whisk-cli/commands/activation.go
##########
@@ -219,6 +243,47 @@ var activationResultCmd = &cobra.Command{
},
}
+// lastFlag(args) retrieves the last activation with flag -l or --last
+// Param: Brings in []strings from args
+// Return: Returns a []string with the latest ID or the original args and any
errors
+func lastFlag(args []string) ([]string, error) {
+ if flags.activation.last {
+ options := &whisk.ActivationListOptions {
+ Limit: 1,
+ Skip: 0,
+ }
+ activations,_, err := client.Activations.List(options)
+ if err != nil { // Checks Activations.List for errors when
retrieving latest activaiton
+ whisk.Debug(whisk.DbgError, "client.Activations.List(%#v) error
during lastFlag: %s\n", options, err)
+ return args, err
+ }
+ if len(activations) == 0 { // Checks to to see if there are
activations available
+ whisk.Debug(whisk.DbgError, "No activations found in activation
list\n")
+ errStr := wski18n.T("Activation list does not contain any
activations.")
+ whiskErr := whisk.MakeWskError(errors.New(errStr),
whisk.EXITCODE_ERR_GENERAL, whisk.DISPLAY_MSG, whisk.DISPLAY_USAGE)
+ return args, whiskErr
+ }
+ if len(args) == 0 {
+ whisk.Debug(whisk.DbgInfo, "Appending most recent activation
ID(%s) into args\n", activations[0].ActivationID)
+ args = append(args, activations[0].ActivationID)
+ } else {
+ filterExists := fieldExists(&whisk.Activation{}, args[0])
+ if filterExists == true { // Checks to see if filter field is
given and not ID
+ whisk.Debug(whisk.DbgInfo, "Appending most recent activation
ID(%s) into args\n", activations[0].ActivationID)
+ args = append(args, activations[0].ActivationID)
+ whisk.Debug(whisk.DbgInfo, "Allocating appended ID to correct
position in args\n")
+ args[0], args[1] = args[1], args[0] // IDs should be
located at args[0], if a filter field is given it has to be moved to args[0]
+ } else if filterExists == false { // Checks conflict between ID
and --last
+ whisk.Debug(whisk.DbgError,"Can not use activation ID with
--last flag\n")
+ errStr := wski18n.T("When specifying an activation ID, do not
use the --last flag.")
Review comment:
I'm using the filter field to check to see if it is an ID or a filter field,
without it when you use `wsk activation get ACTIVATION_ID --last FIELD_FILTER`
it will use the activation_id given over the flag `--last`. If we are just
summing that up to user error then I don't need the check otherwise it will
need to check and see if an ID or field filter is given.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services