X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=models%2Fplugins%2Fyang%2Fnsr.yang;h=a3f9f5780c291dbf766c9f2c36234441f6cd6cd2;hb=1b4f21f003e5ae2e91d1d6d37080ba00979fcd53;hp=c6bb4ec9a8e492458d68fb2bf0b3a79d17c5d1d1;hpb=4cde4083705f4b370ed54cfa05813630fd651945;p=osm%2FSO.git diff --git a/models/plugins/yang/nsr.yang b/models/plugins/yang/nsr.yang index c6bb4ec9..a3f9f578 100644 --- a/models/plugins/yang/nsr.yang +++ b/models/plugins/yang/nsr.yang @@ -98,7 +98,9 @@ module nsr leaf key-pair-ref { description "A reference to the key pair entry in the global key pair table"; - type string; + type leafref { + path "/nsr:key-pair/nsr:name"; + } } } list user { @@ -113,19 +115,17 @@ module nsr description "The user name's real name"; type string; } - list key-pair { - key "name"; - description "Used to configure the list of public keys to be injected as part - of ns instantiation"; + list ssh-authorized-key { + key "key-pair-ref"; - leaf name { - description "Name of this key pair"; - type string; - } + description "Used to configure the list of public keys to be injected as part + of ns instantiation"; - leaf key { - description "Key associated with this key pair"; - type string; + leaf key-pair-ref { + description "A reference to the key pair entry in the global key pair table"; + type leafref { + path "/nsr:key-pair/nsr:name"; + } } } } @@ -133,7 +133,7 @@ module nsr list key-pair { key "name"; - description "Used to configure the list of public keys to be injected as part + description "Used to configure the list of public keys to be injected as part of ns instantiation"; leaf name { description "Name of this key pair"; @@ -151,13 +151,15 @@ module nsr input { leaf name { mandatory true; - description "Name of the Network Service"; + description "Name of the Network Service"; type string; } leaf nsd-ref { description "Reference to NSR ID ref"; mandatory true; - type string; + type leafref { + path "/nsd:nsd-catalog/nsd:nsd/nsd:id"; + } } uses ns-instance-config-params; } @@ -263,17 +265,13 @@ module nsr key "placement-group-ref vnfd-id-ref"; leaf vnfd-id-ref { - description - "A reference to a vnfd. This is a + description + "A reference to a vnfd. This is a leafref to path: ../../../../nsd:constituent-vnfd + [nsr:id = current()/../nsd:id-ref] + /nsd:vnfd-id-ref - NOTE: An issue with confd is preventing the - use of xpath. Seems to be an issue with leafref - to leafref, whose target is in a different module. - Once that is resovled this will switched to use - leafref"; + NOTE: confd limitations prevent the use of xpath"; type yang:uuid; } @@ -325,7 +323,7 @@ module nsr "The SDN account to use when requesting resources for this vnffgr"; type leafref { - path "/rwsdn:sdn-account/rwsdn:name"; + path "/rwsdn:sdn/rwsdn:account/rwsdn:name"; } } @@ -411,7 +409,7 @@ module nsr description "Type of Service Function. NOTE: This needs to map with Service Function Type in ODL to - support VNFFG. Service Function Type is manadatory param in ODL + support VNFFG. Service Function Type is mandatory param in ODL SFC. This is temporarily set to string for ease of use"; type string; } @@ -611,6 +609,14 @@ module nsr type uint32; } + leaf uptime { + description + "Active period of this Network Service. + Uptime is expressed in seconds"; + + type uint32; + } + list connection-point { description "List for external connection points. @@ -819,7 +825,78 @@ module nsr type config-states; } - uses manotypes:ns-service-primitive; + list service-primitive { + description + "Network service level service primitives."; + + key "name"; + + leaf name { + description + "Name of the service primitive."; + type string; + } + + list parameter { + description + "List of parameters for the service primitive."; + + key "name"; + uses manotypes:primitive-parameter; + } + + uses manotypes:ui-primitive-group; + + list vnf-primitive-group { + description + "List of service primitives grouped by VNF."; + + key "member-vnf-index-ref"; + leaf member-vnf-index-ref { + description + "Reference to member-vnf within constituent-vnfds"; + type uint64; + } + + leaf vnfd-id-ref { + description + "A reference to a vnfd. This is a + leafref to path: + ../../../../nsd:constituent-vnfd + + [nsd:id = current()/../nsd:id-ref] + + /nsd:vnfd-id-ref + NOTE: confd limitations prevent the use of xpath"; + + type string; + } + + leaf vnfd-name { + description + "Name of the VNFD"; + type string; + } + + list primitive { + key "index"; + + leaf index { + description "Index of this primitive"; + type uint32; + } + + leaf name { + description "Name of the primitive in the VNF primitive "; + type string; + } + } + } + + leaf user-defined-script { + description + "A user defined script."; + type string; + } + } list initial-config-primitive { rwpb:msg-new NsrInitialConfigPrimitive; @@ -846,12 +923,17 @@ module nsr } list parameter { + description + "List of parameters for the initial config primitive"; key "name"; leaf name { + description "Name of the intitial config parameter"; type string; } leaf value { + description "Value associated with the initial config + parameter"; type string; } } @@ -1093,11 +1175,7 @@ module nsr ../../../../nsd:constituent-vnfd + [nsd:id = current()/../nsd:id-ref] + /nsd:vnfd-id-ref - NOTE: An issue with confd is preventing the - use of xpath. Seems to be an issue with leafref - to leafref, whose target is in a different module. - Once that is resovled this will switched to use - leafref"; + NOTE: confd limitations prevent the use of xpath"; type string; }