On 2018-07-15 13:11, Robert Wilton wrote:
Hi Kent,
I don't think that this is a valid use of augment - I thought that augment can
only add news data nodes, not add extra sub statements to existing ones.
Well, it is valid (though not if "foo" is a leaf), but you are right,
and it doesn't do what Kent expects. The 'when' statement, as always,
"makes its parent data definition statement conditional". I.e. it
applies to the 'augment' statement, not the 'foo' statement, and thus
with an always-false 'when', no 'augment' will happen.
--Per
Also, YANG allows grouping to be changed so that it is constructed from sub groupings, at long as the original grouping name is preserved and is only updated in a backwards compatible way. But as you
say, this can still lead to unnatural groupings.
I still think that groupings are probably being overused. Perhaps Andy's clone
statement might be a better alternative in some cases
(https://github.com/netmod-wg/yang-next/issues/31).
Thanks,
Rob
On 14/07/2018 18:46, Kent Watsen wrote:
Hi Rob,
Right you are, "refine" doesn't have a "when" substatement, but "augment" does.
grouping "bar-etc" {
uses "foo-bar-etc" {
augment "foo" {
when "false()";
}
}
}
The problem with splitting up groupings is that 1) it needs to be done
beforehand and 2) it may produce "unnatural" groupings that wouldn't be
there otherwise.
Kent
===== original message =====
Hi Kent,
I'm not sure that sec 7.13.2 of 7950 allows refine to add a when
statement, although an equivalent solution would be refine it with an
if-feature statement for a feature that is never enabled.
Ideally, I think that the groupings would be split up, so that they
build on each other.
grouping "foo" {
container-or-leaf "foo" { ... }
}
grouping "bar-etc" {
container-or-leaf "bar" { ... }
... // the "etc" ;)
}
grouping "foo-bar-etc" {
grouping "foo";
grouping "bar-etc";
}
Thanks,
Rob
On 11/07/2018 18:30, Kent Watsen wrote:
Say there is:
grouping "foo-bar-etc" {
container-or-leaf "foo" { ... }
container-or-leaf "bar" { ... }
... // the "etc" ;)
}
And the goal is to use the grouping sans the "foo" node.
Can a "when" statement that always evaluates to "false"
do it?
grouping "bar-etc" {
uses "foo-bar-etc" {
refine "foo" {
when "false()";
}
}
}
Any better ideas?
Thanks,
Kent
_______________________________________________
netmod mailing list
[email protected]
https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_netmod&d=DwIDaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=9zkP0xnJUvZGJ9EPoOH7Yhqn2gsBYaGTvjISlaJdcZo&m=n8AUR8gtF330d96dqckvx53hCdyUm5tsTzJsm6DU83U&s=hD50p0RzLVzzTnQ62nxgs256wFf7UmIczTJMf9ym_n8&e=
.
_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod
_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod