Loading example-data/nfv.xml +24 −0 Original line number Diff line number Diff line Loading @@ -48,14 +48,26 @@ </sw-image-desc> <ext-cpd> <id>inside</id> <int-cpd> <vdu-id>firewall</vdu-id> <cpd>inside</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>management</id> <int-cpd> <vdu-id>firewall</vdu-id> <cpd>management</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>outside</id> <int-cpd> <vdu-id>firewall</vdu-id> <cpd>outside</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <df> Loading Loading @@ -131,14 +143,26 @@ </sw-image-desc> <ext-cpd> <id>left</id> <int-cpd> <vdu-id>router</vdu-id> <cpd>left</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>management</id> <int-cpd> <vdu-id>router</vdu-id> <cpd>management</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>right</id> <int-cpd> <vdu-id>router</vdu-id> <cpd>right</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <df> Loading src/yang/etsi-nfv-ns.yang +8 −7 Original line number Diff line number Diff line Loading @@ -492,7 +492,8 @@ submodule etsi-nfv-ns { } container ns { leaf nsd-id { must ". = deref(../../ns-profile-id)/../nsd-id" { must ". = deref(../../nested-ns-profile-id)/" + "../nsd-id" { } type leafref { Loading Loading @@ -752,7 +753,7 @@ submodule etsi-nfv-ns { } leaf min-number-of-instances { mandatory true; default 1; type uint16; description "Minimum number of instances of the VNF based on this Loading @@ -763,7 +764,7 @@ submodule etsi-nfv-ns { } leaf max-number-of-instances { mandatory true; default 1; type uint16; description "Maximum number of instances of the VNF based on this Loading Loading @@ -1176,7 +1177,7 @@ submodule etsi-nfv-ns { } leaf number-of-instances { mandatory true; default 1; type uint32; description "Specifies the number of VNF instances required for Loading Loading @@ -1236,7 +1237,7 @@ submodule etsi-nfv-ns { } leaf number-of-instances { mandatory true; default 1; type uint32; description "Specifies the number of nested NS instances required Loading Loading @@ -1342,7 +1343,7 @@ submodule etsi-nfv-ns { } leaf min-number-of-instances { type uint16; mandatory true; default 1; description "Minimum number of nested NS instances based on the referenced NSD that is permitted to exist for this Loading @@ -1353,7 +1354,7 @@ submodule etsi-nfv-ns { } leaf max-number-of-instances { type uint16; mandatory true; default 1; description "Maximum number of nested NS instances based on the referenced NSD that is permitted to exist for this Loading src/yang/etsi-nfv-vnf.yang +121 −9 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ submodule etsi-nfv-vnf { } leaf support-mandatory { mandatory true; default "false"; type boolean; description "Indicates whether fulfilling the constraint is Loading Loading @@ -623,7 +623,7 @@ submodule etsi-nfv-vnf { type uint16 { range "1..max"; } mandatory true; default 1; description "Number of virtual CPUs."; reference Loading Loading @@ -738,7 +738,7 @@ submodule etsi-nfv-vnf { enum "swap"; enum "ephemeral"; } mandatory true; default "root"; description "Type of virtualised storage resource (e.g. volume, object)."; Loading Loading @@ -836,7 +836,7 @@ submodule etsi-nfv-vnf { information element."; } leaf container-format { mandatory true; default "bare"; type enumeration { enum "aki" { description Loading Loading @@ -876,7 +876,7 @@ submodule etsi-nfv-vnf { information element."; } leaf disk-format { mandatory true; default "qcow2"; type enumeration { enum "aki" { description Loading Loading @@ -974,7 +974,7 @@ submodule etsi-nfv-vnf { information element."; } leaf image { mandatory true; default "."; type inet:uri; description "This is a reference to the actual software image. Loading Loading @@ -1203,7 +1203,7 @@ submodule etsi-nfv-vnf { } leaf min-number-of-instances { type uint16; mandatory true; default 1; description "Minimum number of instances of the VNFC based on this VDU that is permitted to exist for this flavour."; Loading @@ -1213,7 +1213,7 @@ submodule etsi-nfv-vnf { } leaf max-number-of-instances { type uint16; mandatory true; default 1; must ". >= ../nfv:min-number-of-instances"; reference "GS NFV IFA011: Section 7.1.8.3, VduProfile information Loading Loading @@ -1617,7 +1617,7 @@ submodule etsi-nfv-vnf { must ". >= ../../../../nfv:df/" + "nfv:vdu-profile[id=current()/../nfv:id]/" + "nfv:min-number-of-instances"; mandatory true; default 1; description "Number of instances of VNFC based on this VDU to deploy for this level."; Loading Loading @@ -2036,6 +2036,118 @@ submodule etsi-nfv-vnf { AffinityOrAntiAffinityGroup information element"; } } list indicator { key "id"; leaf id { type string; description "Unique identifier."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } leaf name { type string; description "The human readable name of the VnfIndicator."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } leaf indicator-value { type string; description "Defines the allowed values or value ranges of this indicator."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } leaf source { type enumeration { enum vnf; enum em; enum both; } description "Describe the source of the indicator. The possible values are: • VNF. • EM. • Both. This tells the consumer where to send the subscription request."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } description "Declares the VNF indicators that are supported by this VNF (specific to this DF)."; reference "GS NFV IFA011: Section 7.1.8.2 VnfDf information element"; } list supported-vnf-interfaces { key "name"; leaf name { type enumeration { enum vnf-configuration; enum vnf-indicator; } description "Identifies an interface produced by the VNF. Valid values: - VNF_CONFIGURATION - VNF_INDICATOR"; reference "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails information element"; } leaf-list cpd-id { type leafref { path "../../../ext-cpd/id"; } description "References one or more CPDs from which to instantiate external CPs through which interface endpoints on the VNF side can be reached by the VNFM."; reference "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails information element"; } list interface-details { key "key"; leaf key { type string; } leaf value { type string; } } description "Indicates which interfaces the VNF produces and provides additional details on how to access the interface endpoints."; reference "GS NFV IFA011: Section 7.1.8.2 VnfDf information element"; } list monitoring-parameter { key "id"; Loading Loading
example-data/nfv.xml +24 −0 Original line number Diff line number Diff line Loading @@ -48,14 +48,26 @@ </sw-image-desc> <ext-cpd> <id>inside</id> <int-cpd> <vdu-id>firewall</vdu-id> <cpd>inside</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>management</id> <int-cpd> <vdu-id>firewall</vdu-id> <cpd>management</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>outside</id> <int-cpd> <vdu-id>firewall</vdu-id> <cpd>outside</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <df> Loading Loading @@ -131,14 +143,26 @@ </sw-image-desc> <ext-cpd> <id>left</id> <int-cpd> <vdu-id>router</vdu-id> <cpd>left</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>management</id> <int-cpd> <vdu-id>router</vdu-id> <cpd>management</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <ext-cpd> <id>right</id> <int-cpd> <vdu-id>router</vdu-id> <cpd>right</cpd> </int-cpd> <layer-protocol>Ethernet</layer-protocol> </ext-cpd> <df> Loading
src/yang/etsi-nfv-ns.yang +8 −7 Original line number Diff line number Diff line Loading @@ -492,7 +492,8 @@ submodule etsi-nfv-ns { } container ns { leaf nsd-id { must ". = deref(../../ns-profile-id)/../nsd-id" { must ". = deref(../../nested-ns-profile-id)/" + "../nsd-id" { } type leafref { Loading Loading @@ -752,7 +753,7 @@ submodule etsi-nfv-ns { } leaf min-number-of-instances { mandatory true; default 1; type uint16; description "Minimum number of instances of the VNF based on this Loading @@ -763,7 +764,7 @@ submodule etsi-nfv-ns { } leaf max-number-of-instances { mandatory true; default 1; type uint16; description "Maximum number of instances of the VNF based on this Loading Loading @@ -1176,7 +1177,7 @@ submodule etsi-nfv-ns { } leaf number-of-instances { mandatory true; default 1; type uint32; description "Specifies the number of VNF instances required for Loading Loading @@ -1236,7 +1237,7 @@ submodule etsi-nfv-ns { } leaf number-of-instances { mandatory true; default 1; type uint32; description "Specifies the number of nested NS instances required Loading Loading @@ -1342,7 +1343,7 @@ submodule etsi-nfv-ns { } leaf min-number-of-instances { type uint16; mandatory true; default 1; description "Minimum number of nested NS instances based on the referenced NSD that is permitted to exist for this Loading @@ -1353,7 +1354,7 @@ submodule etsi-nfv-ns { } leaf max-number-of-instances { type uint16; mandatory true; default 1; description "Maximum number of nested NS instances based on the referenced NSD that is permitted to exist for this Loading
src/yang/etsi-nfv-vnf.yang +121 −9 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ submodule etsi-nfv-vnf { } leaf support-mandatory { mandatory true; default "false"; type boolean; description "Indicates whether fulfilling the constraint is Loading Loading @@ -623,7 +623,7 @@ submodule etsi-nfv-vnf { type uint16 { range "1..max"; } mandatory true; default 1; description "Number of virtual CPUs."; reference Loading Loading @@ -738,7 +738,7 @@ submodule etsi-nfv-vnf { enum "swap"; enum "ephemeral"; } mandatory true; default "root"; description "Type of virtualised storage resource (e.g. volume, object)."; Loading Loading @@ -836,7 +836,7 @@ submodule etsi-nfv-vnf { information element."; } leaf container-format { mandatory true; default "bare"; type enumeration { enum "aki" { description Loading Loading @@ -876,7 +876,7 @@ submodule etsi-nfv-vnf { information element."; } leaf disk-format { mandatory true; default "qcow2"; type enumeration { enum "aki" { description Loading Loading @@ -974,7 +974,7 @@ submodule etsi-nfv-vnf { information element."; } leaf image { mandatory true; default "."; type inet:uri; description "This is a reference to the actual software image. Loading Loading @@ -1203,7 +1203,7 @@ submodule etsi-nfv-vnf { } leaf min-number-of-instances { type uint16; mandatory true; default 1; description "Minimum number of instances of the VNFC based on this VDU that is permitted to exist for this flavour."; Loading @@ -1213,7 +1213,7 @@ submodule etsi-nfv-vnf { } leaf max-number-of-instances { type uint16; mandatory true; default 1; must ". >= ../nfv:min-number-of-instances"; reference "GS NFV IFA011: Section 7.1.8.3, VduProfile information Loading Loading @@ -1617,7 +1617,7 @@ submodule etsi-nfv-vnf { must ". >= ../../../../nfv:df/" + "nfv:vdu-profile[id=current()/../nfv:id]/" + "nfv:min-number-of-instances"; mandatory true; default 1; description "Number of instances of VNFC based on this VDU to deploy for this level."; Loading Loading @@ -2036,6 +2036,118 @@ submodule etsi-nfv-vnf { AffinityOrAntiAffinityGroup information element"; } } list indicator { key "id"; leaf id { type string; description "Unique identifier."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } leaf name { type string; description "The human readable name of the VnfIndicator."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } leaf indicator-value { type string; description "Defines the allowed values or value ranges of this indicator."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } leaf source { type enumeration { enum vnf; enum em; enum both; } description "Describe the source of the indicator. The possible values are: • VNF. • EM. • Both. This tells the consumer where to send the subscription request."; reference "GS NFV IFA011: Section 7.1.11.2 VnfIndicator information element"; } description "Declares the VNF indicators that are supported by this VNF (specific to this DF)."; reference "GS NFV IFA011: Section 7.1.8.2 VnfDf information element"; } list supported-vnf-interfaces { key "name"; leaf name { type enumeration { enum vnf-configuration; enum vnf-indicator; } description "Identifies an interface produced by the VNF. Valid values: - VNF_CONFIGURATION - VNF_INDICATOR"; reference "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails information element"; } leaf-list cpd-id { type leafref { path "../../../ext-cpd/id"; } description "References one or more CPDs from which to instantiate external CPs through which interface endpoints on the VNF side can be reached by the VNFM."; reference "GS NFV IFA011: Section 7.1.8.16 VnfInterfaceDetails information element"; } list interface-details { key "key"; leaf key { type string; } leaf value { type string; } } description "Indicates which interfaces the VNF produces and provides additional details on how to access the interface endpoints."; reference "GS NFV IFA011: Section 7.1.8.2 VnfDf information element"; } list monitoring-parameter { key "id"; Loading