X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=blobdiff_plain;f=models%2Fyang%2Fnsi.yang;h=06fe5a12f7f359ad7e61d3b7b181d28f9feeec69;hp=32087d33021bd210dca6439282ca4389116636ae;hb=813947d0a1bcce97c634e3b2e3f3875b404e9782;hpb=27797538e3a008bfe4c3085ced33daeb6ef88433;ds=sidebyside diff --git a/models/yang/nsi.yang b/models/yang/nsi.yang index 32087d3..06fe5a1 100644 --- a/models/yang/nsi.yang +++ b/models/yang/nsi.yang @@ -1,9 +1,23 @@ -//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; @@ -18,16 +32,16 @@ module nsi { prefix "nsr"; } - import vlr { - prefix "vlr"; - } - import rw-project { prefix "rw-project"; } - import instantiation-parameters { - prefix "instantiation-parameters"; + import netslice-instantiation-parameters { + prefix "netslice-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 { @@ -72,21 +98,20 @@ module nsi { } } - 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; }