module ietf-l3-te-topology { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-l3-te-topology"; prefix "l3tet"; import ietf-network { prefix "nd"; } import ietf-network-topology { prefix "lnk"; } import ietf-l3-unicast-topology { prefix "l3t"; } import ietf-te-topology { prefix "tet"; } organization "TBD"; contact "TBD"; description "L3 TE Topology model"; revision 2017-07-03 { description "Initial revision"; reference "TBD"; } grouping l3-te-topology-type { description "Identifies the L3 TE topology type."; container l3-te { presence "indiates L3 TE Topology"; description "Its presence identifies the L3 TE topology type."; } } augment "/nd:networks/nd:network/nd:network-types/" + "l3t:l3-unicast-topology" { description "Defines the L3 TE topology type."; uses l3-te-topology-type; } augment "/nd:networks/nd:network/l3t:l3-topology-attributes" { when "../nd:network-types/l3t:l3-unicast-topology/l3-te" { description "Augment only for L3 TE topology"; } description "Augment topology configuration"; uses l3-te-topology-attributes; } augment "/nd:networks/nd:network/nd:node/l3t:l3-node-attributes" { when "../../nd:network-types/l3t:l3-unicast-topology/l3-te" { description "Augment only for L3 TE topology"; } description "Augment node configuration"; uses l3-te-node-attributes; } augment "/nd:networks/nd:network/nd:node/lnk:termination-point/" + "l3t:l3-termination-point-attributes" { when "../../../nd:network-types/l3t:l3-unicast-topology/" + "l3-te" { description "Augment only for L3 TE topology"; } description "Augment termination point configuration"; uses l3-te-tp-attributes; } augment "/nd:networks/nd:network/lnk:link/l3t:l3-link-attributes" { when "../../nd:network-types/l3t:l3-unicast-topology/l3-te" { description "Augment only for L3 TE topology"; } description "Augment link configuration"; uses l3-te-link-attributes; } grouping l3-te-topology-attributes { description "L3 TE topology scope attributes"; container l3-te-topology-attributes { must "/nd:networks/nd:network" + "[nd:network-id = current()/network-ref]/nd:network-types/" + "tet:te-topology" { error-message "The referenced network must be a TE topology."; description "The referenced network must be a TE topology."; } description "Containing TE topology references"; uses nd:network-ref; } // l3-te-topology-attributes } // l3-te-topology-attributes grouping l3-te-node-attributes { description "L3 TE node scope attributes"; container l3-te-node-attributes { must "/nd:networks/nd:network" + "[nd:network-id = current()/network-ref]/nd:network-types/" + "tet:te-topology" { error-message "The referenced network must be a TE topology."; description "The referenced network must be a TE topology."; } description "Containing TE node references"; uses nd:node-ref; } // l3-te } // l3-te-node-attributes grouping l3-te-tp-attributes { description "L3 TE termination point scope attributes"; container l3-te-tp-attributes { must "/nd:networks/nd:network" + "[nd:network-id = current()/network-ref]/nd:network-types/" + "tet:te-topology" { error-message "The referenced network must be a TE topology."; description "The referenced network must be a TE topology."; } description "Containing TE termination point references"; uses lnk:tp-ref; } // l3-te } // l3-te-tp-attributes grouping l3-te-link-attributes { description "L3 TE link scope attributes"; container l3-te-link-attributes { must "/nd:networks/nd:network" + "[nd:network-id = current()/network-ref]/nd:network-types/" + "tet:te-topology" { error-message "The referenced network must be a TE topology."; description "The referenced network must be a TE topology."; } description "Containing TE link references"; uses lnk:link-ref; } } // l3-te-link-attributes }