66
77 "github.com/spf13/cobra"
88
9- "github.com/stackitcloud/stackit-cli/internal/cmd/intake/common"
109 "github.com/stackitcloud/stackit-cli/internal/cmd/params"
1110 "github.com/stackitcloud/stackit-cli/internal/pkg/args"
1211 cliErr "github.com/stackitcloud/stackit-cli/internal/pkg/errors"
@@ -28,7 +27,7 @@ const (
2827 maxMessageSizeKiBFlag = "max-message-size-kib"
2928 maxMessagesPerHourFlag = "max-messages-per-hour"
3029 descriptionFlag = "description"
31- labelsFlag = "labels"
30+ labelFlag = "labels"
3231)
3332
3433type inputModel struct {
@@ -90,7 +89,7 @@ func configureFlags(cmd *cobra.Command) {
9089 cmd .Flags ().Int64 (maxMessageSizeKiBFlag , 0 , "Maximum message size in KiB. Note: Overall message capacity cannot be decreased." )
9190 cmd .Flags ().Int64 (maxMessagesPerHourFlag , 0 , "Maximum number of messages per hour. Note: Overall message capacity cannot be decreased." )
9291 cmd .Flags ().String (descriptionFlag , "" , "Description" )
93- cmd .Flags ().String ( labelsFlag , "" , "Labels in key=value format. To clear all labels, provide an empty string, e.g. --labels \" \" " )
92+ cmd .Flags ().StringToString ( labelFlag , nil , "Labels in key=value format. To clear all labels, provide an empty string, e.g. --labels \" \" " )
9493}
9594
9695func parseInput (p * print.Printer , cmd * cobra.Command , inputArgs []string ) (* inputModel , error ) {
@@ -101,34 +100,14 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu
101100 return nil , & cliErr.ProjectIdError {}
102101 }
103102
104- var labels * map [string ]string
105- if cmd .Flags ().Changed (labelsFlag ) {
106- labelsVal , err := cmd .Flags ().GetString (labelsFlag )
107- if err != nil {
108- return nil , fmt .Errorf ("could not parse --%s: %w" , labelsFlag , err )
109- }
110- if labelsVal == "" {
111- // User wants to clear labels
112- labels = & map [string ]string {}
113- } else {
114- // User provided labels, parse them
115- parsedLabels , err := common .ParseLabels (labelsVal )
116- if err != nil {
117- return nil , err
118- }
119-
120- labels = & parsedLabels
121- }
122- }
123-
124103 model := inputModel {
125104 GlobalFlagModel : globalFlags ,
126105 RunnerId : runnerId ,
127106 DisplayName : flags .FlagToStringPointer (p , cmd , displayNameFlag ),
128107 MaxMessageSizeKiB : flags .FlagToInt64Pointer (p , cmd , maxMessageSizeKiBFlag ),
129108 MaxMessagesPerHour : flags .FlagToInt64Pointer (p , cmd , maxMessagesPerHourFlag ),
130109 Description : flags .FlagToStringPointer (p , cmd , descriptionFlag ),
131- Labels : labels ,
110+ Labels : flags . FlagToStringToStringPointer ( p , cmd , labelFlag ) ,
132111 }
133112
134113 if model .DisplayName == nil && model .MaxMessageSizeKiB == nil && model .MaxMessagesPerHour == nil && model .Description == nil && model .Labels == nil {
0 commit comments