lxd/config/schema.go
func (v *Key) validate(value string) error {
	validator := v.Validator
	if validator == nil {
		// Dummy validator
		validator = func(string) error { return nil }
	}

	// Handle unsetting
	if value == "" {
		return validator(v.Default)
	}

	switch v.Type {
	case String:
	case Bool:
		if !shared.StringInSlice(strings.ToLower(value), booleans) {
			return fmt.Errorf("invalid boolean")
		}
	case Int64:
		_, err := strconv.ParseInt(value, 10, 64)
		if err != nil {
			return fmt.Errorf("invalid integer")
		}
	default:
		panic(fmt.Sprintf("unexpected value type: %d", v.Type))
	}

	if v.Deprecated != "" && value != v.Default {
		return fmt.Errorf("deprecated: %s", v.Deprecated)
	}

	// Run external validation function
	return validator(value)
}
func (v *Key) validate(value string) error {
	validator := v.Validator
	if validator == nil {
		// Dummy validator
		validator = func(string) error { return nil }
	}

	// Handle unsetting
	if value == "" {
		return validator(v.Default)
	}

	switch v.Type {
	case String:
	case Bool:
		if !shared.StringInSlice(strings.ToLower(value), booleans) {
			return fmt.Errorf("invalid boolean")
		}
	case Int64:
		_, err := strconv.ParseInt(value, 10, 64)
		if err != nil {
			return fmt.Errorf("invalid integer")
		}
	default:
		panic(fmt.Sprintf("unexpected value type: %d", v.Type))
	}

	if v.Deprecated != "" && value != v.Default {
		return fmt.Errorf("deprecated: %s", v.Deprecated)
	}

	// Run external validation function
	return validator(value)
}
func ( v * Key ) validate ( value string ) error { validator := v . Validator if validator == nil { // Dummy validator validator = func ( string ) error { return nil } } // Handle unsetting if value == " " { return validator ( v . Default ) } switch v . Type { case String : case Bool : if ! shared . StringInSlice ( strings . ToLower ( value ) , booleans ) { return fmt . Errorf ( " " ) } case Int64 : _ , err := strconv . ParseInt ( value , 10 , 64 ) if err != nil { return fmt . Errorf ( " " ) } default : panic ( fmt . Sprintf ( " " , v . Type ) ) } if v . Deprecated != " " && value != v . Default { return fmt . Errorf ( " " , v . Deprecated ) } // Run external validation function return validator ( value ) }
// Tells if the given value can be assigned to this particular Value instance.
Tells if the given value can be assigned to this particular Value instance .