X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=models%2Fplugins%2Fyang%2Frw-nsd.yang;h=13807a8ba54628fa45c9351ab3d05cbdd017bb47;hb=f314b4af9744068a7ed7a6a6314220c3aa857523;hp=4475928829c13456582a2c5112b58191e65c5d96;hpb=6f1a3fe149e4a6b9803382cb299c902f4cf58ec9;p=osm%2FSO.git diff --git a/models/plugins/yang/rw-nsd.yang b/models/plugins/yang/rw-nsd.yang index 44759288..13807a8b 100644 --- a/models/plugins/yang/rw-nsd.yang +++ b/models/plugins/yang/rw-nsd.yang @@ -1,7 +1,7 @@ /* * - * Copyright 2016 RIFT.IO Inc + * Copyright 2016-2017 RIFT.IO Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,16 +23,29 @@ module rw-nsd namespace "http://riftio.com/ns/riftware-1.0/rw-nsd"; prefix "rw-nsd"; - import nsd { - prefix "nsd"; + import rw-nsd-base { + prefix "rw-nsd-base"; + } + + import vnfd { + prefix "vnfd"; + } + + import vnfd-base { + prefix "vnfd-base"; + } + + import rw-vnfd { + prefix "rwvnfd"; } - import ietf-yang-types { - prefix "yang"; + import nsd { + prefix "nsd"; } - import mano-types { - prefix "manotypes"; + revision 2017-02-28 { + description + "Update model to support projects."; } revision 2015-09-10 { @@ -43,13 +56,108 @@ module rw-nsd "Derived from earlier versions of base YANG files"; } + grouping nsd-config-parameter{ + list config-parameter-map { + key "id"; + description "A mapping of VNF config parameter + requests and sources within this network service"; + leaf id { + description "Identfier for VNF map"; + type string; + } + container config-parameter-request { + leaf member-vnf-index-ref { + description "Reference to member-vnf within constituent-vnfds"; + type leafref { + path "../../../nsd:constituent-vnfd/nsd:member-vnf-index"; + } + } + leaf vnfd-id-ref { + description + "A reference to a vnfd."; + + type leafref { + path "../../../nsd:constituent-vnfd[nsd:member-vnf-index = current()/../member-vnf-index-ref]/nsd:vnfd-id-ref"; + } + } + leaf config-parameter-request-ref { + description "Reference to the request in the VNF + with the specified member-vnf-index"; + type leafref { + path + "/vnfd:vnfd-catalog/vnfd:vnfd[vnfd:id = current()/../vnfd-id-ref]" + + "/rwvnfd:config-parameter/rwvnfd:config-parameter-request/rwvnfd:name"; + } + } + } + container config-parameter-source { + leaf member-vnf-index-ref { + description "Reference to member-vnf within constituent-vnfds"; + type leafref { + path "../../../nsd:constituent-vnfd/nsd:member-vnf-index"; + } + } + leaf vnfd-id-ref { + description + "A reference to a vnfd."; + type leafref { + path "../../../nsd:constituent-vnfd[nsd:member-vnf-index = current()/../member-vnf-index-ref]/nsd:vnfd-id-ref"; + } + } + leaf config-parameter-source-ref { + description "Reference to the source in the VNF + with the specified member-vnf-index"; + type leafref { + path + "/vnfd:vnfd-catalog/vnfd:vnfd[vnfd:id = current()/../vnfd-id-ref]" + + "/rwvnfd:config-parameter/rwvnfd:config-parameter-source/rwvnfd:name"; + } + } + } + } + } + augment /nsd:nsd-catalog/nsd:nsd { - uses manotypes:control-param; - uses manotypes:action-param; - leaf meta { - description - "Any meta-data needed by the UI"; + uses rw-nsd-base:rw-nsd-ext; + uses nsd-config-parameter; + } + + augment /nsd:nsd-catalog/nsd:nsd/nsd:service-primitive/nsd:parameter { + leaf out { + description "If this is an output of the primitive execution"; + type boolean; + default false; + } + } + + augment /nsd:nsd-catalog/nsd:nsd/nsd:service-primitive/nsd:parameter-group/nsd:parameter { + leaf out { + description "If this is an output of the primitive execution"; + type boolean; + default false; + } + } + + augment /nsd:nsd-catalog/nsd:nsd/nsd:vld { + leaf ipv4-nat-pool-name{ type string; + description "IPV4 nat pool name"; + } + + list virtual-connection-points { + description + "A list of virtual-connection points associated with Virtual Link. + These connection points are not directly associated with any VNFs"; + key name; + uses vnfd-base:common-connection-point; + + leaf-list associated-cps { + description + "A List of connection points associated with virtual connection point"; + type leafref { + path "../../nsd:vnfd-connection-point-ref/nsd:vnfd-connection-point-ref"; + } + } } } }