MCPcopy Create free account
hub / github.com/apache/openwhisk-cli / Update

Method Update

commands/trigger.go:597–704  ·  view source on GitHub ↗
(Client *whisk.Client, args []string)

Source from the content-addressed store, hash-verified

595}
596
597func (t *Trigger) Update(Client *whisk.Client, args []string) error {
598 var err error
599 var fullFeedName string
600 var qualifiedName = new(QualifiedName)
601
602 if whiskErr := CheckArgs(args, 1, 1, "Trigger update",
603 wski18n.T("A trigger name is required.")); whiskErr != nil {
604 return whiskErr
605 }
606
607 if qualifiedName, err = NewQualifiedName(args[0]); err != nil {
608 return NewQualifiedNameError(args[0], err)
609 }
610
611 Client.Namespace = qualifiedName.GetNamespace()
612
613 // Convert the trigger's list of default parameters from a string into []KeyValue
614 // The 1 or more --param arguments have all been combined into a single []string
615 // e.g. --p arg1,arg2 --p arg3,arg4 -> [arg1, arg2, arg3, arg4]
616
617 whisk.Debug(whisk.DbgInfo, "Parsing parameters: %#v\n", Flags.common.param)
618 parameters, err := getJSONFromStrings(Flags.common.param, true)
619
620 if err != nil {
621 whisk.Debug(whisk.DbgError, "getJSONFromStrings(%#v, true) failed: %s\n", Flags.common.param, err)
622 errStr := wski18n.T("Invalid parameter argument '{{.param}}': {{.err}}",
623 map[string]interface{}{"param": fmt.Sprintf("%#v", Flags.common.param), "err": err})
624 werr := whisk.MakeWskErrorFromWskError(errors.New(errStr), err, whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG, whisk.DISPLAY_USAGE)
625 return werr
626 }
627
628 whisk.Debug(whisk.DbgInfo, "Parsing annotations: %#v\n", Flags.common.annotation)
629 annotations, err := getJSONFromStrings(Flags.common.annotation, true)
630
631 if err != nil {
632 whisk.Debug(whisk.DbgError, "getJSONFromStrings(%#v, true) failed: %s\n", Flags.common.annotation, err)
633 errStr := wski18n.T("Invalid annotation argument '{{.annotation}}': {{.err}}",
634 map[string]interface{}{"annotation": fmt.Sprintf("%#v", Flags.common.annotation), "err": err})
635 werr := whisk.MakeWskErrorFromWskError(errors.New(errStr), err, whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG, whisk.DISPLAY_USAGE)
636 return werr
637 }
638
639 retTrigger, httpResp, err := Client.Triggers.Get(qualifiedName.GetEntityName())
640
641 if err != nil && httpResp.StatusCode == 404 {
642 if createErr := t.Create(Client, args); createErr != nil {
643 return createErr
644 }
645 return nil
646 } else if err != nil {
647 whisk.Debug(whisk.DbgError, "Client.Triggers.Get(%s) failed: %s\n", qualifiedName.GetEntityName(), err)
648 errStr := wski18n.T("Unable to get trigger '{{.name}}': {{.err}}",
649 map[string]interface{}{"name": qualifiedName.GetEntityName(), "err": err})
650 werr := whisk.MakeWskErrorFromWskError(errors.New(errStr), err, whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG, whisk.NO_DISPLAY_USAGE)
651 return werr
652 } else {
653 if !userIndicatesToUseOldTriggerCommand() {
654 return UpdateExtendedVersion(Client, args, retTrigger)

Callers 2

trigger.goFile · 0.80
trigger_test.goFile · 0.80

Calls 15

CreateMethod · 0.95
CheckArgsFunction · 0.85
NewQualifiedNameFunction · 0.85
NewQualifiedNameErrorFunction · 0.85
getJSONFromStringsFunction · 0.85
UpdateExtendedVersionFunction · 0.85
userIssuedNewTriggerCmdFunction · 0.85
getValueStringFunction · 0.85
getFormattedJSONFunction · 0.85
configureFeedFunction · 0.85
getParametersFunction · 0.85

Tested by

no test coverage detected