mirror of https://github.com/kubernetes/kops.git
fix: parse boolean values
This commit is contained in:
parent
07376e5105
commit
cfa14b687d
|
@ -18,6 +18,7 @@ package spotinstmodel
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
|
@ -104,19 +105,19 @@ func (b *ElastigroupModelBuilder) Build(c *fi.ModelBuilderContext) error {
|
||||||
break
|
break
|
||||||
|
|
||||||
case InstanceGroupLabelUtilizeReservedInstances:
|
case InstanceGroupLabelUtilizeReservedInstances:
|
||||||
if v == "true" {
|
b, err := parseBool(v)
|
||||||
group.UtilizeReservedInstances = fi.Bool(true)
|
if err != nil {
|
||||||
} else if v == "false" {
|
return err
|
||||||
group.UtilizeReservedInstances = fi.Bool(false)
|
|
||||||
}
|
}
|
||||||
|
group.UtilizeReservedInstances = b
|
||||||
break
|
break
|
||||||
|
|
||||||
case InstanceGroupLabelFallbackToOnDemand:
|
case InstanceGroupLabelFallbackToOnDemand:
|
||||||
if v == "true" {
|
b, err := parseBool(v)
|
||||||
group.FallbackToOnDemand = fi.Bool(true)
|
if err != nil {
|
||||||
} else if v == "false" {
|
return err
|
||||||
group.FallbackToOnDemand = fi.Bool(false)
|
|
||||||
}
|
}
|
||||||
|
group.FallbackToOnDemand = b
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -295,19 +296,19 @@ func (b *ElastigroupModelBuilder) Build(c *fi.ModelBuilderContext) error {
|
||||||
for k, v := range ig.ObjectMeta.Labels {
|
for k, v := range ig.ObjectMeta.Labels {
|
||||||
switch k {
|
switch k {
|
||||||
case InstanceGroupLabelAutoScalerDisabled:
|
case InstanceGroupLabelAutoScalerDisabled:
|
||||||
if v == "true" {
|
b, err := parseBool(v)
|
||||||
autoScalerDisabled = true
|
if err != nil {
|
||||||
} else if v == "false" {
|
return err
|
||||||
autoScalerDisabled = false
|
|
||||||
}
|
}
|
||||||
|
autoScalerDisabled = fi.BoolValue(b)
|
||||||
break
|
break
|
||||||
|
|
||||||
case InstanceGroupLabelAutoScalerNodeLabels:
|
case InstanceGroupLabelAutoScalerNodeLabels:
|
||||||
if v == "true" {
|
b, err := parseBool(v)
|
||||||
autoScalerNodeLabels = true
|
if err != nil {
|
||||||
} else if v == "false" {
|
return err
|
||||||
autoScalerNodeLabels = false
|
|
||||||
}
|
}
|
||||||
|
autoScalerNodeLabels = fi.BoolValue(b)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -336,3 +337,11 @@ func (b *ElastigroupModelBuilder) Build(c *fi.ModelBuilderContext) error {
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func parseBool(str string) (*bool, error) {
|
||||||
|
b, err := strconv.ParseBool(str)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("spotinst: unexpected boolean value: %q", str)
|
||||||
|
}
|
||||||
|
return fi.Bool(b), nil
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue