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

Function UpdateExtendedVersion

commands/trigger.go:708–791  ·  view source on GitHub ↗

UpdateExtendedVersion only executes when users indicate to update triggers with --feed-param or --trigger-param flags.

(Client *whisk.Client, args []string, retTrigger *whisk.Trigger)

Source from the content-addressed store, hash-verified

706//UpdateExtendedVersion only executes when users indicate to update triggers with --feed-param
707//or --trigger-param flags.
708func UpdateExtendedVersion(Client *whisk.Client, args []string, retTrigger *whisk.Trigger) error {
709 var fullFeedName string
710 var qualifiedName = new(QualifiedName)
711 var err error
712
713 if qualifiedName, err = NewQualifiedName(args[0]); err != nil {
714 return NewQualifiedNameError(args[0], err)
715 }
716
717 whisk.Debug(whisk.DbgInfo, "Parsing parameters: %#v\n", Flags.trigger.triggerParam)
718 triggerParameters, err := getJSONFromStrings(Flags.trigger.triggerParam, true)
719 if err != nil {
720 whisk.Debug(whisk.DbgError, "getJSONFromStrings(%#v, true) failed: %s\n", Flags.common.param, err)
721 errStr := wski18n.T("Invalid parameter argument '{{.param}}': {{.err}}",
722 map[string]interface{}{"param": fmt.Sprintf("%#v", Flags.common.param), "err": err})
723 werr := whisk.MakeWskErrorFromWskError(errors.New(errStr), err, whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG, whisk.DISPLAY_USAGE)
724 return werr
725 }
726
727 whisk.Debug(whisk.DbgInfo, "Parsing annotations: %#v\n", Flags.common.annotation)
728 annotations, err := getJSONFromStrings(Flags.common.annotation, true)
729 if err != nil {
730 whisk.Debug(whisk.DbgError, "getJSONFromStrings(%#v, true) failed: %s\n", Flags.common.annotation, err)
731 errStr := wski18n.T("Invalid annotation argument '{{.annotation}}': {{.err}}",
732 map[string]interface{}{"annotation": fmt.Sprintf("%#v", Flags.common.annotation), "err": err})
733 werr := whisk.MakeWskErrorFromWskError(errors.New(errStr), err, whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG, whisk.DISPLAY_USAGE)
734 return werr
735 }
736
737 trigger := &whisk.Trigger{
738 Name: qualifiedName.GetEntityName(),
739 Parameters: triggerParameters.(whisk.KeyValueArr),
740 Annotations: annotations.(whisk.KeyValueArr),
741 }
742
743 // Get full feed name from trigger get request as it is needed to get the feed
744 if retTrigger != nil && retTrigger.Annotations != nil {
745 fullFeedName = getValueString(retTrigger.Annotations, "feed")
746 }
747
748 _, _, err = Client.Triggers.Insert(trigger, true)
749 if err != nil {
750 whisk.Debug(whisk.DbgError, "Client.Triggers.Insert(%+v,true) failed: %s\n", trigger, err)
751 errStr := wski18n.T("Unable to update trigger '{{.name}}': {{.err}}",
752 map[string]interface{}{"name": trigger.Name, "err": err})
753 werr := whisk.MakeWskErrorFromWskError(errors.New(errStr), err, whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG, whisk.NO_DISPLAY_USAGE)
754 return werr
755 }
756 //if there is no feed attached to this trigger
757 if len(fullFeedName) < 1 {
758 //but user indicate feed parameter change, we issue error message.
759 if len(Flags.trigger.feedParam) > 0 {
760 whisk.Debug(whisk.DbgError, "trigger %+v is found but it does not contain a feed. \n", trigger)
761 err := errors.New("this trigger does not contain a feed")
762 errStr := wski18n.T(FEED_CONFIGURATION_FAILURE, map[string]interface{}{"feedname": qualifiedName.GetEntityName(), "err": err})
763 werr := whisk.MakeWskErrorFromWskError(errors.New(errStr), err, whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG, whisk.NO_DISPLAY_USAGE)
764 return werr
765 }

Callers 1

UpdateMethod · 0.85

Calls 11

NewQualifiedNameFunction · 0.85
NewQualifiedNameErrorFunction · 0.85
getJSONFromStringsFunction · 0.85
getValueStringFunction · 0.85
feedParameterChangedFunction · 0.85
getFormattedJSONFunction · 0.85
configureFeedFunction · 0.85
getParametersFunction · 0.85
GetEntityNameMethod · 0.80
InsertMethod · 0.80
GetNamespaceMethod · 0.80

Tested by

no test coverage detected