All Superinterfaces:
org.opendaylight.yangtools.yang.binding.BindingContract<org.opendaylight.yangtools.yang.binding.DataContainer>, org.opendaylight.yangtools.yang.binding.BindingObject, org.opendaylight.yangtools.yang.binding.DataContainer, org.opendaylight.yangtools.yang.binding.DataObject, org.opendaylight.yangtools.yang.binding.DataRoot, NetworkInstanceTop

@Generated("mdsal-binding-generator") public interface OpenconfigNetworkInstanceData extends org.opendaylight.yangtools.yang.binding.DataRoot, NetworkInstanceTop
An OpenConfig description of a network-instance. This may be a Layer 3 forwarding construct such as a virtual routing and forwarding (VRF) instance, a Layer 2 instance such as a virtual switch instance (VSI). Mixed Layer 2 and Layer 3 instances are also supported.

This class represents the following YANG schema fragment defined in module openconfig-network-instance

 module openconfig-network-instance {
   yang-version 1;
   namespace "http://openconfig.net/yang/network-instance";
   prefix netinst;
   import ietf-yang-types {
     prefix yang;
   }
   import ietf-inet-types {
     prefix inet;
   }
   import openconfig-network-instance-types {
     prefix nit;
   }
   import openconfig-policy-types {
     prefix pt;
   }
   import openconfig-routing-policy {
     prefix rpol;
   }
   import openconfig-local-routing {
     prefix lroute;
   }
   import openconfig-interfaces {
     prefix ocif;
   }
   import openconfig-extensions {
     prefix ocext;
   }
   ocext:openconfig-version 0.1.0;
   revision 2015-10-18 {
   }
   grouping network-instance-top {
     container network-instances {
       list network-instance {
         key name;
         leaf name {
           type leafref {
             path ../config/name;
           }
         }
         container config {
           uses network-instance-config;
           uses network-instance-l3vrf-config {
             when "../type = 'L3VRF'" {
             }
           }
         }
         container state {
           config false;
           uses network-instance-config;
           uses network-instance-l3vrf-config {
             when "../type = 'L3VRF'" {
             }
           }
           uses network-instance-state;
         }
         container inter-instance-policies {
           uses rpol:apply-policy-group;
         }
         container table-connections {
           list table-connection {
             key "src-table dst-table";
             leaf src-table {
               type leafref {
                 path ../config/src-table;
               }
             }
             leaf dst-table {
               type leafref {
                 path ../config/dst-table;
               }
             }
             container config {
               uses inter-table-policies-config;
             }
             container state {
               config false;
               uses inter-table-policies-config;
             }
             uses rpol:apply-policy-group;
           }
         }
         container tables {
           list table {
             key table-name;
             leaf table-name {
               type leafref {
                 path ../config/table-name;
               }
             }
             container config {
               uses table-config;
             }
             container state {
               config false;
               uses table-config;
             }
           }
         }
         container interfaces {
           container config {
             uses instance-interfaces-config;
           }
           container state {
             config false;
             uses instance-interfaces-config;
             uses instance-interfaces-state;
           }
         }
         container connection-points {
           list connection-point {
             key connection-point-id;
             leaf connection-point-id {
               type leafref {
                 path ../config/connection-point-id;
               }
             }
             container config {
               uses instance-connection-point-config;
             }
             container state {
               config false;
               uses instance-connection-point-config;
               uses instance-connection-point-state;
             }
             container endpoints {
               when "../config/type = 'L2P2P' or ../config/type = 'L2VSI'" {
               }
               list endpoint {
                 key endpoint-id;
                 leaf endpoint-id {
                   type leafref {
                     path ../config/endpoint-id;
                   }
                 }
                 container config {
                   uses instance-endpoint-config;
                 }
                 container state {
                   config false;
                   uses instance-endpoint-config;
                   uses instance-endpoint-state;
                 }
               }
             }
           }
         }
         container protocols {
           list protocol {
             key "identifier name";
             leaf identifier {
               type leafref {
                 path ../config/identifier;
               }
             }
             leaf name {
               type leafref {
                 path ../config/name;
               }
             }
             container config {
               uses protocols-config;
             }
             container state {
               config false;
               uses protocols-config;
               uses protocols-state;
             }
             container static {
               when "../config/identifier = 'STATIC'" {
               }
               uses lroute:local-static-top;
             }
             container aggregate {
               when "../config/identifier = 'LOCAL-AGGREGATE'" {
               }
               uses lroute:local-aggregate-top;
             }
           }
         }
       }
     }
   }
   grouping instance-endpoint-config {
     leaf endpoint-id {
       type string;
     }
     uses instance-endpoint-local-remote;
     leaf precedence {
       type uint16;
     }
   }
   grouping instance-endpoint-local-remote {
     choice local-remote {
       case local {
         leaf interface {
           type leafref {
             path /network-instances/network-instance/interfaces/config/interface;
           }
         }
       }
       case remote {
         leaf neighbor {
           type inet:ip-address;
         }
         leaf virtual-circuit-identifier {
           type uint32;
         }
       }
     }
   }
   grouping instance-endpoint-state {
     leaf active {
       type boolean;
     }
   }
   grouping instance-connection-point-config {
     leaf connection-point-id {
       type string;
     }
   }
   grouping instance-connection-point-state {
   }
   grouping table-config {
     leaf table-name {
       type string;
     }
   }
   grouping table-state {
   }
   grouping inter-table-policies-config {
     leaf src-table {
       type string;
     }
     leaf dst-table {
       type string;
     }
   }
   grouping network-instance-config {
     leaf name {
       type string;
     }
     leaf type {
       type identityref {
         base network-instance-type;
       }
     }
     leaf enabled {
       type boolean;
     }
     leaf description {
       type string;
     }
     leaf router-id {
       type yang:dotted-quad;
     }
     leaf route-distinguisher {
       type nit:route-distinguisher;
     }
   }
   grouping network-instance-state {
   }
   grouping network-instance-l3vrf-config {
   }
   grouping protocols-config {
     leaf identifier {
       type identityref {
         base install-protocol-type;
       }
     }
     leaf name {
       type string;
     }
     leaf enabled {
       type boolean;
     }
     leaf target-table {
       type string;
     }
   }
   grouping protocols-state {
   }
   grouping instance-interfaces-config {
     leaf-list interface {
       type leafref {
         path /ocif:interfaces/ocif:interface/ocif:name;
       }
     }
   }
   grouping instance-interfaces-state {
   }
   uses network-instance-top;
 }