X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=blobdiff_plain;f=models%2Fyang%2Fnsi.yang;h=5953f2a0b055aff50be973aa63e363286ef219ce;hp=32087d33021bd210dca6439282ca4389116636ae;hb=c038a8d7a32f350cf88d952b4978bbaf9585d222;hpb=27797538e3a008bfe4c3085ced33daeb6ef88433 diff --git a/models/yang/nsi.yang b/models/yang/nsi.yang index 32087d3..5953f2a 100644 --- a/models/yang/nsi.yang +++ b/models/yang/nsi.yang @@ -1,13 +1,27 @@ -//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 nsi { //header information yang-version 1; - namespace "urn:ietf:params:xml:ns:yang:nfvo:nsi"; + namespace "urn:etsi:osm:yang:nsi"; prefix "nsi"; import nst { @@ -18,16 +32,16 @@ module nsi { prefix "nsr"; } - import vlr { - prefix "vlr"; + import osm-project { + prefix "osm-project"; } - import rw-project { - prefix "rw-project"; + import netslice-instantiation-parameters { + prefix "netslice-instantiation-parameters"; } - import instantiation-parameters { - prefix "instantiation-parameters"; + import ietf-yang-types { + prefix "yang"; } //revision history @@ -37,23 +51,35 @@ module nsi { grouping nsi { leaf id { + description "Identifier for the NSI."; + type yang:uuid; + } + + leaf name { + description "NSI name."; type string; + mandatory true; } + + leaf short-name { + description "NSI short name."; + type string; + } + + leaf description { + description "NSI description."; + type string; + } + leaf nst-ref { type leafref { path "/nst:nst/nst:id"; } + mandatory true; } container instantiation-parameters { - list netslice-subnet { - key "nsdId"; - uses instantiation-parameters:ns_instantiate; - } - list netslice-vld { - key "name"; - uses instantiation-parameters:vld; - } + uses netslice-instantiation-parameters:netslice_params; } container network-slice-template { @@ -67,26 +93,25 @@ module nsi { description "Reference to instantiated NSR"; config false; type leafref { - path "/rw-project:project/nsr:ns-instance-opdata/nsr:nsr/nsr:ns-instance-config-ref"; + path "/osm-project:project/nsr:ns-instance-opdata/nsr:nsr/nsr:ns-instance-config-ref"; } } } - list vlr-ref-list{ - key "vlr-ref"; + list vlr-list{ config false; - leaf vlr-ref { - description "Reference to instantiated VLR"; + key "id"; + leaf id { + description "ID of instantiated VLR"; config false; - type leafref { - path "/rw-project:project/vlr:vlr-catalog/vlr:vlr/vlr:id"; - } + type yang:uuid; } } } list nsi{ key "id"; + unique "name"; uses nsi; }