X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=blobdiff_plain;f=models%2Fyang%2Fnsd-base.yang;h=3f358a5b42c0cfb2f77bd5d04f55118bbffffb53;hp=df995636dc935579b89115ef549706c967e52a99;hb=ebba267848f3bbde5b9a54021ac3f7bc38969481;hpb=8efd85eaa707711720c050432b552be4c1740509 diff --git a/models/yang/nsd-base.yang b/models/yang/nsd-base.yang index df99563..3f358a5 100644 --- a/models/yang/nsd-base.yang +++ b/models/yang/nsd-base.yang @@ -100,7 +100,7 @@ module nsd-base description "NSD parameter pool name to use for this parameter"; type string; } - } + } // primitive-parameter grouping nsd-descriptor-common { leaf id { @@ -157,11 +157,7 @@ module nsd-base different NS."; key "name"; - leaf name { - description - "Name of the NS connection point."; - type string; - } + uses nsd-connection-point-common; leaf type { description @@ -169,15 +165,6 @@ module nsd-base type manotypes:connection-point-type; } - leaf floating-ip-required { - description - "Boolean parameter to indicate whether the CP must be exposed. - A public IP address will be allocated to this CP if exposed is true. - The default is false meaning a floating IP address is not required. - It must be explicitly asked for a floating IP address to be allocated."; - type boolean; - } - choice connection { description "Logical connection of the CP to a VLD or to a VNF CP"; @@ -419,58 +406,16 @@ module nsd-base key "id"; - leaf id { - description - "Identifier for the VNFFGD."; - type string; - } - - leaf name { - description - "VNFFGD name."; - type string; - } - - leaf short-name { - description - "Short name to appear as label in the UI"; - type string; - } - - leaf vendor { - description "Provider of the VNFFGD."; - type string; - } - - leaf description { - description "Description of the VNFFGD."; - type string; - } - - leaf version { - description "Version of the VNFFGD"; - type string; - } + uses fgd-common; list rsp { description "List of Rendered Service Paths (RSP)."; - key "id"; - leaf id { - description - "Identifier for the RSP."; - type string; - } + uses rsp-common; - leaf name { - description - "RSP name."; - type string; - } - - list vnfd-connection-point-ref { + list vnfd-connection-point-ref { // not common description "A list of references to connection points."; key "member-vnf-index-ref"; @@ -496,14 +441,37 @@ module nsd-base + [nsd:id = current()/../nsd:id-ref] + /nsd:vnfd-id-ref"; - type leafref { + type leafref { path "../../../../constituent-vnfd" + - "[member-vnf-index = current()/../member-vnf-index-ref]" + - "/vnfd-id-ref"; - } - } + "[member-vnf-index = current()/../member-vnf-index-ref]" + + "/vnfd-id-ref"; + } + } - leaf vnfd-connection-point-ref { + leaf vnfd-ingress-connection-point-ref { + description + "A reference to a connection point name + in a vnfd. This is a leafref to path: + /vnfd:vnfd-catalog/vnfd:vnfd + + [vnfd:id = current()/../nsd:vnfd-id-ref] + + /vnfd:connection-point/vnfd:name + 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 resolved this will switched to use + leafref"; + // TODO: Keeping as string as this needs to be + // diffenent lvel based of if it is nsd-catalog or + // in nsr. + // type leafref { + // path "../../../../../../vnfd:vnfd-catalog/vnfd:vnfd" + + // "[vnfd:id = current()/../vnfd-id-ref]/" + + // "vnfd:connection-point/vnfd:name"; + // } + type string; + } + + leaf vnfd-egress-connection-point-ref { description "A reference to a connection point name in a vnfd. This is a leafref to path: @@ -534,25 +502,7 @@ module nsd-base key "id"; - leaf id { - description - "Identifier for the classifier rule."; - type string; - } - - leaf name { - description - "Name of the classifier."; - type string; - } - - leaf rsp-id-ref { - description - "A reference to the RSP."; - type leafref { - path "../../rsp/id"; - } - } + uses classifier-common; leaf member-vnf-index-ref { description "Reference to member-vnf within constituent-vnfds"; @@ -598,51 +548,8 @@ module nsd-base // } type string; } - - list match-attributes { - description - "List of match attributes."; - - key "id"; - - leaf id { - description - "Identifier for the classifier match attribute rule."; - type string; - } - - leaf ip-proto { - description - "IP Protocol."; - type uint8; - } - - leaf source-ip-address { - description - "Source IP address."; - type inet:ip-address; - } - - leaf destination-ip-address { - description - "Destination IP address."; - type inet:ip-address; - } - - leaf source-port { - description - "Source port number."; - type inet:port-number; - } - - leaf destination-port { - description - "Destination port number."; - type inet:port-number; - } - //TODO: Add more match criteria - } //match-attributes } // classifier + } // vnffgd uses manotypes:ip-profile-list; @@ -744,12 +651,60 @@ module nsd-base } } } - } + } // nsd-descriptor-common grouping nsd-vld-common { /* Still having issues modelling this, see the comments under vnfd-connection-point-ref + + IMPORTANT: Change description fields */ + uses vld-common; + + choice init-params { + description "Extra parameters for VLD instantiation"; + + case vim-network-ref { + leaf vim-network-name { + description + "Name of network in VIM account. This is used to indicate + pre-provisioned network name in cloud account."; + type string; + } + } + + case vim-network-profile { + leaf ip-profile-ref { + description "Named reference to IP-profile object"; + type leafref { + path "../../ip-profiles/name"; + } + } + } + + } + } // nsd-vld-common + + grouping nsd-connection-point-common { + description "NSD connection point base"; + //IMPORTANT: Change description fields + leaf name { + description + "Name of the connection point."; + type string; + } + + leaf floating-ip-required { + description + "Boolean parameter to indicate whether the CP must be exposed. + A public IP address will be allocated to this CP if exposed is true. + The default is false meaning a floating IP address is not required. + It must be explicitly asked for a floating IP address to be allocated."; + type boolean; + } + } // nsd-connection-point-common + + grouping vld-common { description "List of Virtual Link Descriptors."; @@ -810,30 +765,126 @@ module nsd-base type boolean; default false; } + } // vld-common - choice init-params { - description "Extra parameters for VLD instantiation"; + grouping fgd-common { - case vim-network-ref { - leaf vim-network-name { - description - "Name of network in VIM account. This is used to indicate - pre-provisioned network name in cloud account."; - type string; - } + leaf id { + description + "Identifier for the FGD."; + type string; + } + + leaf name { + description + "FGD name."; + type string; + } + + leaf short-name { + description + "Short name to appear as label in the UI"; + type string; + } + + leaf vendor { + description "Provider of the FGD."; + type string; + } + + leaf description { + description "Description of the FGD."; + type string; + } + + leaf version { + description "Version of the FGD"; + type string; + } + } // fgd-common + + grouping rsp-common { + + leaf id { + description + "Identifier for the RSP."; + type string; + } + + leaf name { + description + "RSP name."; + type string; + } + + } // rsp-common + + grouping classifier-common { + + leaf id { + description + "Identifier for the classifier rule."; + type string; + } + + leaf name { + description + "Name of the classifier."; + type string; + } + + leaf rsp-id-ref { + description + "A reference to the RSP."; + type leafref { + path "../../rsp/id"; } + } - case vim-network-profile { - leaf ip-profile-ref { - description "Named reference to IP-profile object"; - type leafref { - path "../../ip-profiles/name"; - } - } + list match-attributes { + description + "List of match attributes."; + + key "id"; + + leaf id { + description + "Identifier for the classifier match attribute rule."; + type string; } - } - } + leaf ip-proto { + description + "IP Protocol."; + type uint8; + } + + leaf source-ip-address { + description + "Source IP address."; + type inet:ip-address; + } + + leaf destination-ip-address { + description + "Destination IP address."; + type inet:ip-address; + } + + leaf source-port { + description + "Source port number."; + type inet:port-number; + } + + leaf destination-port { + description + "Destination port number."; + type inet:port-number; + } + //TODO: Add more match criteria + } //match-attributes + } // classifier-common grouping monitoring-param-common { description @@ -851,5 +902,5 @@ module nsd-base uses manotypes:monitoring-param-value; uses manotypes:monitoring-param-ui-data; uses manotypes:monitoring-param-aggregation; - } + } // monitoring-param-common }