ValidateTransform validates a Transform.
(t v1beta1.Transform)
| 249 | |
| 250 | // ValidateTransform validates a Transform. |
| 251 | func ValidateTransform(t v1beta1.Transform) *field.Error { //nolint:gocyclo // This is a long but simple/same-y switch. |
| 252 | switch t.Type { |
| 253 | case v1beta1.TransformTypeMath: |
| 254 | if t.Math == nil { |
| 255 | return field.Required(field.NewPath("math"), "given transform type math requires configuration") |
| 256 | } |
| 257 | return WrapFieldError(ValidateMathTransform(t.Math), field.NewPath("math")) |
| 258 | case v1beta1.TransformTypeMap: |
| 259 | if t.Map == nil { |
| 260 | return field.Required(field.NewPath("map"), "given transform type map requires configuration") |
| 261 | } |
| 262 | return WrapFieldError(ValidateMapTransform(t.Map), field.NewPath("map")) |
| 263 | case v1beta1.TransformTypeMatch: |
| 264 | if t.Match == nil { |
| 265 | return field.Required(field.NewPath("match"), "given transform type match requires configuration") |
| 266 | } |
| 267 | return WrapFieldError(ValidateMatchTransform(t.Match), field.NewPath("match")) |
| 268 | case v1beta1.TransformTypeString: |
| 269 | if t.String == nil { |
| 270 | return field.Required(field.NewPath("string"), "given transform type string requires configuration") |
| 271 | } |
| 272 | return WrapFieldError(ValidateStringTransform(t.String), field.NewPath("string")) |
| 273 | case v1beta1.TransformTypeConvert: |
| 274 | if t.Convert == nil { |
| 275 | return field.Required(field.NewPath("convert"), "given transform type convert requires configuration") |
| 276 | } |
| 277 | if err := ValidateConvertTransform(t.Convert); err != nil { |
| 278 | return WrapFieldError(err, field.NewPath("convert")) |
| 279 | } |
| 280 | default: |
| 281 | // Should never happen |
| 282 | return field.Invalid(field.NewPath("type"), t.Type, "unknown transform type") |
| 283 | } |
| 284 | |
| 285 | return nil |
| 286 | } |
| 287 | |
| 288 | // ValidateMathTransform validates a MathTransform. |
| 289 | func ValidateMathTransform(m *v1beta1.MathTransform) *field.Error { |