SubnetRoute enhancements to VPN Service models
[vpnservice.git] / neutronvpn / neutronvpn-api / src / main / yang / neutronvpn.yang
index bc306bbfd8ba33c4e310c27afcc867b085ae5792..92c084a75deb98b6df51c1247fb4095b975db702 100644 (file)
@@ -18,6 +18,11 @@ module neutronvpn {
               description "UUID representing the subnet ";
             }
 
+            leaf subnet-ip {
+                type    string;
+                description "Specifies the subnet IP in CIDR format";
+            }
+
             leaf tenant-id {
                 type    yang:uuid;
                 description "The UUID of the tenant that will own the subnet.";
@@ -139,11 +144,6 @@ module neutronvpn {
 
     /* Data models to adhere to restart requirements */
     container neutron-port-data {
-        list port-name-to-port-uuid {
-            key port-name;
-            leaf port-id { type yang:uuid;}
-            leaf port-name { type string;}
-        }
         list port-fixedip-to-port-name {
             key port-fixedip;
             leaf port-name { type string;}
@@ -286,4 +286,108 @@ module neutronvpn {
         }
     }
 
+    rpc get-fixedIPs-for-neutron-port {
+    description "returns neutron port fixed IPs";
+        input {
+            leaf port-id {
+                type yang:uuid;
+            }
+        }
+        output {
+            leaf-list fixedIPs {
+                type    string;
+                description "The neutron port fixedIPs list corresponding to the port uuid";
+            }
+        }
+    }
+
+    notification subnet-added-to-vpn{
+            description "new subnet added to vpn";
+            leaf subnet-id {
+                type yang:uuid;
+            }
+            leaf subnet-ip {
+                type string;
+            }
+            leaf vpn-name {
+                type string;
+            }
+            leaf external-vpn {
+                type boolean;
+            }
+            leaf elan-tag {
+                type uint32;
+            }
+    }
+
+    notification subnet-deleted-from-vpn{
+            description "subnet deleted from vpn";
+            leaf subnet-id {
+                type yang:uuid;
+            }
+            leaf subnet-ip {
+                type string;
+            }
+            leaf vpn-name {
+                type string;
+            }
+            leaf external-vpn {
+                type boolean;
+            }
+            leaf elan-tag {
+                type uint32;
+            }
+    }
+
+    notification subnet-updated-in-vpn{
+            description "subnet updated in vpn";
+            leaf subnet-id {
+                 type yang:uuid;
+            }
+            leaf subnet-ip {
+                 type string;
+            }
+            leaf vpn-name {
+                 type string;
+            }
+            leaf external-vpn {
+                 type boolean;
+            }
+            leaf elan-tag {
+                type uint32;
+            }
+    }
+
+    notification port-added-to-subnet{
+            description "new port added to subnet";
+            leaf subnet-id{
+                type yang:uuid;
+            }
+            leaf subnet-ip{
+                type string;
+            }
+            leaf port-id{
+                type yang:uuid;
+            }
+            leaf elan-tag {
+                type uint32;
+            }
+    }
+
+    notification port-removed-from-subnet{
+            description "port removed from subnet";
+            leaf subnet-id{
+                type yang:uuid;
+            }
+            leaf subnet-ip{
+                type string;
+            }
+            leaf port-id{
+                type yang:uuid;
+            }
+            leaf elan-tag {
+                type uint32;
+            }
+    }
+
 }
\ No newline at end of file