Commits (68)
......@@ -6,7 +6,7 @@
# https://forge.etsi.org/etsi-software-license
YANG_MODULES="yang/yang/*"
OUTPUT="etsi-nfv.html"
OUTPUT="etsi-nfv-descriptors.html"
IMG_NAME="sol006"
VERSION=latest
IMG="$IMG_NAME:$VERSION"
......
<nfv xmlns="urn:etsi:params:xml:ns:yang:etsi-nfv">
<nfv xmlns="urn:etsi:nfv:yang:etsi-nfv-descriptors">
<vnfd>
<id>ASA</id>
<provider>My Company</provider>
<product-name>My Company ASAv</product-name>
<software-version>9.8</software-version>
<version>9.8 </version>
<version>9.8</version>
<vnfm-info>My Company Vnfm</vnfm-info>
<vdu>
<id>firewall</id>
<name>Firewall VDU</name>
<int-cpd>
<id>inside</id>
<layer-protocol>Ethernet</layer-protocol>
<layer-protocol>ethernet</layer-protocol>
</int-cpd>
<int-cpd>
<id>management</id>
<layer-protocol>Ethernet</layer-protocol>
<layer-protocol>ethernet</layer-protocol>
</int-cpd>
<int-cpd>
<id>outside</id>
<layer-protocol>Ethernet</layer-protocol>
<layer-protocol>ethernet</layer-protocol>
</int-cpd>
<virtual-compute-desc>asa-vcd</virtual-compute-desc>
<virtual-storage-desc>asa-vsd</virtual-storage-desc>
......@@ -36,14 +36,21 @@
</virtual-compute-desc>
<virtual-storage-descriptor>
<id>asa-vsd</id>
<type-of-storage>root</type-of-storage>
<type-of-storage>root-storage</type-of-storage>
<size-of-storage>0</size-of-storage>
</virtual-storage-descriptor>
<sw-image-desc>
<id>asa-image</id>
<name>ASA image</name>
<version>1.1</version>
<checksum>
<algorithm>sha-224</algorithm>
<hash>deadbeef</hash>
</checksum>
<container-format>bare</container-format>
<disk-format>qcow2</disk-format>
<min-ram>2.0</min-ram>
<size>1</size>
<image>http://www.cisco.com/asa.qcow2</image>
</sw-image-desc>
<ext-cpd>
......@@ -52,7 +59,7 @@
<vdu-id>firewall</vdu-id>
<cpd>inside</cpd>
</int-cpd>
<layer-protocol>Ethernet</layer-protocol>
<layer-protocol>ethernet</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>management</id>
......@@ -60,7 +67,7 @@
<vdu-id>firewall</vdu-id>
<cpd>management</cpd>
</int-cpd>
<layer-protocol>Ethernet</layer-protocol>
<layer-protocol>ethernet</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>outside</id>
......@@ -68,7 +75,7 @@
<vdu-id>firewall</vdu-id>
<cpd>outside</cpd>
</int-cpd>
<layer-protocol>Ethernet</layer-protocol>
<layer-protocol>ethernet</layer-protocol>
</ext-cpd>
<df>
<id>normal</id>
......@@ -80,14 +87,14 @@
<instantiation-level>
<id>double</id>
<vdu-level>
<id>firewall</id>
<vdu-id>firewall</vdu-id>
<number-of-instances>2</number-of-instances>
</vdu-level>
</instantiation-level>
<instantiation-level>
<id>single</id>
<vdu-level>
<id>firewall</id>
<vdu-id>firewall</vdu-id>
<number-of-instances>1</number-of-instances>
</vdu-level>
</instantiation-level>
......@@ -106,15 +113,15 @@
<name>Router VDU</name>
<int-cpd>
<id>left</id>
<layer-protocol>Ethernet</layer-protocol>
<layer-protocol>ethernet</layer-protocol>
</int-cpd>
<int-cpd>
<id>management</id>
<layer-protocol>Ethernet</layer-protocol>
<layer-protocol>ethernet</layer-protocol>
</int-cpd>
<int-cpd>
<id>right</id>
<layer-protocol>Ethernet</layer-protocol>
<layer-protocol>ethernet</layer-protocol>
</int-cpd>
<virtual-compute-desc>csr-vcd</virtual-compute-desc>
<virtual-storage-desc>csr-vsd</virtual-storage-desc>
......@@ -131,14 +138,21 @@
</virtual-compute-desc>
<virtual-storage-descriptor>
<id>csr-vsd</id>
<type-of-storage>root</type-of-storage>
<type-of-storage>root-storage</type-of-storage>
<size-of-storage>0</size-of-storage>
</virtual-storage-descriptor>
<sw-image-desc>
<id>csr-image</id>
<name>CSR image</name>
<version>1.1</version>
<checksum>
<algorithm>sha-224</algorithm>
<hash>deadbeef</hash>
</checksum>
<container-format>bare</container-format>
<disk-format>qcow2</disk-format>
<min-ram>2.0</min-ram>
<size>1</size>
<image>http://www.cisco.com/csr.qcow2</image>
</sw-image-desc>
<ext-cpd>
......@@ -147,7 +161,7 @@
<vdu-id>router</vdu-id>
<cpd>left</cpd>
</int-cpd>
<layer-protocol>Ethernet</layer-protocol>
<layer-protocol>ethernet</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>management</id>
......@@ -155,7 +169,7 @@
<vdu-id>router</vdu-id>
<cpd>management</cpd>
</int-cpd>
<layer-protocol>Ethernet</layer-protocol>
<layer-protocol>ethernet</layer-protocol>
</ext-cpd>
<ext-cpd>
<id>right</id>
......@@ -163,7 +177,7 @@
<vdu-id>router</vdu-id>
<cpd>right</cpd>
</int-cpd>
<layer-protocol>Ethernet</layer-protocol>
<layer-protocol>ethernet</layer-protocol>
</ext-cpd>
<df>
<id>normal</id>
......@@ -175,14 +189,14 @@
<instantiation-level>
<id>double</id>
<vdu-level>
<id>router</id>
<vdu-id>router</vdu-id>
<number-of-instances>2</number-of-instances>
</vdu-level>
</instantiation-level>
<instantiation-level>
<id>single</id>
<vdu-level>
<id>router</id>
<vdu-id>router</vdu-id>
<number-of-instances>1</number-of-instances>
</vdu-level>
</instantiation-level>
......@@ -206,7 +220,7 @@
<vnf-profile>
<id>firewall</id>
<vnfd-id>ASA</vnfd-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
......@@ -243,7 +257,7 @@
<id>fw2dpi</id>
<connectivity-type>
<layer-protocol>
<protocol>Ethernet</protocol>
<protocol>ethernet</protocol>
</layer-protocol>
</connectivity-type>
<df>
......@@ -258,7 +272,7 @@
<id>mgmt</id>
<connectivity-type>
<layer-protocol>
<protocol>IPv4</protocol>
<protocol>ipv4</protocol>
</layer-protocol>
</connectivity-type>
<df>
......@@ -273,7 +287,7 @@
<id>r2fw</id>
<connectivity-type>
<layer-protocol>
<protocol>Ethernet</protocol>
<protocol>ethernet</protocol>
</layer-protocol>
</connectivity-type>
<df>
......@@ -289,7 +303,7 @@
<vnf-profile>
<id>firewall</id>
<vnfd-id>ASA</vnfd-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
......@@ -311,7 +325,7 @@
<vnf-profile>
<id>router</id>
<vnfd-id>CSR</vnfd-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
......@@ -333,7 +347,7 @@
<virtual-link-profile>
<id>mgmt</id>
<virtual-link-desc-id>mgmt</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<max-bitrate-requirements>
<root>1000</root>
</max-bitrate-requirements>
......@@ -344,7 +358,7 @@
<virtual-link-profile>
<id>r2fw</id>
<virtual-link-desc-id>r2fw</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<max-bitrate-requirements>
<root>10000000</root>
</max-bitrate-requirements>
......@@ -370,7 +384,7 @@
<vnf-profile>
<id>firewall</id>
<vnfd-id>ASA</vnfd-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
......@@ -399,7 +413,7 @@
<vnf-profile>
<id>router</id>
<vnfd-id>CSR</vnfd-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
......@@ -432,7 +446,7 @@
<virtual-link-profile>
<id>fw2dpi</id>
<virtual-link-desc-id>fw2dpi</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<max-bitrate-requirements>
<root>1000000</root>
</max-bitrate-requirements>
......@@ -443,7 +457,7 @@
<virtual-link-profile>
<id>mgmt</id>
<virtual-link-desc-id>mgmt</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<max-bitrate-requirements>
<root>1000</root>
</max-bitrate-requirements>
......@@ -454,7 +468,7 @@
<virtual-link-profile>
<id>r2fw</id>
<virtual-link-desc-id>r2fw</virtual-link-desc-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<max-bitrate-requirements>
<root>1000000</root>
</max-bitrate-requirements>
......@@ -498,7 +512,7 @@
<id>r2fw</id>
<connectivity-type>
<layer-protocol>
<protocol>IPv4</protocol>
<protocol>ipv4</protocol>
</layer-protocol>
</connectivity-type>
<df>
......@@ -514,7 +528,7 @@
<vnf-profile>
<id>router</id>
<vnfd-id>CSR</vnfd-id>
<flavor-id>normal</flavor-id>
<flavour-id>normal</flavour-id>
<instantiation-level>single</instantiation-level>
<min-number-of-instances>1</min-number-of-instances>
<max-number-of-instances>1</max-number-of-instances>
......@@ -529,7 +543,7 @@
<virtual-link-profile>
<id>r2fw</id>
<virtual-link-desc-id>r2fw</virtual-link-desc-id>
<flavor-id>r2fw</flavor-id>
<flavour-id>r2fw</flavour-id>
<max-bitrate-requirements>
<root>500</root>
</max-bitrate-requirements>
......@@ -570,7 +584,7 @@
<version>1.0</version>
<ext-cpd>
<id>outside</id>
<layer-protocol>Ethernet</layer-protocol>
<layer-protocol>ethernet</layer-protocol>
</ext-cpd>
</pnfd>
</nfv>
......@@ -10,7 +10,7 @@ cd src
echo "Testing compilation"
CONFD_OPTS="--fail-on-warnings"
CONFD_OPTS=""
confdc -c $CONFD_OPTS -o /opt/confd/etc/confd/etsi-nfv.fxs etsi-nfv.yang
confdc -c $CONFD_OPTS -o /opt/confd/etc/confd/etsi-nfv-descriptors.fxs etsi-nfv-descriptors.yang
echo "Starting ConfD"
confd
......
submodule etsi-nfv-common {
yang-version 1.1;
belongs-to etsi-nfv {
belongs-to etsi-nfv-descriptors {
prefix nfv;
}
description
......@@ -20,22 +20,22 @@ submodule etsi-nfv-common {
*/
identity layer-protocol {
}
identity Ethernet {
identity ethernet {
base layer-protocol;
}
identity MPLS {
identity mpls {
base layer-protocol;
}
identity ODU2 {
identity odu2 {
base layer-protocol;
}
identity IPv4 {
identity ipv4 {
base layer-protocol;
}
identity IPv6 {
identity ipv6 {
base layer-protocol;
}
identity Pseudo-Wire {
identity pseudo-wire {
base layer-protocol;
}
......@@ -177,6 +177,69 @@ submodule etsi-nfv-common {
base cp-role;
}
identity checksum-algorithm {
description
"Identifies the algorithms supported for the purpose of
calculating the checksum.";
reference
"GS NFV IFA011: Section 7.1.6.10 Checksum information element.";
}
identity sha-224 {
base checksum-algorithm;
description
"SHA-224.";
reference
"GS NFV IFA011: Section 7.1.6.10 Checksum information element.";
}
identity sha-256 {
base checksum-algorithm;
description
"SHA-256.";
reference
"GS NFV IFA011: Section 7.1.6.10 Checksum information element.";
}
identity sha-384 {
base checksum-algorithm;
description
"SHA-384.";
reference
"GS NFV IFA011: Section 7.1.6.10 Checksum information element.";
}
identity sha-512 {
base checksum-algorithm;
description
"SHA-512.";
reference
"GS NFV IFA011: Section 7.1.6.10 Checksum information element.";
}
identity storage-type {
description
"Base type of storage that identities can derive from.";
}
identity root-storage {
base storage-type;
description
"Root type of storage.";
}
identity swap-storage {
base storage-type;
description
"Swap type of storage.";
}
identity ephemeral-storage {
base storage-type;
description
"Ephemeral type of storage.";
}
/*
* Typedefs
*/
......@@ -215,8 +278,8 @@ submodule etsi-nfv-common {
enum "end-healing";
enum "start-termination";
enum "end-termination";
enum "start-vnf-flavor-change";
enum "end-vnf-flavor-change";
enum "start-vnf-flavour-change";
enum "end-vnf-flavour-change";
enum "start-vnf-operation-change";
enum "end-vnf-operation-change";
enum "start-vnf-ext-conn-change";
......@@ -392,7 +455,7 @@ submodule etsi-nfv-common {
}
leaf-list layer-protocol {
default Ethernet;
default ethernet;
type identityref {
base layer-protocol;
}
......@@ -571,5 +634,115 @@ submodule etsi-nfv-common {
reference
"GS NFV IFA011: Section 7.1.6.3 Cpd information element";
}
leaf security-group-rule-id {
type leafref {
path "/nfv/vnfd/security-group-rule/id";
}
description
"Reference of the security group rules bound to this
CPD.";
reference
"GS NFV IFA011: Section 7.1.6.3 Cpd information element";
}
}
grouping security-group-rule {
list security-group-rule {
key "id";
leaf id {
type string;
description
"Identifier of this SecurityGroupRule information
element.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf description {
type string;
description
"Human readable description of the security group rule.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf direction {
type enumeration {
enum ingress;
enum egress;
}
default "ingress";
description
"The direction in which the security group rule is applied.
Permitted values: INGRESS, EGRESS. Defaults to INGRESS.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf ether-type {
type enumeration {
enum ipv4;
enum ipv6;
}
default "ipv4";
description
"Indicates the protocol carried over the Ethernet layer.
Permitted values: IPV4, IPV6. Defaults to IPV4.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf protocol {
type enumeration {
enum tcp;
enum udp;
enum icmp;
}
default "tcp";
description
"Indicates the protocol carried over the IP layer.
Permitted values: any protocol defined in the IANA
protocol registry, e.g. TCP, UDP, ICMP, etc. Defaults
to TCP.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf port-range-min {
must ". <= ../port-range-max";
type uint16;
default "0";
description
"Indicates minimum port number in the range that is
matched by the security group rule. Defaults to 0.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf port-range-max {
must ". >= ../port-range-min";
type uint16;
default "65535";
description
"Indicates maximum port number in the range that is
matched by the security group rule. Defaults to 65535.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
description
"Defines security group rules to be used by the VNF.";
reference
"GS NFV IFA011: Section 7.1.2, VNFD information element.";
}
}
}
module etsi-nfv {
module etsi-nfv-descriptors {
yang-version 1.1;
namespace "urn:etsi:params:xml:ns:yang:etsi-nfv";
namespace "urn:etsi:nfv:yang:etsi-nfv-descriptors";
prefix nfv;
include etsi-nfv-common;
......
submodule etsi-nfv-ns {
yang-version 1.1;
belongs-to etsi-nfv {
belongs-to etsi-nfv-descriptors {
prefix nfv;
}
......@@ -146,63 +146,66 @@ submodule etsi-nfv-ns {
"GS NFV IFA014: Section 6.2.3.2 Sapd information element";
}
leaf virtual-link-desc {
type leafref {
path "../../virtual-link-desc/id";
choice cpd-or-virtual-link {
leaf virtual-link-desc {
type leafref {
path "../../virtual-link-desc/id";
}
description
"References the descriptor of the NS VL instance to
which the SAP instantiated from this SAPD connects to.";
reference
"GS NFV IFA014: Section 6.2.3.2 Sapd information element";
}
description
"References the descriptor of the NS VL instance to
which the SAP instantiated from this SAPD connects to.";
reference
"GS NFV IFA014: Section 6.2.3.2 Sapd information element";
}
choice associated-cpd-id {
container vnf {
leaf vnfd-id {
mandatory true;
type leafref {
path "../../../../nfv:vnfd/nfv:id";
choice associated-cpd-id {
container vnf {
leaf vnfd-id {
mandatory true;
type leafref {
path "../../../../nfv:vnfd/nfv:id";
}
must "boolean(../../../vnfd-id[.=current()])";
}
must "boolean(../../../vnfd-id[.=current()])";
}
leaf ext-cpd-id {
mandatory true;
type leafref {
path "deref(../vnfd-id)/../nfv:ext-cpd/nfv:id";
leaf ext-cpd-id {
mandatory true;
type leafref {
path "deref(../vnfd-id)/../nfv:ext-cpd/nfv:id";
}
}
}
}
container pnf {
leaf pnfd-id {
mandatory true;
container pnf {
leaf pnfd-id {
mandatory true;
type leafref {
path "../../../../nfv:pnfd/nfv:id";
path "../../../../nfv:pnfd/nfv:id";
}
must "boolean(../pnfd-id[.=current()])";
}
must "boolean(../pnfd-id[.=current()])";
}
leaf ext-cpd-id {
mandatory true;
type leafref {
path "deref(../pnfd-id)/../nfv:ext-cpd/nfv:id";
leaf ext-cpd-id {
mandatory true;
type leafref {
path "deref(../pnfd-id)/../nfv:ext-cpd/nfv:id";
}
}
}
}
container ns {
leaf nsd-id {
mandatory true;
type leafref {
path "../../../../nfv:nsd/nfv:id";
container ns {
leaf nsd-id {
mandatory true;
type leafref {
path "../../../../nfv:nsd/nfv:id";
}
must "boolean(../nsd-id[.=current()])";
}
must "boolean(../nsd-id[.=current()])";
}
leaf ext-cpd-id {
mandatory true;
type leafref {
path "deref(../nsd-id)/../nfv:sapd/nfv:id";
leaf ext-cpd-id {
mandatory true;
type leafref {
path "deref(../nsd-id)/../nfv:sapd/nfv:id";
}
}
}
}
......@@ -415,25 +418,54 @@ submodule etsi-nfv-ns {
key "id";
description
"A pool of descriptors of connection points attached to
one of the constituent VNFs and PNFs and/or one of the
SAPs of the parent NS or of a nested NS.";
"Describes a pool of descriptors of connection points
attached to one of the constituent VNFs and PNFs and/or
one of the SAPs of the parent NS or of a nested NS.";
reference
"GS NFV IFA014: Section 6.4.2.2 Vnffgd information
element";
leaf id {
type string;
}
choice constituent-base-element-id {
mandatory "true";
container vnf-profile {
leaf vnf-profile-id {
must ". = deref(../../vnfd-profile-id)" {
}
type leafref {
path "/nfv/nsd/df/vnf-profile/id";
}
}
}
container pnf-profile {
leaf pnf-profile-id {
must ". = deref(../../pnfd-profile-id)" {
}
type leafref {
path "/nfv/nsd/df/pnf-profile/id";
}
}
}
container ns-profile {
leaf ns-profile-id {
must ". = deref(../../ns-profile-id)" {
}
type leafref {
path "/nfv/nsd/df/ns-profile/id";
}
}
}
description
"Identifier of this CpdPool information element. It
identifies a pool of descriptors of connection points
and NS SAPs.";
"Reference to the profile of an NS constituent.";
reference
"GS NFV IFA014: Section 6.4.4.2 CpdPool information
element";
"GS NFV IFA014: Section 6.4.8 CpdInConstituentElement
information element";
}
choice cpd-id {
choice constituent-cpd-id {
container vnf {
leaf vnfd-id {
must ". = deref(../../vnfd-profile-id)/../vnfd-id" {
......@@ -464,7 +496,8 @@ submodule etsi-nfv-ns {
}
container ns {
leaf nsd-id {
must ". = deref(../../nested-ns-profile-id)/../nsd-id" {
must ". = deref(../../nested-ns-profile-id)/" +
"../nsd-id" {
}
type leafref {
......@@ -645,7 +678,7 @@ submodule etsi-nfv-ns {
"GS NFV IFA014: Section 6.3.2.2 NsDf information element";
}
leaf flavor-key {
leaf flavour-key {
type leafref {
path "../monitored-info/id";
}
......@@ -696,7 +729,7 @@ submodule etsi-nfv-ns {
element";
}
leaf flavor-id {
leaf flavour-id {
mandatory true;
type leafref {
path "deref(../vnfd-id)/../df/id";
......@@ -711,7 +744,7 @@ submodule etsi-nfv-ns {
leaf instantiation-level {
mandatory true;
type leafref {
path "deref(../flavor-id)/../instantiation-level/id";
path "deref(../flavour-id)/../instantiation-level/id";
}
description
"Identifier of the instantiation level of the VNF DF
......@@ -945,7 +978,7 @@ submodule etsi-nfv-ns {
information element";
}
leaf flavor-id {
leaf flavour-id {
mandatory true;
type leafref {
path "deref(../virtual-link-desc-id)/../df/id";
......
submodule etsi-nfv-pnf {
yang-version 1.1;
belongs-to etsi-nfv {
belongs-to etsi-nfv-descriptors {
prefix nfv;
}
......@@ -111,6 +111,7 @@ submodule etsi-nfv-pnf {
reference
"GS NFV-IFA014: Section 6.6.2, Pnfd information element";
}
uses security-group-rule;
}
}
}
submodule etsi-nfv-vnf {
yang-version 1.1;
belongs-to etsi-nfv {
belongs-to etsi-nfv-descriptors {
prefix nfv;
}
......@@ -45,6 +45,7 @@ submodule etsi-nfv-vnf {
"GS NFV-IFA011: Section 7.1.6.6,
VirtualNetworkInterfaceRequirements information element";
}
leaf description {
type string;
description
......@@ -53,6 +54,7 @@ submodule etsi-nfv-vnf {
"GS NFV-IFA011: Section 7.1.6.6,
VirtualNetworkInterfaceRequirements information element";
}
leaf support-mandatory {
default "false";
type boolean;
......@@ -64,8 +66,12 @@ submodule etsi-nfv-vnf {
"GS NFV-IFA011: Section 7.1.6.6,
VirtualNetworkInterfaceRequirements information element";
}
list network-interface-requirements {
key "key";
min-elements "1";
max-elements "1";
leaf key {
type string;
}
......@@ -80,6 +86,7 @@ submodule etsi-nfv-vnf {
"GS NFV-IFA011: Section 7.1.6.6,
VirtualNetworkInterfaceRequirements information element";
}
leaf nicio-requirements {
type leafref {
path "/nfv/vnfd/virtual-compute-desc/id";
......@@ -280,23 +287,11 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.4, VduCpd information
element.";
}
uses cpd;
leaf security-group-rule-id {
type leafref {
path "../../../security-group-rule/id";
}
description
"Reference of the security group rules bound to this
CPD.";
reference
"GS NFV IFA011: Section 7.1.6.3 Cpd information element";
}
}
leaf virtual-compute-desc {
type leafref {
path "../../nfv:virtual-compute-desc/" +
"nfv:id";
path "../../nfv:virtual-compute-desc/nfv:id";
}
must "../../nfv:virtual-compute-desc[id=current()]/" +
"nfv:virtual-memory/size >=" +
......@@ -399,14 +394,8 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.7,
VnfcConfigurableProperties Information element.";
}
list boot-data {
key "key";
leaf key {
type string;
}
leaf value {
type string;
}
leaf boot-data {
type string;
description
"Contains a string or a URL to a file contained in the
VNF package used to customize a virtualised compute
......@@ -672,29 +661,51 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.9.3.2, VirtualCpuData
information element.";
}
container virtual-cpu-pinning {
container pinning {
presence "Set to specify CPU pinning.";
leaf cpu-pinning-policy {
leaf policy {
default "dynamic";
type enumeration {
enum "static";
enum "dynamic";
}
description
"Indicates the policy for CPU pinning. The policy can
take values of 'static' or 'dynamic'. The cardinality
can be 0 during the allocation request, if no
particular value is requested.";
"The policy can take values of 'static' or 'dynamic'.
In case of 'static' the virtual CPU cores are
requested to be allocated to logical CPU cores
according to the rules defined in
virtualCpuPinningRules. In case of 'dynamic' the
allocation of virtual CPU cores to logical CPU cores
is decided by the VIM. (e.g. SMT (Simultaneous
MultiThreading) requirements).";
reference
"GS NFV IFA011: Section 7.1.9.2.4,
VirtualCpuPinningData information element.";
}
container cpu-pinning-map {
when "../nfv:cpu-pinning-policy = 'static'";
list rule {
when "../nfv:policy = 'static'";
key "key";
leaf key {
type string;
}
leaf value {
type string;
}
description
"A list of rules that should be considered during the
allocation of the virtual CPUs to logical CPUs in case
of 'static' virtualCpuPinningPolicy.";
reference
"GS NFV IFA011: Section 7.1.9.2.4,
VirtualCpuPinningData information element.";
}
description
"If cpuPinningPolicy is defined as 'static', the
cpuPinningMap provides the map of pinning virtual
CPU cores to physical CPU cores/threads. Cardinality
is 0 if cpuPinningPolicy has a different value than
'static'.";
"The virtual CPU pinning configuration for the
virtualised compute resource.";
reference
"GS NFV IFA011: Section 7.1.9.2.3,
VirtualCpuData information element.";
}
}
}
......@@ -716,12 +727,10 @@ submodule etsi-nfv-vnf {
leaf type-of-storage {
// Needed to be able to onboard images
type enumeration {
enum "root";
enum "swap";
enum "ephemeral";
}
default "root";
default "root-storage";
type identityref {
base storage-type;
}
description
"Type of virtualised storage resource (e.g. volume,
object).";
......@@ -795,6 +804,7 @@ submodule etsi-nfv-vnf {
information element";
}
leaf name {
mandatory true;
type string;
description
"The name of this software image.";
......@@ -802,7 +812,9 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.5 SwImageDesc
information element.";
}
leaf version {
mandatory true;
type string;
description
"The version of this software image.";
......@@ -810,9 +822,14 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.5 SwImageDesc
information element.";
}
container checksum {
leaf algorithm {
type string;
mandatory true;
type identityref {
base checksum-algorithm;
}
description
"Species the algorithm used to obtain the checksum
value.";
......@@ -820,7 +837,9 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.10 ChecksumData
information element.";
}
leaf hash {
mandatory true;
type string;
description
"Contains the result of applying the algorithm
......@@ -836,6 +855,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.5 SwImageDesc
information element.";
}
leaf container-format {
default "bare";
type enumeration {
......@@ -876,6 +896,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.5 SwImageDesc
information element.";
}
leaf disk-format {
default "qcow2";
type enumeration {
......@@ -934,6 +955,7 @@ submodule etsi-nfv-vnf {
"The disk format of a software image is the format of
the underlying disk image.";
}
leaf min-disk {
type uint64;
units "GB";
......@@ -948,6 +970,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.5, SwImageDesc
information element.";
}
leaf min-ram {
type decimal64 {
fraction-digits 1;
......@@ -965,7 +988,9 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.5, SwImageDesc
information element.";
}
leaf size {
mandatory true;
type uint64;
units "GB";
description
......@@ -974,6 +999,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.5, SwImageDesc
information element.";
}
leaf image {
default ".";
type inet:uri;
......@@ -985,6 +1011,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.5, SwImageDesc
information element.";
}
leaf operating-system {
type string;
description
......@@ -995,6 +1022,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.6.5, SwImageDesc
information element.";
}
leaf-list supported-virtualization-environment {
type string;
description
......@@ -1024,7 +1052,7 @@ submodule etsi-nfv-vnf {
Information elements.";
}
list desc-flavor {
list flavour {
key "id";
description
"Describes a specific flavour of the VL with specific
......@@ -1038,7 +1066,7 @@ submodule etsi-nfv-vnf {
description
"Identifies a flavour within a VnfVirtualLinkDesc.";
reference
"GS NFV IFA011: Section 7.1.8.5, VirtualLinkDescFlavor
"GS NFV IFA011: Section 7.1.8.5, VirtualLinkDescFlavour
information element.";
}
container qos {
......@@ -1046,7 +1074,7 @@ submodule etsi-nfv-vnf {
description
"QoS of the VL.";
reference
"GS NFV IFA011: Section 7.1.8.5, VirtualLinkDescFlavor
"GS NFV IFA011: Section 7.1.8.5, VirtualLinkDescFlavour
information element.";
leaf latency {
......@@ -1120,102 +1148,7 @@ submodule etsi-nfv-vnf {
}
}
list security-group-rule {
key "id";
leaf id {
type string;
description
"Identifier of this SecurityGroupRule information
element.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf description {
type string;
description
"Human readable description of the security group rule.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf direction {
type enumeration {
enum ingress;
enum egress;
}
default "ingress";
description
"The direction in which the security group rule is applied.
Permitted values: INGRESS, EGRESS. Defaults to INGRESS.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf ether-type {
type enumeration {
enum ipv4;
enum ipv6;
}
default "ipv4";
description
"Indicates the protocol carried over the Ethernet layer.
Permitted values: IPV4, IPV6. Defaults to IPV4.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf protocol {
type enumeration {
enum tcp;
enum udp;
enum icmp;
}
default "tcp";
description
"Indicates the protocol carried over the IP layer.
Permitted values: any protocol defined in the IANA
protocol registry, e.g. TCP, UDP, ICMP, etc. Defaults
to TCP.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf port-range-min {
must ". <= ../port-range-max";
type uint16;
default "0";
description
"Indicates minimum port number in the range that is
matched by the security group rule. Defaults to 0.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
leaf port-range-max {
must ". >= ../port-range-min";
type uint16;
default "65535";
description
"Indicates maximum port number in the range that is
matched by the security group rule. Defaults to 65535.";
reference
"GS NFV IFA011: Section 7.1.6.9, SecurityGroupRule
information element.";
}
description
"Defines security group rules to be used by the VNF.";
reference
"GS NFV IFA011: Section 7.1.2, VNFD information element.";
}
uses security-group-rule;
list ext-cpd {
key "id";
......@@ -1245,25 +1178,14 @@ submodule etsi-nfv-vnf {
}
}
leaf cpd {
type leafref {
path "deref(../vdu-id)/../int-cpd/id";
}
type leafref {
path "deref(../vdu-id)/../int-cpd/id";
}
}
}
}
uses virtual-network-interface-requirements;
uses cpd;
leaf security-group-rule-id {
type leafref {
path "../../security-group-rule/id";
}
description
"Reference of the security group rules bound to this
CPD.";
reference
"GS NFV IFA011: Section 7.1.6.3 Cpd information element";
}
}
list df {
......@@ -1282,15 +1204,15 @@ submodule etsi-nfv-vnf {
"Identifier of this DF within the VNFD.";
reference
"GS NFV IFA011: Section 7.1.8, Information elements
to the DeploymentFlavor.";
to the DeploymentFlavour.";
}
leaf description {
type string;
description
"Human readable description of the deployment flavor";
"Human readable description of the deployment flavour";
reference
"GS NFV IFA011: Section 7.1.8, Information elements
to the DeploymentFlavor.";
to the DeploymentFlavour.";
}
list vdu-profile {
key "id";
......@@ -1300,7 +1222,7 @@ submodule etsi-nfv-vnf {
a given VDU used in a deployment flavour.";
reference
"GS NFV IFA011: Section 7.1.8, Information elements
to the DeploymentFlavor.";
to the DeploymentFlavour.";
leaf id {
type leafref {
path "../../../nfv:vdu/nfv:id";
......@@ -1355,7 +1277,7 @@ submodule etsi-nfv-vnf {
}
list virtual-link-profile {
key "id flavor";
key "id flavour";
description
"Defines the internal VLD along with additional data which
is used in this DF.";
......@@ -1373,10 +1295,11 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.8.4, VirtualLinkProfile
information element.";
}
leaf flavor {
leaf flavour {
type leafref {
path "deref(../../../ext-cpd/int-virtual-link-desc)" +
"/../desc-flavor/id";
"/../flavour/id";
}
description
"Identifies a flavour within the VnfVirtualLinkDesc.";
......@@ -1402,6 +1325,246 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.8.4, VirtualLinkProfile
information element.";
}
container max-bit-rate-requirements {
leaf root {
mandatory "true";
type uint32;
description
"Throughput requirement of the link (e.g. bitrate of
E-Line, root bitrate of E-Tree, aggregate capacity
of E-LAN).";
reference
"GS NFV IFA011: Section 7.1.8.6,
LinkBitrateRequirements information element.";
}
leaf leaf {
type uint32;
description
"Throughput requirement of leaf connections to the
link when applicable to the connectivity type
(e.g. for E-Tree and E-LAN branches).";
reference
"GS NFV IFA011: Section 7.1.8.6,
LinkBitrateRequirements information element.";
}
description
"Specifies the maximum bitrate requirements for a VL
instantiated according to this profile.";
reference
"GS NFV IFA011: Section 7.1.8.4, VirtualLinkProfile
information element.";
}
container min-bit-rate-requirements {
leaf root {
mandatory "true";
type uint32;
description
"Throughput requirement of the link (e.g. bitrate of
E-Line, root bitrate of E-Tree, aggregate capacity
of E-LAN).";
reference
"GS NFV IFA011: Section 7.1.8.6,
LinkBitrateRequirements information element.";
}
leaf leaf {
type uint32;
description
"Throughput requirement of leaf connections to the
link when applicable to the connectivity type
(e.g. for E-Tree and E-LAN branches).";
reference
"GS NFV IFA011: Section 7.1.8.6,
LinkBitrateRequirements information element.";
}
description
"Specifies the minimum bitrate requirements for a VL
instantiated according to this profile.";
reference
"GS NFV IFA011: Section 7.1.8.4, VirtualLinkProfile
information element.";
}
container virtual-link-protocol-data {
leaf associated-layer-protocol {
type identityref {
base layer-protocol;
}
description
"One of the values of the attribute layerProtocol of
the ConnectivityType IE.";
reference
"GS NFV IFA011: Section 7.1.8.13,
VirtualLinkProtocolData information element.";
}
container l2-protocol-data {
when "(../associated-layer-protocol = 'Ethernet') or " +
"(../associated-layer-protocol = 'MPLS') or " +
"(../associated-layer-protocol = 'ODU2') or " +
"(../associated-layer-protocol = 'Pseudo-Wire')";
leaf name {
type string;
description
"Network name associated with this L2 protocol.";
reference
"GS NFV IFA011: Section 7.1.8.14,
L2ProtocolData information element.";
}
leaf network-type {
type enumeration {
enum flat;
enum vlan;
enum vxlan;
enum gre;
}
description
"Specifies the network type for this L2 protocol.
Possible values: FLAT, VLAN, VXLAN, GRE.";
reference
"GS NFV IFA011: Section 7.1.8.14,
L2ProtocolData information element.";
}
leaf vlan-transparent {
type boolean;
description
"Specifies whether to support VLAN transparency for
this L2 protocol or not.";
reference
"GS NFV IFA011: Section 7.1.8.14,
L2ProtocolData information element.";
}
leaf mtu {
type uint16;
description
"Specifies the maximum transmission unit (MTU) value
for this L2 protocol.";
reference
"GS NFV IFA011: Section 7.1.8.14,
L2ProtocolData information element.";
}
description
"Specifies the L2 protocol data for this virtual link.
Shall be present when the associatedLayerProtocol
attribute indicates a L2 protocol and shall be absent
otherwise.";
reference
"GS NFV IFA011: Section 7.1.8.13,
VirtualLinkProtocolData information element.";
}
container l3-protocol-data {
when "(../associated-layer-protocol = 'IPv4') or " +
"(../associated-layer-protocol = 'IPv6')";
leaf name {
type string;
description
"Network name associated with this L3 protocol.";
reference
"GS NFV IFA011: Section 7.1.8.15,
L3ProtocolData information element.";
}
leaf ip-version {
type enumeration {
enum ipv4;
enum ipv6;
}
default "ipv4";
description
"Specifies IP version of this L3 protocol.
Value:
• IPV4.
• IPV6.";
reference
"GS NFV IFA011: Section 7.1.8.15,
L3ProtocolData information element.";
}
leaf cidr {
type string;
description
"Specifies the CIDR (Classless InterDomain Routing)
of this L3 protocol.";
reference
"GS NFV IFA011: Section 7.1.8.15,
L3ProtocolData information element.";
}
leaf-list ip-allocation-pools {
type string;
description
"Specifies the allocation pools with start and end
IP addresses for this L3 protocol.";
reference
"GS NFV IFA011: Section 7.1.8.15,
L3ProtocolData information element.";
}
leaf gateway-ip {
type inet:ip-address;
description
"Specifies the gateway IP address for this L3
protocol.";
reference
"GS NFV IFA011: Section 7.1.8.15,
L3ProtocolData information element.";
}
leaf dhcp-enabled {
type boolean;
default "true";
description
"Indicates whether DHCP (Dynamic Host Configuration
Protocol) is enabled or disabled for this L3
protocol.";
reference
"GS NFV IFA011: Section 7.1.8.15,
L3ProtocolData information element.";
}
leaf ipv6-address-mode {
when "../ip-version = 'ipv6'";
type enumeration {
enum slaac;
enum dhcpv6-stateful;
enum dhcpv6-stateless;
}
description
"Specifies IPv6 address mode. Possible values:
• SLAAC.
• DHCPV6-STATEFUL.
• DHCPV6-STATELESS.
May be present when the value of the ipVersion
attribute is 'IPV6' and shall be absent otherwise.";
reference
"GS NFV IFA011: Section 7.1.8.15,
L3ProtocolData information element.";
}
description
"Specifies the L3 protocol data for this virtual link.
Shall be present when the associatedLayerProtocol
attribute indicates a L3 protocol and shall be absent
otherwise.";
reference
"GS NFV IFA011: Section 7.1.8.13,
VirtualLinkProtocolData information element.";
}
description
"Specifies the protocol data for a VL instantiated
according to this profile. Cardinality 0 is used when
no protocol data needs to be specified.";
reference
"GS NFV IFA011: Section 7.1.8.4, VirtualLinkProfile
information element.";
}
}
list instantiation-level {
......@@ -1440,7 +1603,7 @@ submodule etsi-nfv-vnf {
information element";
}
list vdu-level {
key "id";
key "vdu-id";
min-elements 1;
description
"Sets the number of instances for the VDU in this
......@@ -1448,7 +1611,8 @@ submodule etsi-nfv-vnf {
reference
"GS NFV IFA011: Section 7.1.8.7 InstantiationLevel
information element";
leaf id {
leaf vdu-id {
type leafref {
path "../../../../nfv:vdu/nfv:id";
}
......@@ -1461,10 +1625,10 @@ submodule etsi-nfv-vnf {
leaf number-of-instances {
type uint16;
must ". <= ../../../../nfv:df/" +
"nfv:vdu-profile[id=current()/../nfv:id]/" +
"nfv:vdu-profile[id=current()/../nfv:vdu-id]/" +
"nfv:max-number-of-instances";
must ". >= ../../../../nfv:df/" +
"nfv:vdu-profile[id=current()/../nfv:id]/" +
"nfv:vdu-profile[id=current()/../nfv:vdu-id]/" +
"nfv:min-number-of-instances";
default 1;
description
......@@ -1476,7 +1640,7 @@ submodule etsi-nfv-vnf {
}
}
list scaling-info {
key "id";
key "scaling-aspect-id";
description
"The InstantiationLevel information element describes a
given level of resources to be instantiated within a
......@@ -1485,7 +1649,8 @@ submodule etsi-nfv-vnf {
reference
"GS NFV IFA011: Section 7.1.8.7 InstantiationLevel
information element";
leaf id {
leaf scaling-aspect-id {
type leafref {
path "../../../nfv:scaling-aspect/nfv:id";
}
......@@ -1541,8 +1706,23 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.8.2 VnfDf information
element";
leaf instantiate-vnf-op-config {
type string;
container instantiate-vnf-op-config {
list parameter {
key "key";
leaf key {
type string;
}
leaf value {
type string;
}
description
"Array of KVP requirements for VNF-specific parameters
to be passed when invoking the InstantiateVnf
operation.";
reference
"GS NFV IFA011: Section 7.1.5.3
InstantiateVnfOpConfig information element";
}
description
"Configuration parameters for the InstantiateVnf
operation.";
......@@ -1550,6 +1730,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.5.2
VnfLcmOperationsConfiguration information element";
}
container scale-vnf-op-config {
description
"Configuration parameters for the ScaleVnf operation.";
......@@ -1566,12 +1747,13 @@ submodule etsi-nfv-vnf {
type string;
}
description
"VNF-specific parameter to be passed when invoking
the ScaleVnf operation.";
reference
"Array of KVP requirements for VNFspecific parameters
to be passed when invoking the ScaleVnf operation.";
reference
"GS NFV IFA011: Section 7.1.5.4 ScaleVnfOpConfig
information element";
}
leaf scaling-by-more-than-one-step-supported {
type boolean;
default false;
......@@ -1585,6 +1767,7 @@ submodule etsi-nfv-vnf {
ScaleVnfOpConfig information element";
}
}
container scale-vnf-to-level-op-config {
description
"This information element defines attributes that
......@@ -1603,14 +1786,17 @@ submodule etsi-nfv-vnf {
type string;
}
description
"VNF-specific parameter to be passed when invoking
the ScaleVnfToLevel operation.";
"Array of KVP requirements for VNF-specific parameters
to be passed when invoking the ScaleVnfToLevel
operation.";
reference
"GS NFV IFA011: Section 7.1.5.5
ScaleVnfToLevelOpConfig information element";
}
leaf arbitrary-target-levels-supported {
type boolean;
default "false";
description
"Signals whether scaling according to the parameter
'scaleInfo' is supported by this VNF.";
......@@ -1619,6 +1805,7 @@ submodule etsi-nfv-vnf {
ScaleVnfToLevelOpConfig information element";
}
}
container heal-vnf-op-config {
description
"This information element defines attributes that
......@@ -1627,16 +1814,24 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.5.2
VnfLcmOperationsConfiguration information element";
leaf parameter {
type string;
list parameter {
key "key";
leaf key {
type string;
}
leaf value {
type string;
}
description
"VNF-specific parameter to be passed when invoking
the HealVnf operation.";
"Array of KVP requirements for VNF-specific parameters
to be passed when invoking the HealVnf operation.";
reference
"GS NFV IFA011: Section 7.1.5.6 HealVnfOpConfig
information element";
}
leaf cause {
leaf-list cause {
type string;
description
"Supported 'cause' parameter values.";
......@@ -1645,6 +1840,7 @@ submodule etsi-nfv-vnf {
information element";
}
}
container terminate-vnf-op-config {
description
"This information element defines attributes that
......@@ -1652,8 +1848,10 @@ submodule etsi-nfv-vnf {
reference
"GS NFV IFA011: Section 7.1.5.2
VnfLcmOperationsConfiguration information element";
leaf min-graceful-termination {
type yang:timeticks;
default "1";
description
"Minimum timeout value for graceful termination of
a VNF instance.";
......@@ -1661,6 +1859,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.5.7
TerminateVnfOpConfig information element";
}
leaf max-recommended-graceful-termination {
type yang:timeticks;
description
......@@ -1675,7 +1874,25 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.5.7
TerminateVnfOpConfig information element";
}
list parameter {
key "key";
leaf key {
type string;
}
leaf value {
type string;
}
description
"Array of KVP requirements for VNF-specific parameters
to be passed when invoking the TerminateVnf
operation.";
reference
"GS NFV IFA011: Section 7.1.5.7
TerminateVnfOpConfig information element";
}
}
container operate-vnf-op-config {
description
"This information element defines attributes that
......@@ -1686,6 +1903,7 @@ submodule etsi-nfv-vnf {
leaf min-graceful-stop-timeout {
type yang:timeticks;
default "1";
description
"Minimum timeout value for graceful stop of a VNF
instance.";
......@@ -1693,6 +1911,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.5.8
OperateVnfOpConfig information element";
}
leaf max-recommended-graceful-stop-timeout {
type yang:timeticks;
description
......@@ -1707,6 +1926,74 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.5.8
OperateVnfOpConfig information element";
}
list parameter {
key "key";
leaf key {
type string;
}
leaf value {
type string;
}
description
"Array of KVP requirements for VNF-specific parameters
to be passed when invoking the OperateVnf
operation.";
reference
"GS NFV IFA011: Section 7.1.5.8
OperateVnfOpConfig information element";
}
}
container change-vnf-flavour-op-config {
list parameter {
key "key";
leaf key {
type string;
}
leaf value {
type string;
}
description
"Array of KVP requirements for VNF-specific parameters
to be passed when invoking the OperateVnf
operation.";
reference
"GS NFV IFA011: Section 7.1.5.9
ChangeVnfFlavour information element";
}
description
"Configuration parameters for the ChangeVnfFlavour
operation.";
reference
"GS NFV IFA011: Section 7.1.5.2
VnfLcmOperationsConfiguration information element";
}
container change-ext-vnf-connectivity-op-config {
list parameter {
key "key";
leaf key {
type string;
}
leaf value {
type string;
}
description
"Array of KVP requirements for VNF-specific parameters
to be passed when invoking the
ChangeExtVnfConnectivity operation.";
reference
"GS NFV IFA011: Section 7.1.5.10
ChangeExtVnfConnectivityOpConfig information
element";
}
description
"Configuration parameters for the
ChangeExtVnfConnectivity operation.";
reference
"GS NFV IFA011: Section 7.1.5.2
VnfLcmOperationsConfiguration information element";
}
}
......@@ -2100,7 +2387,7 @@ submodule etsi-nfv-vnf {
reference
"GS NFV IFA011: Section 7.1.2 VNFD information element";
leaf auto-scalable {
leaf is-auto-scalable-enabled {
type boolean;
description
"It permits to enable (TRUE) / disable (FALSE) the
......@@ -2109,7 +2396,8 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.12 VnfConfigurableProperties
information element";
}
leaf auto-healable {
leaf is-auto-heal-enabled {
type boolean;
description
"It permits to enable (TRUE) / disable (FALSE) the
......@@ -2118,6 +2406,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.12 VnfConfigurableProperties
information element";
}
list additional-configurable-property {
key "key";
leaf key {
......@@ -2191,14 +2480,20 @@ submodule etsi-nfv-vnf {
}
list lifecycle-management-script {
key "event";
key "id";
description
"Includes a list of events and corresponding management
scripts performed for the VNF.";
reference
"GS NFV IFA011: Section 7.1.2 VNFD information element";
leaf event {
leaf id {
type string;
description
"A unique string that identfies the script in question.";
}
leaf-list event {
type internal-lifecycle-management-script-event;
description
"Describes VNF lifecycle event(s) or an external stimulus
......@@ -2207,7 +2502,7 @@ submodule etsi-nfv-vnf {
"GS NFV IFA011: Section 7.1.13 LifeCycleManagementScript
information element";
}
leaf lcm-transition-event {
leaf-list lcm-transition-event {
type string;
description
"Describes the transition VNF lifecycle event(s) that
......