MCPcopy Create free account
hub / github.com/crossplane-contrib/function-patch-and-transform / ValidateStringTransform

Function ValidateStringTransform

validate.go:354–396  ·  view source on GitHub ↗

ValidateStringTransform validates a StringTransform.

(s *v1beta1.StringTransform)

Source from the content-addressed store, hash-verified

352
353// ValidateStringTransform validates a StringTransform.
354func ValidateStringTransform(s *v1beta1.StringTransform) *field.Error { //nolint:gocyclo // just a switch
355 if s.Type == "" {
356 return field.Required(field.NewPath("type"), "string transform type is required")
357 }
358 switch s.Type {
359 case v1beta1.StringTransformTypeFormat:
360 if s.Format == nil {
361 return field.Required(field.NewPath("fmt"), "format transform requires a format")
362 }
363 case v1beta1.StringTransformTypeConvert:
364 if s.Convert == nil {
365 return field.Required(field.NewPath("convert"), "convert transform requires a conversion type")
366 }
367 case v1beta1.StringTransformTypeTrimPrefix, v1beta1.StringTransformTypeTrimSuffix:
368 if s.Trim == nil {
369 return field.Required(field.NewPath("trim"), "trim transform requires a trim value")
370 }
371 case v1beta1.StringTransformTypeRegexp:
372 if s.Regexp == nil {
373 return field.Required(field.NewPath("regexp"), "regexp transform requires a regexp")
374 }
375 if s.Regexp.Match == "" {
376 return field.Required(field.NewPath("regexp", "match"), "regexp transform requires a match")
377 }
378 if _, err := regexp.Compile(s.Regexp.Match); err != nil {
379 return field.Invalid(field.NewPath("regexp", "match"), s.Regexp.Match, "invalid regexp")
380 }
381 case v1beta1.StringTransformTypeJoin:
382 if s.Join == nil {
383 return field.Required(field.NewPath("join"), "join transform requires a join")
384 }
385 case v1beta1.StringTransformTypeReplace:
386 if s.Replace == nil {
387 return field.Required(field.NewPath("replace"), "replace transform requires a replace")
388 }
389 if s.Replace.Search == "" {
390 return field.Required(field.NewPath("replace", "search"), "replace transform requires a search")
391 }
392 default:
393 return field.Invalid(field.NewPath("type"), s.Type, "unknown string transform type")
394 }
395 return nil
396}
397
398// ValidateConvertTransform validates a ConvertTransform.
399func ValidateConvertTransform(t *v1beta1.ConvertTransform) *field.Error {

Callers 1

ValidateTransformFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected