Introduced DomainSpecificRegistry service
[groupbasedpolicy.git] / groupbasedpolicy / src / main / yang / model / renderer.yang
index 2b15e8487c5ceff3b2c19efd0ab4f891569e0268..444a1c5e5f91c813b36bc1cae8b86b04f55062ff 100755 (executable)
@@ -141,9 +141,6 @@ module renderer {
     }
 
     container renderers {
-        description
-            "Leaf containing all renderers' description.";
-
         list renderer {
             description
                 "A renderer provides a list of capabilities and status about configured policy.
@@ -164,7 +161,9 @@ module renderer {
                 list renderer-node {
                     key "node-path";
                     leaf node-path {
-                        description "Path to the node where policy needs to be enforced.";
+                        description "Path to the node where policy needs to be enforced.
+                            This field is matched against internal-node and external-node-mount-point
+                            from base-endoint:endpoint-locations.";
                         type instance-identifier;
                     }
                 }
@@ -186,6 +185,7 @@ module renderer {
                     description "Renderer tries to apply given policy on devices.";
                     container renderer-endpoints {
                         list renderer-endpoint {
+                            min-elements 1;
                             description "Policy between renderer-endpoint and peer-endpoints (peers).
                                 Renderer configures policy for renderer endpoints.";
                             key "context-type context-id address-type address";
@@ -213,6 +213,7 @@ module renderer {
 
                     container rule-groups {
                         list rule-group {
+                            min-elements 1;
                             description "A specific policy rule group that apply to pair of endpoints.
                                 The policy rule group represents the subject with resolved rules.";
                             key "tenant-id contract-id subject-name";
@@ -225,6 +226,7 @@ module renderer {
 
                     container endpoints {
                         list address-endpoint-with-location {
+                            min-elements 1;
                             key "context-type context-id address-type address";
                             uses base-endpoint:address-endpoint-fields;
                             uses base-endpoint:has-location;
@@ -233,15 +235,35 @@ module renderer {
 
                         list containment-endpoint-with-location {
                             key "context-type context-id";
-                            uses base-endpoint:address-endpoint-fields;
-                            uses base-endpoint:has-location;
+                            uses base-endpoint:containment-endpoint-fields;
+                            uses base-endpoint:has-relative-location;
                         }
                     }
 
-                    container forwarding-contexts {
-                        list forwarding-context-by-tenant {
+                    container renderer-forwarding {
+                        list renderer-forwarding-by-tenant {
+                            min-elements 1;
                             key tenant-id;
-                            uses forwarding:forwarding-with-tenant-fields;
+                            leaf tenant-id {
+                                type gbp-common:tenant-id;
+                                description
+                                            "The tenant with which forwarding is associated";
+                            }
+
+                            list renderer-forwarding-context {
+                                key "context-type context-id";
+                                uses forwarding:context-key;
+
+                                uses forwarding:forwarding-fields;
+                            }
+
+                            list renderer-network-domain {
+                                key "network-domain-type network-domain-id";
+                                uses forwarding:network-domain-key;
+
+                                uses forwarding:forwarding-fields;
+                                description "Renderer network domain can be augmented with further information.";
+                            }
                         }
                     }
                 }