X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=models%2Fplugins%2Fyang%2Fvnfd.yang;h=ebd56adb25e1b4db980df21c5128b17946833bda;hb=refs%2Fchanges%2F34%2F734%2F1;hp=c035bd3ba9b15349b747f8fa33b3eefe11067e89;hpb=255ff03a528a3090ce7f46f0a63b65da3e6f9bcf;p=osm%2FSO.git diff --git a/models/plugins/yang/vnfd.yang b/models/plugins/yang/vnfd.yang index c035bd3b..ebd56adb 100644 --- a/models/plugins/yang/vnfd.yang +++ b/models/plugins/yang/vnfd.yang @@ -115,6 +115,103 @@ module vnfd } } + grouping vnf-access-point { + list vnfap { + description "List of VNF access points"; + key "name"; + leaf name { + description "Name of the vnf access point"; + type string { + length 128; + } + } + leaf description { + description "A description of this VNF access point"; + type string; + } + list capability { + description "The List of capabilities of this VNF access point"; + key "name"; + leaf name { + description "Name of the capability"; + type string { + length 128; + } + } + leaf description { + description "A description of the capability"; + type string; + } + choice capability-location { + case location-path { + leaf xpath { + description "Location of this capaibility as an xpath. + This field points to an element within vnfd + with the xpath notation and additionally + provides the flexibility to choose attributes + within the instantiated version of this object. + For example, + /vnfd-catalog/vnfd[id='xyz']/connection-point[name='cp1']/ip_address() + refers to the ip address of the connection point with name 'cp1' + in VNFD with id 'xyz'."; + type string; + } + } + case location-primitive-ref { + leaf config-primitive-name-ref { + description "A leafref to configuration primitive. + This field contains a link to the config primitive + the output paramaters of which will satisfy this requirement."; + type leafref { + path "/vnfd:vnfd-catalog/vnfd/vnf-configuration/service-primitive/name"; + } + } + } + case user-input { + list user-input { + key "name"; + description "User input for this capability"; + leaf name { + description "Name of this input"; + type string; + } + leaf value { + description "Value of this input"; + type string; + } + } + } + } + } + list dependency { + description "The List of depenencies of this VNF access point"; + key "name"; + leaf name { + description "Name of this VNF access point"; + type string { + length 128; + } + } + leaf mandatory { + description "Is this dependcy mandatory for this dependency"; + type boolean; + } + leaf description { + description "A description of the dependency"; + type string; + } + leaf config-primitive-name-ref { + description "A leafref to configuration primitive. + This field contains a link to the config primitive + the input paramaters of which will satisfy this requirement."; + type leafref { + path "/vnfd:vnfd-catalog/vnfd/vnf-configuration/service-primitive/name"; + } + } + } + } + } + container vnfd-catalog { description @@ -268,12 +365,16 @@ module vnfd type uint64; } - leaf-list internal-connection-point-ref { - type leafref { - path "../../vdu/internal-connection-point/id"; + list internal-connection-point { + key "id-ref"; + description "List of internal connection points in this VLD"; + leaf id-ref { + description "reference to the internal connection point id"; + type leafref { + path "../../../vdu/internal-connection-point/id"; + } } } - uses manotypes:provider-network; } @@ -508,6 +609,7 @@ module vnfd } } } + uses vnf-access-point; } } }