6
6
7
7
"github.com/spf13/cobra"
8
8
9
- "github.com/stackitcloud/stackit-cli/internal/cmd/intake/common"
10
9
"github.com/stackitcloud/stackit-cli/internal/cmd/params"
11
10
"github.com/stackitcloud/stackit-cli/internal/pkg/args"
12
11
cliErr "github.com/stackitcloud/stackit-cli/internal/pkg/errors"
@@ -28,7 +27,7 @@ const (
28
27
maxMessageSizeKiBFlag = "max-message-size-kib"
29
28
maxMessagesPerHourFlag = "max-messages-per-hour"
30
29
descriptionFlag = "description"
31
- labelsFlag = "labels"
30
+ labelFlag = "labels"
32
31
)
33
32
34
33
type inputModel struct {
@@ -90,7 +89,7 @@ func configureFlags(cmd *cobra.Command) {
90
89
cmd .Flags ().Int64 (maxMessageSizeKiBFlag , 0 , "Maximum message size in KiB. Note: Overall message capacity cannot be decreased." )
91
90
cmd .Flags ().Int64 (maxMessagesPerHourFlag , 0 , "Maximum number of messages per hour. Note: Overall message capacity cannot be decreased." )
92
91
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 \" \" " )
94
93
}
95
94
96
95
func 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
101
100
return nil , & cliErr.ProjectIdError {}
102
101
}
103
102
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
-
124
103
model := inputModel {
125
104
GlobalFlagModel : globalFlags ,
126
105
RunnerId : runnerId ,
127
106
DisplayName : flags .FlagToStringPointer (p , cmd , displayNameFlag ),
128
107
MaxMessageSizeKiB : flags .FlagToInt64Pointer (p , cmd , maxMessageSizeKiBFlag ),
129
108
MaxMessagesPerHour : flags .FlagToInt64Pointer (p , cmd , maxMessagesPerHourFlag ),
130
109
Description : flags .FlagToStringPointer (p , cmd , descriptionFlag ),
131
- Labels : labels ,
110
+ Labels : flags . FlagToStringToStringPointer ( p , cmd , labelFlag ) ,
132
111
}
133
112
134
113
if model .DisplayName == nil && model .MaxMessageSizeKiB == nil && model .MaxMessagesPerHour == nil && model .Description == nil && model .Labels == nil {
0 commit comments