Skip to content
Snippets Groups Projects
Unverified Commit 80fcacb3 authored by Adrien Kohlbecker's avatar Adrien Kohlbecker
Browse files

Use StringSliceFlag

parent 7f6a0810
No related branches found
No related tags found
No related merge requests found
......@@ -415,10 +415,9 @@ func parseTags(d *Driver) []string {
func parseLabels(d *Driver) map[string]string {
labels := map[string]string{}
if d.Labels != "" {
// d.Labels is in the format "key:value,key:value"
// d.Labels is an array of strings in the format "key:value"
// also account for spaces in the format and ignore them
for _, kv := range strings.Split(d.Labels, ",") {
for _, kv := range d.Labels {
split := strings.SplitN(kv, ":", 2)
key := strings.TrimSpace(split[0])
......@@ -429,7 +428,6 @@ func parseLabels(d *Driver) map[string]string {
labels[key] = value
}
}
return labels
}
......
......@@ -28,19 +28,19 @@ func TestAdditionalTags(t *testing.T) {
}
func TestDefaultLabel(t *testing.T) {
labels := parseLabels(&Driver{Labels: ""})
labels := parseLabels(&Driver{Labels: []string{}})
assert.Equal(t, map[string]string{}, labels)
}
func TestAdditionalLabel(t *testing.T) {
labels := parseLabels(&Driver{Labels: "key1:value1"})
labels := parseLabels(&Driver{Labels: []string{"key1:value1"}})
assert.Equal(t, map[string]string{"key1": "value1"}, labels)
}
func TestAdditionalLabels(t *testing.T) {
labels := parseLabels(&Driver{Labels: "key1: value1, key2: value2"})
labels := parseLabels(&Driver{Labels: []string{"key1: value1", "key2: value2"}})
assert.Equal(t, map[string]string{"key1": "value1", "key2": "value2"}, labels)
}
......
......@@ -56,7 +56,7 @@ type Driver struct {
Tags string
UseExisting bool
OpenPorts []string
Labels string
Labels []string
OperationBackoffFactory *backoffFactory
}
......@@ -216,10 +216,9 @@ func (d *Driver) GetCreateFlags() []mcnflag.Flag {
Usage: "Maximum elapsed time for GCP Operation check exponential backoff",
Value: defaultGoogleOperationBackoffMaxElapsedTime,
},
mcnflag.StringFlag{
mcnflag.StringSliceFlag{
Name: "google-labels",
Usage: "Labels to set on the VM (format: key:value,key:value)",
Value: "",
},
}
}
......@@ -289,7 +288,7 @@ func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error {
d.Scopes = flags.String("google-scopes")
d.Tags = flags.String("google-tags")
d.OpenPorts = flags.StringSlice("google-open-port")
d.Labels = flags.String("google-labels")
d.Labels = flags.StringSlice("google-labels")
}
d.SSHUser = flags.String("google-username")
d.SSHPort = 22
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment