YANG model:
module my-module {
namespace "my-module";
prefix my;
container configuration {
container values {
leaf val {
type int32;
}
must '. >= (../res-values/minimum) and . <= (../res-values/maximum)';
}
container res-values {
leaf minimum {
type int32;
}
leaf maximum {
type int32;
}
}
}
}
Code:
func main() {
v := int32(50)
minimum := int32(0)
maximum := int32(10)
resValues := schema.MyModule_Configuration_ResValues{Minimum: &minimum, Maximum: &maximum}
values := schema.MyModule_Configuration_Values{Val: &v}
config := schema.MyModule_Configuration{ResValues: &resValues, Values: &values}
err := config.Validate()
if err != nil {
fmt.Println(err)
} else {
fmt.Println("Validation successful")
}
}
Output is "Validation successful".
ygot version: github.com/openconfig/ygot v0.29.20
Thank you for attention!