update from RIFT as of 696b75d2fe9fb046261b08c616f1bcf6c0b54a9b second try
[osm/SO.git] / rwlaunchpad / plugins / rwvns / yang / rwsdnal.yang
index b24952b..8ebc3ab 100644 (file)
@@ -27,10 +27,6 @@ module rwsdnal
     prefix rwbase;
   }
 
-  import rw-pb-ext {
-    prefix "rwpb";
-  }
-
   import rw-yang-types {
     prefix "rwt";
   }
@@ -51,6 +47,14 @@ module rwsdnal
     prefix "yang";
   }
 
+  import rw-project {
+    prefix "rw-project";
+  }
+
+  revision 2017-02-08 {
+    description
+      "Update model to support projects.";
+  }
 
   revision 2014-12-30 {
     description
@@ -72,7 +76,6 @@ module rwsdnal
   grouping connection-status {
     container connection-status {
       config false;
-      rwpb:msg-new SdnConnectionStatus;
       leaf status {
         type sdn-connection-status-enum;
       }
@@ -82,7 +85,7 @@ module rwsdnal
     }
   }
 
-  uses connection-status;
+  // uses connection-status;
 
   typedef sdn-account-type {
     description "SDN account type";
@@ -204,256 +207,249 @@ module rwsdnal
     }
   }
 
-  container sdn-accounts {
-    list sdn-account-list {
-      rwpb:msg-new SDNAccount;
-      key "name";
+  augment "/rw-project:project" {
+    container sdn-accounts {
+      list sdn-account-list {
+        key "name";
 
-      leaf name {
-        type string;
-      }
+        leaf name {
+          type string;
+        }
 
-      uses sdn-provider-auth;
-      uses connection-status;
+        uses sdn-provider-auth;
+        uses connection-status;
+      }
     }
   }
 
-  container vnffgs {
-    list vnffg-chain {
-      key "name";
-      rwpb:msg-new VNFFGChain;
-
-      leaf name {
-        type string;
-      }
-
-      list vnf-chain-path {
-        key "order";
-        leaf order {
-          type uint32;
-          description " Order of the VNF in VNFFG chain";
-        }
-        leaf service-function-type {
-          type string;
-        }
-        leaf nsh-aware {
-          type boolean;
-        }
-        leaf transport-type {
+  augment "/rw-project:project" {
+    container vnffgs {
+      list vnffg-chain {
+        key "name";
+        
+        leaf name {
           type string;
         }
-        list vnfr-ids {
-          key "vnfr-id";
-          leaf vnfr-id {
-            type yang:uuid;
+
+        list vnf-chain-path {
+          key "order";
+          leaf order {
+            type uint32;
+            description " Order of the VNF in VNFFG chain";
           }
-          leaf vnfr-name {
+          leaf service-function-type {
             type string;
           }
-          leaf mgmt-address {
-            type inet:ip-address;
+          leaf nsh-aware {
+            type boolean;
           }
-          leaf mgmt-port {
-              type inet:port-number;
+          leaf transport-type {
+            type string;
           }
-          list vdu-list {
-            key "vm-id port-id";
-            leaf port-id {
-              rwpb:field-inline "true";
-              rwpb:field-string-max 64;
-              type string;
+          list vnfr-ids {
+            key "vnfr-id";
+            leaf vnfr-id {
+              type yang:uuid;
             }
-            leaf vm-id {
-              rwpb:field-inline "true";
-              rwpb:field-string-max 64;
+            leaf vnfr-name {
               type string;
             }
-            leaf name {
-              type string;
-            }
-            leaf address {
+            leaf mgmt-address {
               type inet:ip-address;
             }
-            leaf port {
+            leaf mgmt-port {
               type inet:port-number;
             }
+            list vdu-list {
+              key "vm-id port-id";
+              leaf port-id {
+                type string;
+              }
+              leaf vm-id {
+                type string;
+              }
+              leaf name {
+                type string;
+              }
+              leaf address {
+                type inet:ip-address;
+              }
+              leaf port {
+                type inet:port-number;
+              }
+            }
+            leaf sff-name {
+              description "SFF name useful for non OVS based SFF";
+              type string;
+            }
           }
-          leaf sff-name {
-            description "SFF name useful for non OVS based SFF";
-            type string;
-          } 
         }
-      }
-      list sff {
-        rwpb:msg-new VNFFGSff;
-        key "name"; 
-        leaf name {
-          type string;
-        }
-        leaf function-type {
-          type string;
-        }
-        leaf mgmt-address {
-          type inet:ip-address;
-        }
-        leaf mgmt-port {
-          type inet:port-number;
-        }
-        list dp-endpoints {
+        list sff {
           key "name";
           leaf name {
-           type string;
-          } 
-          leaf address {
+            type string;
+          }
+          leaf function-type {
+            type string;
+          }
+          leaf mgmt-address {
             type inet:ip-address;
           }
-          leaf port {
+          leaf mgmt-port {
             type inet:port-number;
           }
-        }
-        list vnfr-list {
-          key "vnfr-name";
-          leaf vnfr-name {
-            type string;
+          list dp-endpoints {
+            key "name";
+            leaf name {
+              type string;
+            }
+            leaf address {
+              type inet:ip-address;
+            }
+            leaf port {
+              type inet:port-number;
+            }
+          }
+          list vnfr-list {
+            key "vnfr-name";
+            leaf vnfr-name {
+              type string;
+            }
           }
         }
-      }
-      leaf classifier-name {
-        type string;
+        leaf classifier-name {
+          type string;
+        }
       }
     }
   }
 
-  container vnffg-rendered-paths {
-    rwpb:msg-new VNFFGRenderedPaths;
-    list vnffg-rendered-path {
-      key "name";
-      rwpb:msg-new VNFFGRenderedPath;
-      config false;
-      leaf name {
-        type string;
-      }
-      leaf path-id {
-          description
-              "Unique Identifier for the service path";
-        type uint32;
-      }
-      list rendered-path-hop {
-        key "hop-number";
-        leaf hop-number {
-          type uint8;
-        }
-        leaf service-index {
-            description
-                "Location within the service path";
-          type uint8;
-        }
-        leaf vnfr-name {
+  augment "/rw-project:project" {
+    container vnffg-rendered-paths {
+      list vnffg-rendered-path {
+        key "name";
+        config false;
+        leaf name {
           type string;
         }
-        container service-function-forwarder {
-          leaf name { 
+        leaf path-id {
+          description
+            "Unique Identifier for the service path";
+          type uint32;
+        }
+        list rendered-path-hop {
+          key "hop-number";
+          leaf hop-number {
+            type uint8;
+          }
+          leaf service-index {
             description
-                "Service Function Forwarder name";
+              "Location within the service path";
+            type uint8;
+          }
+          leaf vnfr-name {
             type string;
           }
-          leaf ip-address {
-            description
+          container service-function-forwarder {
+            leaf name {
+              description
+                "Service Function Forwarder name";
+              type string;
+            }
+            leaf ip-address {
+              description
                 "Service Function Forwarder Data Plane IP address";
-            type inet:ip-address;
-          }  
-          leaf port {
-            description
+              type inet:ip-address;
+            }
+            leaf port {
+              description
                 "Service Function Forwarder Data Plane port";
-            type inet:port-number;
-          }  
+              type inet:port-number;
+            }
+          }
         }
       }
     }
   }
 
-
-  container vnffg-classifiers {
-    list vnffg-classifier {
-      key "name";
-      rwpb:msg-new VNFFGClassifier;
-
-      leaf name {
-        type string;
-      }
-      leaf rsp-name {
-        type string;
-      }
-      leaf rsp-id {
-        type yang:uuid;
-      }
-      leaf port-id {
-        rwpb:field-inline "true";
-        rwpb:field-string-max 64;
-        type string;
-      }
-      leaf vm-id {
-        rwpb:field-inline "true";
-        rwpb:field-string-max 64;
-        type string;
-      }
-      leaf sff-name {
-        type string;
-      }
-      container vnffg-metadata {
-        leaf ctx1 {
+  augment "/rw-project:project" {
+    container vnffg-classifiers {
+      list vnffg-classifier {
+        key "name";
+        
+        leaf name {
           type string;
         }
-        leaf ctx2 {
+        leaf rsp-name {
           type string;
         }
-        leaf ctx3 {
+        leaf rsp-id {
+          type yang:uuid;
+        }
+        leaf port-id {
           type string;
         }
-        leaf ctx4 {
+        leaf vm-id {
           type string;
         }
-      }
-      list match-attributes {
-        description
-            "List of match attributes.";
-        key "name";
-        leaf name {
+        leaf sff-name {
+          type string;
+        }
+        container vnffg-metadata {
+          leaf ctx1 {
+            type string;
+          }
+          leaf ctx2 {
+            type string;
+          }
+          leaf ctx3 {
+            type string;
+          }
+          leaf ctx4 {
+            type string;
+          }
+        }
+        list match-attributes {
           description
+            "List of match attributes.";
+          key "name";
+          leaf name {
+            description
               "Name for the Access list";
-          type string;  
-        }
+            type string;
+          }
 
-        leaf ip-proto {
-          description
+          leaf ip-proto {
+            description
               "IP Protocol.";
-          type uint8;
-        }
+            type uint8;
+          }
 
-        leaf source-ip-address {
-          description
+          leaf source-ip-address {
+            description
               "Source IP address.";
-          type inet:ip-prefix;
-        }
+            type inet:ip-prefix;
+          }
 
-        leaf destination-ip-address {
-          description
+          leaf destination-ip-address {
+            description
               "Destination IP address.";
-          type inet:ip-prefix;
-        }
+            type inet:ip-prefix;
+          }
 
-        leaf source-port {
-          description
+          leaf source-port {
+            description
               "Source port number.";
-          type inet:port-number;
-        }
+            type inet:port-number;
+          }
 
-        leaf destination-port {
-          description
+          leaf destination-port {
+            description
               "Destination port number.";
-          type inet:port-number;
-        }
-      } //match-attributes
+            type inet:port-number;
+          }
+        } //match-attributes
+      }
     }
   }