blob: acb17d02b52d51955d000e20912997ed62e719e4 [file] [log] [blame]
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
}