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

Function ValidateConnectionDetail

validate.go:410–435  ·  view source on GitHub ↗

ValidateConnectionDetail checks if the connection detail is logically valid.

(cd v1beta1.ConnectionDetail)

Source from the content-addressed store, hash-verified

408
409// ValidateConnectionDetail checks if the connection detail is logically valid.
410func ValidateConnectionDetail(cd v1beta1.ConnectionDetail) *field.Error {
411 if cd.Type == "" {
412 return field.Required(field.NewPath("type"), "connection detail type is required")
413 }
414 if !cd.Type.IsValid() {
415 return field.Invalid(field.NewPath("type"), string(cd.Type), "unknown connection detail type")
416 }
417 if cd.Name == "" {
418 return field.Required(field.NewPath("name"), "name is required")
419 }
420 switch cd.Type {
421 case v1beta1.ConnectionDetailTypeFromValue:
422 if cd.Value == nil {
423 return field.Required(field.NewPath("value"), "value connection detail requires a value")
424 }
425 case v1beta1.ConnectionDetailTypeFromConnectionSecretKey:
426 if cd.FromConnectionSecretKey == nil {
427 return field.Required(field.NewPath("fromConnectionSecretKey"), "from connection secret key connection detail requires a key")
428 }
429 case v1beta1.ConnectionDetailTypeFromFieldPath:
430 if cd.FromFieldPath == nil {
431 return field.Required(field.NewPath("fromFieldPath"), "from field path connection detail requires a field path")
432 }
433 }
434 return nil
435}

Callers 3

ValidateComposedTemplateFunction · 0.85
ExtractConnectionDetailsFunction · 0.85

Calls 1

IsValidMethod · 0.45

Tested by 1