func()

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
}