in pkg/cloud/filter/filter.go [198:231]
func (fp *filterPredicate) String() string {
var op string
switch fp.op {
case regexpEquals:
// GCE API maps regexp comparison to 'eq'
op = "eq"
case regexpNotEquals:
op = "ne"
// Since GCE API does not allow using a mix of 'eq' and '=' operators,
// we use 'eq' everywhere
case equals:
op = "eq"
case notEquals:
op = "ne"
default:
op = "invalidOp"
}
var value string
switch {
case fp.s != nil:
// There does not seem to be any sort of escaping as specified in the
// document. This means it's possible to create malformed expressions.
value = *fp.s
case fp.i != nil:
value = fmt.Sprintf("%d", *fp.i)
case fp.b != nil:
value = fmt.Sprintf("%t", *fp.b)
default:
value = "invalidValue"
}
return fmt.Sprintf("%s %s %s", fp.fieldName, op, value)
}