dubeejw commented on a change in pull request #2334: (Review) Added --last 
Activation Flag 
URL: 
https://github.com/apache/incubator-openwhisk/pull/2334#discussion_r125952139
 
 

 ##########
 File path: tools/cli/go-whisk-cli/commands/activation.go
 ##########
 @@ -219,6 +243,45 @@ 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
+        } else {
+            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 if len(args) == 1 && len(args[0]) != 32 {    // 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 len(args[0]) == 32 {    // Checks conflict between ID 
and --last
 
 Review comment:
   Maybe better to prepend the retrieved activation ID to the args always. I 
think we will only have an issue if a user specified an activation ID with the 
`--last` flag. Under that scenario the user would get an invalid field filter 
message as the user provided activation ID will be presumed to be a field 
filter. However, the usage says not to include an activation ID with the 
`--last` flag. @mdeuser, what do you think?
 
----------------------------------------------------------------
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

Reply via email to