Simple strategy to allow address pairs for virtual IP
[osm/IM.git] / models / yang / instantiation-parameters.yang
index a954066..c5258ff 100644 (file)
@@ -1,19 +1,29 @@
-//INFORMATION
-//organization "CTTC";
-//contact "Pol Alemany, Ricard Vilalta, Juan Luis de la Cruz";
-//description "Network Slice components definition";
+/*
+ *
+ *   Copyright 2018 CTTC
+ *   Copyright 2018 Telefonica Investigacion y Desarrollo S.A.U.
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ *
+ */
 
-// MODULE STRUCTURE
 module instantiation-parameters {
   //header information
   yang-version 1;
-  namespace "urn:ietf:params:xml:ns:yang:nfvo:instantiation-parameters";
+  namespace "urn:etsi:osm:yang:instantiation-parameters";
   prefix "instantiation-parameters";
   
-  import rw-project {
-    prefix "rw-project";
-  }
-  
   import nsd {
     prefix "nsd";
   }
@@ -22,10 +32,6 @@ module instantiation-parameters {
     prefix "vnfd";
   }
 
-  import nsr {
-    prefix "nsr";
-  }
-
   import ietf-inet-types {
     prefix "inet";
   }
@@ -33,26 +39,13 @@ module instantiation-parameters {
   import ietf-yang-types {
     prefix "ietf-yang";
   }
-
+  
   //revision history
   revision 2018-09-14 {
     description "Initial version";
   }
-  //typedef definitions
-  grouping ns_instantiate {
-    leaf nsName {
-      mandatory true;
-      type string;
-    }
-    leaf nsDescription {
-      type string;
-    }
-    leaf nsdId {
-      mandatory true;
-      type leafref {
-        path "/nsd:nsd-catalog/nsd:nsd/nsd:id";
-      }
-    }
+
+  grouping ns_params {
     leaf vimAccountId {
       mandatory true;
       type string;
@@ -60,22 +53,17 @@ module instantiation-parameters {
     leaf ssh_keys {
       type string;
     }
-    leaf nsr_id {
-      config false;
-      type leafref {
-        path "/rw-project:project/nsr:ns-instance-opdata/nsr:nsr/nsr:ns-instance-config-ref";
-      }
-    }
     list vnf {
       key "member-vnf-index";
-      uses vnf;
+      uses vnf_params;
     }
     list vld {
       key "name";
-      uses vld;
+      uses vld_params;
     }
   }
-  grouping vnf {
+
+  grouping vnf_params {
     leaf member-vnf-index{
       mandatory true;
       type string;
@@ -85,15 +73,15 @@ module instantiation-parameters {
     }
     list vdu {
       key "id";
-      uses ns_instantiate_vdu;
+      uses vdu_params;
     }
     list internal-vld {
       key "name";
-      uses ns-instantiate-internal-vld;
+      uses internal_vld_params;
     }
   }
 
-  grouping vld {
+  grouping vld_common_params {
     leaf name {
       type string;
     }
@@ -103,11 +91,16 @@ module instantiation-parameters {
     container ip-profile {
       uses ip-profile-update-schema;
     }
+  }
+
+  grouping vld_params {
+    uses vld_common_params;
     list vnfd-connection-point-ref {
       key "member-vnf-index-ref vnfd-connection-point-ref";
       leaf member-vnf-index-ref {
         type leafref {
-            path "../../../vnf/member-vnf-index";
+            //path "../../../vnf/member-vnf-index";
+            path "/nsd:nsd-catalog/nsd:nsd/nsd:constituent-vnfd/nsd:member-vnf-index";
         }
       }
       leaf vnfd-connection-point-ref {
@@ -119,10 +112,9 @@ module instantiation-parameters {
         type inet:ip-address;
       }
     }
-
   }
 
-  grouping ns_instantiate_vdu {
+  grouping vdu_params {
     leaf id {
       mandatory true;
       type string;
@@ -156,7 +148,7 @@ module instantiation-parameters {
     }
   }
 
-  grouping ns-instantiate-internal-vld {
+  grouping internal_vld_params {
     leaf name {
       mandatory true;
       type string;
@@ -187,7 +179,7 @@ module instantiation-parameters {
       type inet:ip-prefix;
     }
     leaf gateway-address {
-      type inet:ip-prefix;
+      type inet:ip-address;
     }
     list dns-server {
       key "address";
@@ -208,10 +200,5 @@ module instantiation-parameters {
       }
     }
   }
-  
-  list instantiation-parameters {
-    key "nsName";
-    uses ns_instantiate;
-  }
 
-}
\ No newline at end of file
+}