UpdateExtendedVersion only executes when users indicate to update triggers with --feed-param or --trigger-param flags.
(Client *whisk.Client, args []string, retTrigger *whisk.Trigger)
| 706 | //UpdateExtendedVersion only executes when users indicate to update triggers with --feed-param |
| 707 | //or --trigger-param flags. |
| 708 | func 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 | } |
no test coverage detected