in pkg/cloud/api/mutable_resource.go [185:221]
func (u *mutableResource[GA, Alpha, Beta]) CheckSchema() error {
if isPlaceholderType(u.ga) {
return fmt.Errorf("GA has unsupported type (type is %T)", u)
}
err := checkSchema(reflect.TypeOf(&u.ga))
if err != nil {
return err
}
ga, _ := u.ToGA()
if !isPlaceholderType(u.alpha) {
err = checkSchema(reflect.TypeOf(&u.alpha))
if err != nil {
return err
}
alpha, _ := u.ToAlpha()
err = checkSubsetOf(ga, alpha)
if err != nil {
return fmt.Errorf("checkSubsetOf(%T, %T) = %v, want nil", ga, alpha, err)
}
}
if !isPlaceholderType(u.beta) {
err = checkSchema(reflect.TypeOf(&u.beta))
if err != nil {
return err
}
beta, _ := u.ToBeta()
err = checkSubsetOf(ga, beta)
if err != nil {
return fmt.Errorf("checkSubsetOf(%T, %T) = %v, want nil", ga, beta, err)
}
}
return nil
}