Hi,
I think this could work (thanks Robert; maybe this is what you
meant!):
container zones {
list zone {
...
list rrset {
...
leaf type {
type identityref { ... }
}
list rdata {
key id;
...
choice type-specific-params {
mandatory true;
// to be augmented with type-specific nodes
}
}
}
}
}
And then in another module:
augment "/dnsz:zones/dnsz:zone/dnsz:rrset/dnsz:rdata"
+ "/type-specific-parameters" {
when "derived-from-or-self(../dnsz:type,'iana-dns-parameters',"
+ "'TLSA')";
leaf certificate-usage {
mandatory true;
...
}
}
The empty mandatory choice formally tells the client that additional
cases are expected.
(If the empty choice looks fishy, it is probably often possible to
define at least one case inline...)
This pattern is nice to the client, since there is no way an
additional augmenting module can break a working client.
/martin
_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod