| module openconfig-network-instance-policy { |
| |
| yang-version "1"; |
| |
| // namespace |
| namespace "http://openconfig.net/yang/network-instance/policy"; |
| |
| prefix "oc-ni-pol"; |
| |
| // import some basic types |
| import openconfig-extensions { prefix oc-ext; } |
| import openconfig-routing-policy { prefix oc-rpol; } |
| import openconfig-policy-types { prefix oc-pol-types; } |
| |
| |
| // meta |
| organization "OpenConfig working group"; |
| |
| contact |
| "OpenConfig working group |
| www.openconfig.net"; |
| |
| description |
| "This module defines routing policy statements (conditions and |
| actions) for the network instance model. These statements are |
| generally added to the routing policy model."; |
| |
| oc-ext:openconfig-version "0.1.0"; |
| |
| revision "2017-02-15" { |
| description |
| "Initial revision"; |
| reference "0.1.0"; |
| } |
| |
| |
| // grouping statements |
| |
| grouping protocol-instance-policy-config { |
| description |
| "Configuration data for policy matching on protocol instance"; |
| |
| leaf protocol-identifier { |
| type identityref { |
| base oc-pol-types:INSTALL_PROTOCOL_TYPE; |
| } |
| description |
| "The identifier (protocol type) of the |
| protocol instance to match on in the local network |
| instance."; |
| } |
| |
| leaf protocol-name { |
| type string; |
| description |
| "The name of the protocol instance to match |
| on in the local network instance"; |
| } |
| } |
| |
| grouping protocol-instance-policy-state { |
| description |
| "Operational state data for policy matching on protocol |
| instance"; |
| } |
| |
| grouping protocol-instance-policy-top { |
| description |
| "Top-level grouping for policy matching on protocol instance"; |
| |
| container match-protocol-instance { |
| description |
| "Top-level container for protocol instance match condition |
| in policy statements. The protocol instance is referenced |
| by an identifier and name"; |
| |
| container config { |
| description |
| "Configuration data for policy matching on protocol |
| instance"; |
| |
| uses protocol-instance-policy-config; |
| } |
| |
| container state { |
| |
| config false; |
| |
| description |
| "Operational state data for policy matching on protocol instance"; |
| |
| uses protocol-instance-policy-config; |
| uses protocol-instance-policy-state; |
| } |
| } |
| } |
| |
| // data definition statements |
| |
| // augment statements |
| |
| augment "/oc-rpol:routing-policy/oc-rpol:policy-definitions/" + |
| "oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/" + |
| "oc-rpol:conditions" { |
| description |
| "Add match conditions for protocol instances to the routing |
| policy model."; |
| |
| uses protocol-instance-policy-top; |
| } |
| |
| // rpc statements |
| |
| // notification statements |
| |
| } |