Newer
Older
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
InstantiateVnfRequest:
This type represents request parameters for the "Instantiate VNF" operation.
NOTE 1: The indication of externally-managed internal VLs is needed in case
networks have been pre-configured for use with certain VNFs, for instance
to ensure that these networks have certain properties such as security or
acceleration features, or to address particular network topologies.
The present document assumes that externally-managed internal VLs are
managed by the NFVO and created towards the VIM.
NOTE 2: It is possible to have several ExtManagedVirtualLinkData for the same VNF
internal VL in case of a multi-site VNF spanning several VIMs. The set of
ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall
indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed
multi-site VL instance (refer to clause 4.4.1.12).
description: >
Identifier of the VNF deployment flavour to be instantiated.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
instantiationLevelId:
description: >
Identifier of the instantiation level of the deployment flavour to be instantiated. If not present,
the default instantiation level as declared in the VNFD is instantiated.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
extVirtualLinks:
description: >
Information about external VLs to connect the VNF to, including configuration information
for the CPs via which the VNF instance can attach to this VL.
The following applies to the "ExtVirtualLinkData" information provided in this
request, together with the related overriding information provided in the
"Grant" structure (see clause 9.5.2.3): even if the VNF is not instantiated in
fully scaled-out state, the API consumer shall provide enough CP configuration
records to allow connecting the VNF instance, fully scaled out in all scaling
aspects, to the external VLs
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ExtVirtualLinkData"
extManagedVirtualLinks:
description: >
Information about internal VLs that are managed by the NFVO. See note 1 and note 2.
$ref: "#/definitions/ExtManagedVirtualLinkData"
vimConnectionInfo:
description: >
Information about VIM connections to be used for managing the resources for the VNF instance, or refer to
external/externally-managed virtual links.
This attribute shall only be supported and may be present if VNF-related resource management in direct mode is
applicable. The VNFM shall apply the content of this attribute to the "vimConnectionInfo" attribute of "VnfInstance"
according to the rules of JSON Merge Patch (see IETF RFC 7396 [5]).
type: object
additionalProperties:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/VimConnectionInfo"
localizationLanguage:
Localization language of the VNF to be instantiated. The value shall
comply with the format defined in IETF RFC 5646.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/String"
additionalParams:
description: >
Additional input parameters for the instantiation process, specific
to the VNF being instantiated, as declared in the VNFD as part of
"InstantiateVnfOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
Giacomo Bernini
committed
extensions:
description: >
If present, this attribute provides modifications to the default values,
as obtained from the VNFD, of the "extensions" attribute in "VnfInstance",
as defined in clause 5.5.2.2. Provisions for handling extensions during the
operation are defined in clause 5.4.4.3.1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
Giacomo Bernini
committed
vnfConfigurableProperties:
description: >
If present, this attribute provides modifications to the default values, as obtained from the VNFD, of
the "vnfConfigurableProperties" attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for
handling configurable properties during the operation are defined in clause 5.4.4.3.1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
ExtManagedVirtualLinkData:
type: object
required:
- id
- vnfVirtualLinkDescId
- resourceId
properties:
id:
description: >
The identifier of the externally-managed internal VL instance. The
identifier is assigned by the NFV-MANO entity that manages this VL
instance.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfVirtualLinkDescId:
description: >
The identifier of the VLD in the VNFD for this VL.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
vimConnectionId:
description: >
Identifier of the VIM connection to manage this resource. This
attribute shall only be supported and present if VNF-related
resource management in direct mode is applicable.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
resourceProviderId:
description: >
Identifies the entity responsible for the management of this
resource. This attribute shall only be supported and present if
VNF-related resource management in indirect mode is applicable. The
identification scheme is outside the scope of the present document.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
resourceId:
description: >
The identifier of the resource in the scope of the VIM or the
resource provider.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVim"
vnfLinkPort:
description: >
Externally provided link ports to be used to connect VNFC connection points to this externally-managed VL
on this network resource. If this attribute is not present, the VNFM shall create the link ports on the
externally-managed VL.
type: array
items:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/VnfLinkPortData"
extManagedMultisiteVirtualLinkId:
description: >
Identifier of the externally-managed multi-site VL instance. The identifier is assigned by the NFVMANO
entity that manages the externally managed multi-site VL instance. It shall be present when the present
externally-managed internal VL (indicated by extManagedVirtualLinkId) is part of a multi-site VL, e.g.,
in support of multi-site VNF spanning several VIMs. All externally-managed internal VL instances
corresponding to an internal VL created based on the same virtualLinkDescId shall refer to the same
extManagedMultisiteVirtualLinkId.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
ChangeVnfFlavourRequest:
description: >
This type represents request parameters for the "Change VNF flavour" operation.
NOTE 1: The indication of externally-managed internal VLs is needed in case networks
have been pre-configured for use with certain VNFs, for instance to ensure
that these networks have certain properties such as security or acceleration
features, or to address particular network topologies. The present document
assumes that externally-managed internal VLs are managed by the NFVO and created
towards the VIM.
NOTE 2: It is possible to have several ExtManagedVirtualLinkData for the same VNF internal
VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData
corresponding to the same VNF internal VL shall indicate so by referencing to the same
VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 4.4.1.12).
- newFlavourId
newFlavourId:
description: >
Identifier of the VNF deployment flavour to be instantiated.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
instantiationLevelId:
description: >
Identifier of the instantiation level of the deployment flavour to
be instantiated. If not present, the default instantiation level as
declared in the VNFD is instantiated.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
extVirtualLinks:
description: >
Information about external VLs to connect the VNF to, including configuration information
for the CPs via which the VNF instance can attach to this VL.
Entries in the list of external VLs that are unchanged need not be supplied as part of
this request.
The following applies to the "ExtVirtualLinkData" information provided in this
request, together with the related "ExtVirtualLinkInfo" information known to the
VNFM represented in the "VnfInstance" structure (see clause 5.5.2.2) and the related
overriding information provided in the "Grant" structure (see clause 9.5.2.3): Even if the VNF
is not in fully scaled-out state after changing the flavour, the API consumer shall provide
enough CP configuration records to allow connecting the VNF instance, fully scaled out in all scaling
aspects, to the external VLs.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ExtVirtualLinkData"
extManagedVirtualLinks:
description: >
Information about internal VLs that are managed by the NFVO. See notes 1 and 2.
$ref: "#/definitions/ExtManagedVirtualLinkData"
vimConnectionInfo:
description: >
Information about VIM connections to be used for managing the resources for the VNF instance, or refer to
external / externally-managed virtual links. This attribute shall only be supported and may be present if
VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this
attribute to the "vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch
(see IETF RFC 7396).
type: object
additionalProperties:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/VimConnectionInfo"
additionalParams:
description: >
Additional input parameters for the flavour change process, specific to the VNF being modified, as
declared in the VNFD as part of "ChangeVnfFlavourOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
If present, this attribute provides modifications to the values of the "extensions"
attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling
extensions during the operation, are defined in clause 5.4.7.3.1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
vnfConfigurableProperties:
description: >
If present, this attribute provides modifications to the values of the "vnfConfigurableProperties" attribute
in "VnfInstance", as defined in clause 5.5.2.2.
Provisions for handling VNF configurable properties during the operation, are defined in clause 5.4.7.3.1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
TerminateVnfRequest:
description: >
This type represents request parameters for the "Terminate VNF" operation.
NOTE: If the VNF is still in service, requesting forceful termination can
adversely impact network service.
type: object
required:
- terminationType
properties:
terminationType:
description: >
Indicates whether forceful or graceful termination is requested.
See note.
Permitted values:
- FORCEFUL: The VNFM will shut down the VNF and release the
resources immediately after accepting the request.
- GRACEFUL: The VNFM will first arrange to take the VNF out of
service after accepting the request. Once the operation
of taking the VNF out of service finishes (irrespective
of whether it has succeeded or failed) or once the timer
value specified in the "gracefulTerminationTimeout"
attribute expires, the VNFM will shut down the VNF and
release the resources.
type: string
enum:
- FORCEFUL
- GRACEFUL
gracefulTerminationTimeout:
description: >
This attribute is only applicable in case of graceful termination.
It defines the time to wait for the VNF to be taken out of service
before shutting down the VNF and releasing the resources.
The unit is seconds.
If not given and the "terminationType" attribute is set to
"GRACEFUL", it is expected that the VNFM waits for the successful
taking out of service of the VNF, no matter how long it takes,
before shutting down the VNF and releasing the resources.
type: integer
additionalParams:
description: >
Additional parameters passed by the NFVO as input to the termination
process, specific to the VNF being terminated, as declared in the
VNFD as part of "TerminateVnfOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
HealVnfRequest:
type: object
properties:
cause:
description: >
Indicates the reason why a healing procedure is required.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/String"
additionalParams:
description: >
Additional parameters passed by the NFVO as input to the healing
process, specific to the VNF being healed, as declared in the VNFD
as part of "HealVnfOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
OperateVnfRequest:
description: >
This type represents request parameters for the "Operate VNF" operation.
NOTE: The "stopType" and "gracefulStopTimeout" attributes shall be absent,
when the "changeStateTo" attribute is equal to "STARTED".
The "gracefulStopTimeout" attribute shall be present, when the "changeStateTo"
is equal to "STOPPED" and the "stopType" attribute is equal to "GRACEFUL".
The "gracefulStopTimeout" attribute shall be absent, when the "changeStateTo"
attribute is equal to "STOPPED" and the "stopType" attribute is equal to "FORCEFUL".
The request shall be treated as if the "stopType" attribute has been set to "FORCEFUL",
when the "changeStateTo" attribute is equal to "STOPPED" and the "stopType" attribute
is absent.
required:
- changeStateTo
properties:
changeStateTo:
description: >
The desired operational state (i.e. started or stopped) to change
the VNF to.
$ref: "#/definitions/VnfOperationalStateType"
It signals whether forceful or graceful stop is requested. See note.
$ref: "#/definitions/StopType"
The time interval (in seconds) to wait for the VNF to be taken out of service
during graceful stop, before stopping the VNF. See note.
type: integer
additionalParams:
description: >
Additional parameters passed by the NFVO as input to the process,
specific to the VNF of which the operation status is changed, as
declared in the VNFD as part of "OperateVnfOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
ChangeExtVnfConnectivityRequest:
#SOL003 location: 5.5.2.11
description: >
This type represents request parameters for the
"Change external VNF connectivity" operation to modify the external
connectivity of a VNF instance.
type: object
required:
- extVirtualLinks
properties:
extVirtualLinks:
description: >
Information about external VLs to change (e.g. connect the VNF to) including configuration
information for the CPs via which the VNF instance can attach to this VL.
Entries in the list of external VLs that are unchanged need not be supplied
as part of this request.
The following applies to the "ExtVirtualLinkData" information provided in this request,
together with the related "ExtVirtualLinkInfo" informationknown to the VNFM represented
in the "VnfInstance" structure (see clause 5.5.2.2) and the related overriding
information provided in the "Grant" structure (see clause 9.5.2.3): Even if the VNF
is not in fully scaled-out state, the API consumer shall provide enough CP
configuration records to allow connecting the VNF instance, fully scaled out in
all scaling aspects, to the external VLs.
type: array
items:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ExtVirtualLinkData"
vimConnectionInfo:
description: >
Information about VIM connections to be used for managing the resources for the VNF instance, or refer to
external virtual links. This attribute shall only be supported and may be present if VNF-related resource
management in direct mode is applicable. The VNFM shall apply the content of this attribute to the
"vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch (see IETF RFC 7396).
type: object
additionalProperties:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/VimConnectionInfo"
additionalParams:
description: >
Additional parameters passed by the NFVO as input to the process, specific to the VNF of which the external
connectivity is changed, as declared in the VNFD as part of "ChangeExtVnfConnectivityOpConfig" defined
in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
ChangeCurrentVnfPkgRequest:
description: >
This type represents request parameters for the "Change current VNF package"
operation to replace the VNF package on which a VNF instance is based.
NOTE 1: The indication of externally-managed internal VLs is needed in case networks
have been pre-configured for use with certain VNFs, for instance to ensure
that these networks have certain properties such as security or acceleration
features, or to address particular network topologies. The present document
assumes that externally-managed internal VLs are managed by the NFVO and created
towards the VIM.
NOTE 2: It is possible to have several ExtManagedVirtualLinkData for the same VNF internal
VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData
corresponding to the same VNF internal VL shall indicate so by referencing to the same
VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 4.4.1.12).
type: object
required:
- vnfdId
properties:
vnfdId:
description: >
Identifier of the VNFD which defines the destination VNF Package for the
change.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
extVirtualLinks:
description: >
Information about external VLs to connect the VNF to, including configuration information for
the CPs via which the VNF instance can attach to this VL.
Entries in the list that are unchanged need not be supplied as part of this request.
The following applies to the "ExtVirtualLinkData" information provided in this request,
together with the related "ExtVirtualLinkInfo" information known to the VNFM represented
in the "VnfInstance" structure (see clause 5.5.2.2) and the related overriding information
provided in the "Grant" structure (see clause 9.5.2.3): even if the VNF is not in fully
scaled-out state after the change of the VNF package, the API consumer shall provide enough
CP configuration records to allow connecting the VNF instance, fully scaled
out in all scaling aspects, to the external VLs.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ExtVirtualLinkData"
extManagedVirtualLinks:
description: >
Information about internal VLs that are managed by the NFVO. See notes 1 and 2.
$ref: "#/definitions/ExtManagedVirtualLinkData"
vimConnectionInfo:
description: >
Information about VIM connections to be used for managing the resources for the VNF instance, or refer to
external virtual links. This attribute shall only be supported and may be present if VNF-related resource
management in direct mode is applicable. The VNFM shall apply the content of this attribute to the
"vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch (see IETF RFC 7396).
type: object
additionalProperties:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/VimConnectionInfo"
additionalParams:
description: >
Additional parameters passed by the NFVO as input to the process, specific
to the VNF of which the underlying VNF package is changed, as declared in
the VNFD as part of "ChangeCurrentVnfPkgOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
If present, this attribute provides modifications to the values of the
"extensions" attribute in "VnfInstance", as defined in clause 5.5.2.2.
Provisions for handling extensions during the operation, and needed passed
parameter values in case of conflicts, are defined in clause 5.4.11a.3.1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
vnfConfigurableProperties:
description: >
If present, this attribute provides modifications to the values of the "vnfConfigurableProperties" attribute
in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during the
operation, and needed passed parameter values in case of conflicts, are defined in clause 5.4.11a.3.1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
VnfInfoModificationRequest:
This type represents attribute modifications for an
"Individual VNF instance" resource, i.e. modifications to a resource
representation based on the "VnfInstance" data type.
vnfInstanceName:
description: >
New value of the "vnfInstanceName" attribute in "VnfInstance", or
"null" to remove the attribute.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/String"
vnfInstanceDescription:
description: >
New value of the "vnfInstanceDescription" attribute in
"VnfInstance", or "null" to remove the attribute.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/String"
vnfPkgId:
description: >
New value of the "vnfPkgId" attribute in "VnfInstance".
The value "null" is not permitted.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfConfigurableProperties:
description: >
Modifications of the "vnfConfigurableProperties" attribute in
"VnfInstance". If present, these modifications shall be applied
according to the rules of JSON Merge Patch (see IETF RFC 7396).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
metadata:
description: >
Modifications of the "metadata" attribute in "VnfInstance". If
present, these modifications shall be applied according to the rules
of JSON Merge Patch (see IETF RFC 7396).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
Modifications of the "extensions" attribute in "VnfInstance". If
present, these modifications shall be applied according to the rules
of JSON Merge Patch (see IETF RFC 7396).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
vimConnectionInfo:
Modifications of the "vimConnectionInfo" attribute. If present, these
modifications shall be applied according to the rules of
JSON Merge Patch (see IETF RFC 7396 ).
type: object
additionalProperties:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/VimConnectionInfo"
VnfInfoModifications:
This type represents attribute modifications that were performed on an "Individual
VNF instance" resource. The attributes that can be included consist of those requested
to be modified explicitly in the "VnfInfoModificationRequest" data structure, and
additional attributes of the "VnfInstance" data structure that were modified implicitly
e.g. when modifying the referenced VNF package.
NOTE: If present, this attribute (which depends on the value of the "vnfdId" attribute)
was modified implicitly following a request to modify the "vnfdId" attribute, by
copying the value of this attribute from the VNFD in the VNF Package identified by
the "vnfdId" attribute.
vnfInstanceName:
If present, this attribute signals modifications of the
"vnfInstanceName" attribute in "VnfInstance".
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/String"
vnfInstanceDescription:
description: >
If present, this attribute signals modifications of the
"vnfInstanceDescription" attribute in "VnfInstance".
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/String"
vnfConfigurableProperties:
description: >
If present, this attribute signals modifications of the
"vnfConfigurableProperties" attribute in "VnfInstance".
In addition, the provisions in clause 5.7 shall apply.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
metadata:
description: >
If present, this attribute signals modifications of the "metadata"
attribute in "VnfInstance".
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
If present, this attribute signals modifications of the "extensions"
attribute in "VnfInstance".
In addition, the provisions in clause 5.7 shall apply.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
vimConnectionInfo:
If present, this attribute signals modifications the "vimConnectionInfo"
attribute array in "VnfInstance".
type: object
additionalProperties:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/VimConnectionInfo"
If present, this attribute signals modifications of the "vnfdId"
attribute in "VnfInstance".
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfProvider:
description: >
If present, this attribute signals modifications of the "vnfProvider" attribute
in "VnfInstance". See note.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/String"
vnfProductName:
description: >
If present, this attribute signals modifications of the "vnfProductName" attribute
in "VnfInstance". See note.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/String"
vnfSoftwareVersion:
description: >
If present, this attribute signals modifications of the "vnfSoftwareVersion" attribute
in "VnfInstance". See note.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Version"
vnfdVersion:
description: >
If present, this attribute signals modifications of the "vnfdVersion" attribute
in "VnfInstance". See note.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Version"
StopType:
description: >
* FORCEFUL: The VNFM will stop the VNF instance immediately after accepting
the request.
* GRACEFUL: The VNFM instance will first arrange to take the VNF out of
service after accepting the request. Once that operation is successful
or once the timer value specified in the "gracefulStopTimeout" attribute
expires, the VNFM will stop the VNF instance.
type: string
enum:
- FORCEFUL
- GRACEFUL
CreateVnfSnapshotRequest:
description: >
This type represents request parameters for the "Create VNF Snapshot"
LCM operation which takes a snapshot of a VNF instance and populates
a previously-created "Individual VNF snapshot" resource with the content
of the snapshot.
type: object
required:
- vnfSnapshotResId
properties:
vnfSnapshotInfoId:
description: >
Identifier of the "Individual VNF snapshot" resource to which the
VNF snapshot is to be associated.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
additionalParams:
description: >
Additional input parameters for the snapshot creation process, specific
for the VNF being “snapshotted”, as declared in the VNFD as part of
“CreateSnapshotVnfOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
userDefinedData:
description: >
User defined data for the VNF snapshot.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
CreateVnfSnapshotInfoRequest:
description: |
This type represents request parameters for the creation of an "Individual VNF snapshot"
resource which can be populated with content obtained by invoking the "Create VNF snapshot"
LCM operation or extracted from a VNF snapshot package.
NOTE: The present attribute shall be provided if the "Individual VNF snapshot" resource is
requested to be created as part of a VNF snapshot package extraction.
type: object
properties:
vnfSnapshotPkgId:
description: |
Identifier of the VNF snapshot package information held by the NFVO. See note.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfSnapshot:
description: |
Information about the VNF snapshot, content and/or reference to its content.
RevertToVnfSnapshotRequest:
description: >
This type represents request parameters for the "Revert to VNF Snapshot" operation.
type: object
properties:
vnfSnapshotInfoId:
description: >
Identifier of the "Individual VNF snapshot" resource with the information of the VNF snapshot
to be reverted to.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
additionalParams:
description: >
Additional input parameters for the revert to VNF snapshot process, specific for the VNF being
“reverted”, as declared in the VNFD as part of “RevertToSnapshotVnfOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
VnfSnapshotInfoModificationRequest:
description: |
This type represents attribute modifications for an "Individual VNF snapshot" resource, i.e. modifications
to a resource representation based on the "VnfSnapshotInfo" data type. The attributes of "VnfSnapshotInfo"
that can be modified according to the provisions in clause 5.5.2.22 are included in the
"VnfSnapshotInfoModificationRequest" data type. The "VnfSnapshotInfoModificationRequest" data type shall
comply with the provisions defined in table 5.5.2.24-1.
type: object
properties:
vnfSnapshotPkgId:
description: |
New value of the "vnfSnapshotPkgId" attribute in "VnfSnapshotInfo".
The value "null" is not permitted.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfSnapshot:
description: |
New value of the "vnfSnapshot" attribute in "VnfSnapshotInfo".
The value "null" is not permitted.
VnfSnapshotInfoModifications:
description: |
This type represents attribute modifications that were performed on an "Individual VNF snapshot"
resource. The attributes that can be included consist of those requested to be modified explicitly
in the "VnfSnapshotInfoModificationRequest" data structure, and additional attributes of the
"VnfSnapshotInfo" data structure that were modified implicitly.
type: object
properties:
vnfSnapshotPkgId:
description: |
If present, this attribute signals modifications of the "vnfSnapshotPkgId" attribute in
"VnfSnapshotInfo" as defined in clause 5.5.2.22.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfSnapshot:
description: |
If present, this attribute signals modifications of the "vnfSnapshot" attribute in
"VnfSnapshotInfo" as defined in clause 5.5.2.22.
$ref: "#/definitions/VnfSnapshot"
VnfInstance:
description: >
NOTE: Clause B.3.2 provides examples illustrating the relationship among the different run-time
data types (CP, VL and link ports) used to represent the connectivity of a VNF.
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
NOTE 1: Modifying the value of this attribute shall not be performed when conflicts exist between
the previous and the newly referred VNF package, i.e. when the new VNFD is changed with
respect to the previous VNFD in other aspects than merely referencing to other VNF software
images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded
VNF Package, the values of attributes in the VnfInstance that have corresponding attributes
in the VNFD shall be kept in sync with the values in the VNFD.
NOTE 2: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.
NOTE 3: VNF configurable properties are sometimes also referred to as configuration parameters applicable
to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated,
some are set prior to instantiation (are part of initial configuration) and can be modified later,
and others can be set only after instantiation. The applicability of certain configuration may
depend on the VNF and the required operation of the VNF at a certain point in time.
NOTE 4: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes
of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined
initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata",
obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties",
"metadata" and "extensions" that have no defined initial value shall not be created, in order to be
consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null
values as deletion request.
NOTE 5: It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a
multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same
VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed
multi-site VL instance (refer to clause 5.5.3.3).
NOTE 6: Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall
not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
type: object
required:
- id
- vnfdId
- vnfProvider
- vnfProductName
- vnfSoftwareVersion
- vnfdVersion
- instantiationState
properties:
id:
description: >
Identifier of the VNF instance.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfInstanceName:
description: >
Name of the VNF instance.
This attribute can be modified with the PATCH method.
type: string
vnfInstanceDescription:
description: >
Human-readable description of the VNF instance.
This attribute can be modified with the PATCH method.
type: string
vnfdId:
description: >
Identifier of the VNFD on which the VNF instance is based. See note 1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfProvider:
description: >
Provider of the VNF and the VNFD. The value is copied from the VNFD.
type: string
vnfProductName:
description: >
Name to identify the VNF Product. The value is copied from the VNFD.
type: string
vnfSoftwareVersion:
description: >
Software version of the VNF. The value is copied from the VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Version"
vnfdVersion:
description: >
Identifies the version of the VNFD. The value is copied from the VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Version"
Additional VNF-specific attributes that provide the current values of the configurable
properties of the VNF instance.
These attributes represent values that are stored persistently in the VnfInstance structure
and that correspond to configuration parameters of the VNF instance.
Modifying these attributes affects the configuration of the VNF instance either directly
(if the VNF instance is in INSTANTIATED state at the time of the modification) or as part
of the subsequent VNF instantiation operation (if the VNF instance is in NOT_INSTANTIATED
state at the time of the modification).
Configurable properties referred in these attributes are declared in the VNFD. The declaration
of configurable properties in the VNFD can optionally contain the specification of initial values.
See notes 2, 3 and 4. The VNFM shall reject requests to write configurable properties that are
not declared in the VNFD with a "422 Unprocessable Content" error response as defined in clause
6.4 of ETSI GS NFV SOL 013.
These configurable properties include the following standard attributes, which are declared in
the VNFD if auto-scaling and/or auto-healing are supported by the VNF:
- isAutoscaleEnabled: If present, the VNF supports auto-scaling. If set to true, auto-scaling
is currently enabled. If set to false, auto-scaling is currently disabled.
- isAutohealEnabled: If present, the VNF supports auto-healing. If set to true, auto-healing is
currently enabled. If set to false, auto-healing is currently disabled.
These configurable properties can be initialized with default values from the VNFD (see note 4).
Configurable properties can be modified with values passed in the request structures of certain
LCM operations, such as the InstantiateVnfRequest structure.
Further, these configurable properties can be created, modified or deleted with the PATCH method.
In addition, the provisions in clause 5.7 shall apply.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
vimConnectionInfo:
description: >
Information about VIM connections to be used for managing the
resources for the VNF instance. The keys of the map, each of
which identifies information about a particular VIM connection,
are managed by the NFVO and referenced from other data structures
via the "vimConnectionId" attribute. This attribute shall only
be supported and present if VNF-related resource management in
direct mode is pplicable.
This attribute can be modified with the PATCH method.
type: object
additionalProperties:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/VimConnectionInfo"
instantiationState:
description: >
The instantiation state of the VNF.
type: string
enum:
- NOT_INSTANTIATED
- INSTANTIATED
instantiatedVnfInfo:
description: >
Information specific to an instantiated VNF instance. This attribute
shall be present if the instantiateState attribute value is
INSTANTIATED.
type: object
required:
- flavourId
- vnfState
properties:
flavourId:
description: >
Identifier of the VNF deployment flavour applied to this VNF instance.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
vnfState:
description: >
The state of the VNF instance.
$ref: "#/definitions/VnfOperationalStateType"
Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been
scaled with reference to that aspect.
This attribute shall be present if the VNF supports scaling.
See clause B.2 for an explanation of VNF scaling.
type: array
items:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ScaleInfo"
maxScaleLevels:
description: >
Maximum allowed scale levels of the VNF, one entry per aspect.
This attribute shall be present if the VNF supports scaling.
type: array
items:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ScaleInfo"
extCpInfo:
description: >
Information about the external CPs exposed by the VNF instance. When trunking is enabled,
the list of entries includes both, external CPs corresponding to parent ports of a trunk,
and external CPs associated to sub-ports of a trunk.
type: array
minItems: 1
items:
piscione
committed
vipCpInfo:
description: >
VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC
instance is associated to an external CP of the VNF instance.
May be present otherwise.
type: array
minItems: 1
items:
extVirtualLinkInfo:
description: >
Information about the external VLs the VNF instance is connected to.
type: array
items:
$ref: "#/definitions/ExtVirtualLinkInfo"
Information about the externally-managed internal VLs of the VNF instance. See notes 5 and 6.
$ref: "#/definitions/ExtManagedVirtualLinkInfo"
monitoringParameters:
description: >
Active monitoring parameters.
type: array
items:
$ref: "#/definitions/MonitoringParameter"
localizationLanguage:
description: >
Information about localization language of the VNF (includes e.g.
strings in the VNFD). The localization languages supported by a VNF
can be declared in the VNFD, and localization language selection can
take place at instantiation time.
The value shall comply with the format defined in IETF RFC 5646.
type: string
vnfcResourceInfo:
description: >
Information about the virtualised compute and storage resources used
by the VNFCs of the VNF instance.
type: array
items:
$ref: "#/definitions/VnfcResourceInfo"
vnfVirtualLinkResourceInfo:
Information about the virtualised network resources used by the VLs of the VNF instance. See note 6.
type: array
items:
$ref: "#/definitions/VnfVirtualLinkResourceInfo"
virtualStorageResourceInfo:
description: >
Information on the virtualised storage resource(s) used as storage for the VNF instance.
type: array
items:
$ref: "#/definitions/VirtualStorageResourceInfo"
metadata:
description: >
Additional VNF-specific attributes that provide metadata describing the VNF instance.
These attributes represent values that are stored persistently in the VnfInstance structure for
consumption by functional blocks that invoke the VNF lifecycle management interface. They are not
consumed by the VNFM, or the lifecycle management scripts.
Modifying the values of these attributes has no effect on the VNF instance, it only affects the
information represented in the VnfInstance structure.
Metadata that the VNF provider foresees are expected to be declared in the VNFD. The declaration
of metadata in the VNFD can optionally contain the specification of initial values. See notes 2 and 4.
The VNFM shall accept requests to write metadata that are not declared in the VNFD.
These attributes can be initialized with default values from the VNFD (see note 4) or with values
passed in the CreateVnfRequest structure (see clause 5.4.2.3.1).
These attributes can be created, modified or removed with the PATCH method.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
Additional VNF-specific attributes that affect the lifecycle management of this VNF instance.
These attributes represent values that are stored persistently in the VnfInstance structure for
consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle
management operations.
All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension
in the VNFD contains information on whether its presence is optional or required, and optionally can
specify an initial value. See notes 2 and 4. The VNFM shall reject requests to write extension attributes
that are not declared in the VNFD with a "422 Unprocessable Content" error response as defined in clause
6.4 of ETSI GS NFV-SOL 013.
Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified
attribute values can be considered during subsequent VNF lifecycle management operations, which means that
the modified values can indirectly affect the configuration of the VNF instance.
These attributes can be initialized with default values from the VNFD (see note 4).
These attributes can be modified with values passed in the request structures of certain LCM operations,
Further, these attributes can be created, modified or deleted with the PATCH method.
In addition, the provisions in clause 5.7 shall apply.
_links:
description: >
Links to resources related to this resource.
type: object
required:
- self
properties:
self:
description: URI of this resource.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
indicators:
description: Indicators related to this VNF instance, if applicable.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
instantiate:
description: >
Link to the "Instantiate VNF task" resource, if the related operation
is possible based on the current status of this VNF instance
resource (i.e. VNF instance in NOT_INSTANTIATED state).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
terminate:
description: >
Link to the "Terminate VNF task" resource, if the related operation
is possible based on the current status of this VNF instance
resource (i.e. VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
scale:
description: >
Link to the "Scale VNF task" resource, if the related operation is
supported for this VNF instance, and is possible based on the
current status of this VNF instance resource (i.e. VNF instance
is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
scaleToLevel:
description: >
Link to the "Scale VNF to level task" resource, if the related
operation is supported for this VNF instance, and is possible
based on the current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
changeFlavour:
description: >
Link to the "Change VNF flavour task" resource, if the related
operation is supported for this VNF instance, and is possible
based on the current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
heal:
description: >
Link to the "Heal VNF task" resource, if the related operation is
supported for this VNF instance, and is possible based on the
current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
operate:
description: >
Link to the "Operate VNF task" resource, if the related operation is
supported for this VNF instance, and is possible based on the
current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
changeExtConn:
description: >
Link to the "Change external VNF connectivity task" resource, if the related
operation is possible based on the current status of this VNF
instance resource (i.e. VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
createSnapshot:
description: >
Link to the "Create VNF snapshot task" resource, if the related operation is
supported for this VNF instance and is possible based on the current status of
this VNF instance resource (i.e., VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
revertToSnapshot:
description: >
Link to the "Revert to VNF snapshot task" resource, if the related operation is
supported for this VNF instance and is possible based on the current status of
this VNF instance resource (i.e., VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
changeCurrentVnfPkg:
description: >
Link to the "Change current VNF package task" resource, if the related
operation is possible based on the current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
ExtManagedVirtualLinkInfo:
type: object
required:
- id
- vnfVirtualLinkDescId
- networkResource
properties:
id:
description: >
Identifier of the externally-managed internal VL and the related
externally-managed VL information instance.
The identifier is assigned by the NFV-MANO entity that manages this
VL instance.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfVirtualLinkDescId:
description: >
Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change
current VNF package" operation or due to its final failure).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
networkResource:
description: >
Reference to the VirtualNetwork resource providing this VL.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
vnfLinkPorts:
description: >
Link ports of this VL.
type: array
items:
$ref: "#/definitions/VnfLinkPortInfo"
extManagedMultisiteVirtualLinkId:
description: >
Identifier of the externally-managed multi-site VL instance. The identifier is assigned by the NFVMANO entity
that manages the externally managed multi-site VL instance. It shall be present when the externally-managed
internal VL is part of a multi-site VL, e.g., in support of multi-site VNF spanning several VIMs.
All externally-managed internal VL instances corresponding to an internal VL created based on the same
virtualLinkDescId shall refer to the same extManagedMultisiteVirtualLinkId.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
VirtualStorageResourceInfo:
description: >
This type represents the information that allows addressing a virtualised
resource that is used by a VNF instance.
Note: If only the value or the presence of this attribute is changed in the "VirtualStorageResourceInfo"
structure by an LCM operation occurrence, this does not represent a change that requires
including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence
notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence.
type: object
required:
- id
- virtualStorageDescId
- storageResource
properties:
id:
description: >
Identifier of this VirtualStorageResourceInfo instance.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
virtualStorageDescId:
description: >
Identifier of the VirtualStorageDesc in the VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change
current VNF package" operation or due to its final failure). See note.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
storageResource:
description: >
Reference to the VirtualStorage resource.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
zoneId:
description: >
The identifier of the resource zone, as managed by the resource
management layer (typically, the VIM), where the referenced
VirtualStorage resource is placed. Shall be provided if this
information is available from the VIM.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
reservationId:
description: >
The reservation identifier applicable to the resource. It shall be
present when an applicable reservation exists.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
metadata:
description: >
Metadata about this resource.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
This type represents the information on virtualised compute and storage resources
NOTE 1: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on
TOSCA specifications.
NOTE 2: A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an
internal VL that exposes an external CP. A VNFC CP is "exposed as" an external
CP if it is connected directly to an external VL.
NOTE 3: The information can be omitted because it is already available as part of the
external CP information.
NOTE 4: If only the value or the presence of this attribute is changed in the "VnfcResourceInfo"
structure by an LCM operation occurrence, this does not represent a change that requires
including a related "AffectedVnfc" structure in the VNF LCM operation occurrence notifications
or the "VnfLcmOpOcc" structure related to this LCM operation occurrence.
type: object
required:
- id
- vduId
- computeResource
properties:
id:
description: >
Identifier of this VnfcResourceInfo instance.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Reference to the applicable VDU in the VNFD. See note 1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change
current VNF package" operation or due to its final failure). See note 4.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
computeResource:
description: >
Reference to the VirtualCompute resource.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
zoneId:
description: >
The identifier of the resource zone, as managed by the
resource management layer (typically, the VIM), where
the referenced VirtualCompute resource is placed.
Shall be provided if this information is available from the VIM.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
storageResourceIds:
description: >
References to the VirtualStorage resources. The value refers to a
VirtualStorageResourceInfo item in the VnfInstance.
type: array
items:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
reservationId:
description: >
The reservation identifier applicable to the resource. It shall be
present when an applicable reservation exists.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance
is exposed as an external CP of the VNF instance or is connected to an external CP of the
VNF instance. See note 2. May be present otherwise.
type: array
items:
type: object
required:
- id
- cpdId
properties:
id:
description: >
Identifier of this VNFC CP instance and the associated array
entry.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Identifier of the VDU CPD, cpdId, in the VNFD. See note 1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
Identifier of the related external CP. Shall be present when the VNFC CP is exposed as an
external CP of the VNF instance or connected to an external CP of the VNF instance (see note 2)
and shall be absent otherwise.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP.
See note 3.
$ref: "#/definitions/CpProtocolInfo"
Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" or "ExtManagedVirtualLinkInfo" structure.
Shall be present if the CP is associated to a link port on an internal VL (including externally-managed internal VL)
of the VNF instance and shall be absent otherwise.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
metadata:
description: >
Metadata about this CP.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
parentCpId:
description: >
Identifier of another VNFC CP instance that corresponds to the parent port of a trunk that the present VNFC CP
instance participates in. Shall be provided if the present CP instance participates in a trunk as subport, and
the referred VNFC CP instances are also present in the vnfcCpInfo attribute.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
metadata:
description: >
Metadata about this resource.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
VnfSnapshotInfo:
description: >
This type represents an "Individual VNF snapshot" resource.
type: object
required:
- id
- _links
properties:
id:
description: >
Identifier of the "Individual VNF snapshot" resource. This identifier is allocated by the VNFM.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfSnapshotPkgId:
description: >
Identifier of the VNF snapshot package information held by the NFVO. Shall be present when the
“Individual VNF snapshot" resource is created from a VNF snapshot package extraction.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfSnapshot:
description: >
Information about the VNF snapshot, content and/or references to its content. Shall be present
when the "Individual VNF snapshot" resource is associated to a VNF snapshot created via the
corresponding "Create VNF Snapshot" task resource or extracted from a VNF snapshot package.
$ref: "#/definitions/VnfSnapshot"
_links:
description: >
Links to resources related to this resource.
type: object
required:
- self
properties:
self:
description: >
URI of this resource.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
takenFrom:
description: >
Link to the VNF instance from which this snapshot was taken. Shall be present when the
"Individual VNF snapshot" resource is associated to a VNF snapshot created via the
corresponding "Create VNF snapshot" task resource.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
VnfStateSnapshotInfo:
description: >
This type represents information about VNF-specific state snapshot data.
type: object
required:
- checksum
- isEncrypted
properties:
checksum:
description: >
Checksum of the VNF state snapshot file. Hash algorithms applicable to VNF snapshot package artifacts
are defined in ETSI GS NFV-SOL 010.
$ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Checksum"
isEncrypted:
description: >
Reflects whether the VNF state snapshot content is encrypted (true) or not (false).
$ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Boolean"
metadata:
description: >
The metadata with additional information such as content type, size, creation date, etc.
$ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
VnfSnapshot:
description: >
This type represents a VNF snapshot.
type: object
required:
- id
- vnfInstanceId
- triggeredAt
- vnfdId
- vnfInfo
- vnfcSnapshots
properties:
id:
description: >
Identifier of the VNF Snapshot. This identifier is allocated by the VNFM.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfInstanceId:
description: >
Identifier of the snapshotted VNF instance.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
creationStartedAt:
description: >
Timestamp indicating when the VNF snapshot creation has been started by the VNFM.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
creationFinishedAt:
description: >
Timestamp indicating when the VNF snapshot has been completed by the VNFM.
Shall be present once the VNF snapshot creation has been completed.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
vnfdId:
description: >
Identifier of the VNFD in use at the time the snapshot of the VNF instance has been created.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfInstance:
description: >
VNF Instance information of the snapshotted VNF instance. This is a copy of the "ndividual VNF instance" resource.
$ref: '#/definitions/VnfInstance'
vnfcSnapshots:
description: >
Information about VNFC snapshots constituting this VNF snapshot.
type: array
items:
$ref: '#/definitions/VnfcSnapshotInfo'
vnfStateSnapshotInfo:
description: >
Information about VNF-specific state snapshot data.
This attribute shall not be present before the VNF snapshot has been completed.
Otherwise, this attribute shall be present if the VNF snapshot has associated
additional VNF-specific state data.
$ref: '#/definitions/VnfStateSnapshotInfo'
userDefinedData:
description: >
User defined data for the VNF snapshot.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
_links:
description: >
Links to resources related to this resource.
type: object
required:
- self
properties:
self:
description: >
URI of this resource.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
vnfStateSnapshot:
description: >
Link to the "VNF state snapshot" resource. This attribute shall not be
present before the VNF snapshot has been completed. Otherwise, this
attribute shall be present if the VNF snapshot has associated additional
VNFspecific state data.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
This type represents a VNFC snapshot.
NOTE 1: The identifier of the compute snapshot resource is assigned during creation of a VNFC snapshot
being returned from the VIM as output data in the response message of the individual resource
operations. This attribute shall only be present for a VNFC snapshot that has been newly created
by the VNFM as a result of the "Create VNF snapshot task".
NOTE 2: The identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being
returned from the VIM as output data in the response message of the individual resource operations.
This attribute shall only be present for a VNFC snapshot with an associated storage resource and that
has been newly created by the VNFM as a result of the "Create VNF snapshot task".
type: object
required:
- id
- vnfcInstanceId
- triggeredAt
- vnfcResourceId
properties:
id:
description: >
Identifier of the information held by the VNFM about a specific VNFC snapshot. This identifier is allocated by
the VNFM and is unique within the scope of a VNF snapshot.
The attribute also identifies the compute snapshot image associated to this VNFC snapshot within the context of
a referred VNF snapshot.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierLocal"
vnfcInstanceId:
description: >
Identifier of the snapshotted VNFC instance.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
creationStartedAt:
description: >
Timestamp indicating when the VNF snapshot creation has been started by the VNFM.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
creationFinishedAt:
description: >
Timestamp indicating when the VNFC snapshot has been completed. Shall be present once the VNFC snapshot
creation has been completed by the VNFM.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
vnfcResourceInfoId:
description: >
Reference to the "VnfcResourceInfo" structure in the "VnfInstance" structure that represents the resource
of the snapshotted VNFC instance. A snapshot of that structure is available in the "vnfInstance" attribute
of the "VnfSnapshot" structure.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Reference to a compute snapshot resource. See note 1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
storageSnapshotResources:
description: >
Mapping of the storage resources associated to the VNFC with the storage snapshot resources.
type: array
items:
type: object
required:
- storageResourceId
properties:
storageResourceId:
description: >
Reference to the "VirtualStorageResourceInfo" structure in the "VnfInstance" structure
that represents the virtual storage resource.
The attribute also identifies the storage snapshot image associated to this VNFC snapshot
within the context of a referred VNF snapshot.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
Reference to a storage snapshot resource. See note 2.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
userDefinedData:
description: >
User defined data for the VNFC snapshot.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
VnfVirtualLinkResourceInfo:
description: >
This type represents the information that allows addressing a virtualised
resource that is used by an internal VL instance in a VNF instance.
Note: If only the value or the presence of this attribute is changed in the "VnfVirtualLinkResourceInfo"
structure by an LCM operation occurrence, this does not represent a change that requires including
a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the
"VnfLcmOpOcc" structure related to this LCM operation occurrence.
type: object
required:
- id
- vnfVirtualLinkDescId
- networkResource
properties:
id:
description: >
Identifier of this VnfVirtualLinkResourceInfo instance.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
vnfVirtualLinkDescId:
description: >
Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change
current VNF package" operation or due to its final failure). See note.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
networkResource:
description: >
Reference to the VirtualNetwork resource.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
zoneId:
description: >
The identifier of the resource zone, as managed by the resource
management layer (typically, the VIM), where the referenced
VirtualNetwork resource is placed. Shall be provided if this
information is available from the VIM.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
reservationId:
description: >
The reservation identifier applicable to the resource. It shall be
present when an applicable reservation exists.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfLinkPorts:
description: >
Links ports of this VL.
Shall be present when the linkPort is used for external connectivity
by the VNF (refer to VnfLinkPortInfo).
May be present otherwise.
type: array
items:
$ref: "#/definitions/VnfLinkPortInfo"
metadata:
description: >
Metadata about this resource.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
This type provides information about added, deleted, modified and temporary VNFCs.
NOTE: The "resourceDefinitionId" attribute provides information to the API consumer
(i.e. the NFVO) to assist in correlating the resource changes performed during
the LCM operation with the granted resources in a specific Grant exchange, which
is identified by the "grantId" available in the "Individual VNF lifecycle management
operation occurrence" and the "id" in the "Individual Grant".
type: object
required:
- id
- vduId
- changeType
- computeResource
properties:
id:
description: >
Identifier of the Vnfc instance, identifying the applicable
"vnfcResourceInfo" entry in the "VnfInstance" data type.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
vduId:
description: >
Identifier of the related VDU in the VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case of a "change current VNF Package" to identify whether the affected VNFC instance is
associated to a VDU which is referred from the source or destination VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
changeType:
description: >
Signals the type of change. Permitted values:
* ADDED
* REMOVED
* MODIFIED
* TEMPORARY
For a temporary resource, an AffectedVnfc structure exists as long
as the temporary resource exists.
type: string
enum:
- ADDED
- REMOVED
- MODIFIED
- TEMPORARY
computeResource:
description: >
Reference to the VirtualCompute resource. Detailed information is
(for new and modified resources) or has been (for removed
resources) available from the VIM.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
The identifier of the "ResourceDefinition" in the granting exchange related to the LCM operation occurrence.
It shall be present when an applicable GrantInfo for thegranted resource exists. See note.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierLocal"
zoneId:
description: >
The identifier of the resource zone, as managed by the resource management
layer (typically, the VIM), where the referenced VirtualCompute resource is placed.
Shall be provided if this information is available from the VIM.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
metadata:
description: >
Metadata about this resource.
The content of this attribute shall be a copy of the content of the
"metadata" attribute of the VnfcResourceInfo structure.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
affectedVnfcCpIds:
description: >
Identifiers of CP(s) of the VNFC instance that were affected by the
change.
Shall be present for those affected CPs of the VNFC instance that
are associated to an external CP of the VNF instance.
May be present for further affected CPs of the VNFC instance.
type: array
items:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
addedStorageResourceIds:
description: >
References to VirtualStorage resources that have been added. Each
value refers to a VirtualStorageResourceInfo item in the
VnfInstance that was added to the VNFC. It shall be provided if at
least one storage resource was added to the VNFC.
type: array
items:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
removedStorageResourceIds:
description: >
References to VirtualStorage resources that have been removed.
The value contains the identifier of a VirtualStorageResourceInfo
item that has been removed from the VNFC, and might no longer exist
in the VnfInstance.
It shall be provided if at least one storage resource was removed
from the VNFC.
type: array
items:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
This type represents a VNF lifecycle management operation occurrence.
NOTE 1: This allows the NFVO to obtain the information contained in the latest
"result" notification if it has not received it due to an error or a
wrongly configured subscription filter.
NOTE 2: Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange
shall be present.
NOTE 3: For a particular affected VL, there shall be as many "AffectedVirtualLink"
entries as needed for signalling the different types of changes, i.e. one
per virtual link and change type. For instance, in the case of signaling
affected VL instances involving the addition of a particular VL instance
with links ports, one "AffectedVirtualLink" entry signals the addition of
the VL by using the "changeType" attribute of "AffectedVirtualLink" structure
equal to "ADDED", and another "AffectedVirtualLink" entry signals the addition
of externally visible VNF link ports of the VL by using the "changeType" equal
to "LINK_PORT_ADDED".
NOTE 4: A coordination action has timed out if the VNFM has not been able to read the
"Individual coordination action" resource within a timeout interval after requesting
the coordination to be started or to be cancelled. The length of the timeout interval
is defined by means outside the scope of the present document.
NOTE 5: The list of rejected coordinations may be garbage collected if the LCM operation
occurrence has reached a terminal state, i.e. one of "COMPLETED", "FAILED" and "ROLLED_BACK".
type: object
oneOf:
- required:
- changedInfo
- required:
- modificationsTriggeredByVnfPkgChange
required:
- id
- operationState
- stateEnteredTime
- startTime
- vnfInstanceId
- operation
- isAutomaticInvocation
- isCancelPending
properties:
id:
description: >
Identifier of this VNF lifecycle management operation occurrence.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
operationState:
description: >
The state of the LCM operation.
$ref: "#/definitions/LcmOperationStateType"
stateEnteredTime:
description: >
Date-time when the current state has been entered.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
startTime:
description: >
Date-time of the start of the operation.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
vnfInstanceId:
description: >
Identifier of the VNF instance to which the operation applies
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
grantId:
description: >
Identifier of the grant related to this VNF LCM operation
occurrence. Shall be set to the value of the "id" attribute
in the "Grant" representing the associated "Individual Grant",
if such grant exists.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
operation:
description: >
Type of the actual LCM operation represented by this VNF LCM
operation occurrence.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/LcmOperationType"
isAutomaticInvocation:
description: >
Set to true if this VNF LCM operation occurrence has been triggered
by an automated procedure inside the VNFM (i.e.
ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf
triggered by auto-heal). Set to false otherwise.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Boolean"
operationParams:
description: >
Input parameters of the LCM operation. This attribute shall be
formatted according to the request data type of the related LCM
operation. In addition, the provisions in clause 5.7 shall apply.
The following mapping between operationType and the
data type of this attribute shall apply:
* INSTANTIATE: InstantiateVnfRequest
* SCALE: ScaleVnfRequest
* SCALE_TO_LEVEL: ScaleVnfToLevelRequest
* CHANGE_FLAVOUR: ChangeVnfFlavourRequest
* OPERATE: OperateVnfRequest
* HEAL: HealVnfRequest
* CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest
* TERMINATE: TerminateVnfRequest
* MODIFY_INFO: VnfInfoModifications
* CREATE_SNAPSHOT: CreateVnfSnapshotRequest
* REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest
* CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest
type: object
isCancelPending:
description: >
If the VNF LCM operation occurrence is in "STARTING", "PROCESSING"
or "ROLLING_BACK" state and the operation is being cancelled, this
attribute shall be set to true. Otherwise, it shall be set to false.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Boolean"
cancelMode:
description: >
The mode of an ongoing cancellation. Shall be present when
isCancelPending=true, and shall be absent otherwise.
$ref: "#/definitions/CancelModeType"
error:
description: >
If "operationState" is "FAILED_TEMP" or "FAILED" or "operationState"
is "PROCESSING" or "ROLLING_BACK" and previous value of
"operationState" was "FAILED_TEMP", this attribute shall be present
and contain error information, unless it has been requested to be
excluded via an attribute selector.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ProblemDetails"
resourceChanges:
description: >
This attribute contains information about the cumulative changes to
virtualised resources that were performed so far by the LCM
operation since its start, if applicable.
type: object
properties:
affectedVnfcs:
description: >
Information about VNFC instances that were affected during the lifecycle operation.
See note 1.
type: array
items:
$ref: "#/definitions/AffectedVnfc"
affectedVirtualLinks:
description: >
Information about VL instances that were affected during the lifecycle operation.
See notes 1 and 3.
type: array
items:
$ref: "#/definitions/AffectedVirtualLink"
affectedExtLinkPorts:
description: >
Information about external VNF link ports that were affected during the lifecycle operation.
See note 1.
$ref: "#/definitions/AffectedExtLinkPort"
Information about virtualised storage instances that were affected during the lifecycle operation.
See note 1.
type: array
items:
$ref: "#/definitions/AffectedVirtualStorage"
changedInfo:
description: >
Information about the changed VNF instance information, including VNF configurable properties,
if applicable. See note 1 and note 2.
$ref: "#/definitions/VnfInfoModifications"
piscione
committed
affectedVipCps:
description: >
Information about virtual IP CP instances that were affected during
the execution of the lifecycle management operation.
type: array
items:
$ref: "#/definitions/AffectedVipCp"
Information about changed external connectivity, if applicable. See note 1.
$ref: "#/definitions/ExtVirtualLinkInfo"
modificationsTriggeredByVnfPkgChange:
description: >
Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package,
if applicable. Shall be absent if the "operation" attribute is different from "CHANGE_VNFPKG".
See notes 1 and 2.
$ref: "#/definitions/ModificationsTriggeredByVnfPkgChange"
vnfSnapshotInfoId:
description: >
Identifier of the "individual VNF snapshot" resource. Shall be present if applicable to the type of LCM operation,
i.e., if the value of the "operation" attribute is either "CREATE_SNAPSHOT" or "REVERT_TO_SNAPSHOT".
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
piscione
committed
lcmCoordinations:
description: >
Information about LCM coordination actions (see clause 10 in ETSI GS NFV-SOL002) related to this LCM operation occurrence.
type: array
items:
type: object
required:
- id
- coordinationActionName
- startTime
- endpointType
properties:
id:
description: >
Identifier of this coordination action.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
piscione
committed
coordinationActionName:
description: >
Indicator of the actual coordination action.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
piscione
committed
coordinationResult:
description: >
The result of executing the coordination action which also implies the action to be performed by the VNFM as
the result of this coordination.
Shall be present if the coordination has been finished. Shall be absent if the coordination is ongoing or has
timed out (see note 4).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/LcmCoordResultType"
piscione
committed
startTime:
description: >
The time when the VNFM has received the confirmation that the coordination action has been started.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
piscione
committed
endTime:
description: >
The time when the VNFM has received the confirmation that the coordination action has finished or has been
cancelled, or the time when a coordination action has timed out. Shall be present for a coordination
action that has finished or timed out (see note 4) and shall be absent if the coordination is ongoing.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
delay:
description: >
The end of the delay period.
This attribute shall be present if the last known HTTP response related to this coordination has
contained a "Retry-After" header, and shall be absent otherwise.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
endpointType:
description: >
The endpoint type used by this coordination action.
Valid values:
• MGMT: coordination with other operation supporting management systems (e.g. EM)
• VNF: coordination with the VNF instance
type: string
enum:
- MGMT
- VNF
rejectedLcmCoordinations:
description: >
Information about LCM coordination actions (see clause 10 in ETSI GS NFV-SOL002) that were rejected
by 503 error which means they can be tried again after a delay. See note 5.
type: array
items:
type: object
required:
- coordinationActionName
- rejectionTime
- endpointType
- delay
properties:
coordinationActionName:
description: >
Indicator of the actual coordination action.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
rejectionTime:
description: >
The time when the VNFM has received the 503 response that rejects the actual coordination.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
delay:
description: >
The end of the delay period, as calculated from the startTime and "Retry-After" header.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
piscione
committed
endpointType:
description: >
The endpoint type used by this coordination action.
Valid values:
• MGMT: coordination with other operation supporting management systems (e.g. EM)
• VNF: coordination with the VNF instance
type: string
enum:
- MGMT
- VNF
warnings:
description: >
Warning messages that were generated while the operation was executing.
If the operation has included LCM coordination actions and these have resulted
in warnings, such warnings should be added to this attribute.
type: array
items:
type: string
_links:
description: >
Links to resources related to this resource.
type: object
required:
- self
- vnfInstance
properties:
self:
description: >
URI of this resource.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
vnfInstance:
description: >
Link to the VNF instance that the operation applies to.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
grant:
description: >
Link to the grant for this operation, if one exists.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
cancel:
description: >
Link to the task resource that represents the "cancel" operation
for this VNF LCM operation occurrence, if cancelling is
currently allowed.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
retry:
description: >
Link to the task resource that represents the "retry" operation
for this VNF LCM operation occurrence, if retrying is currently
allowed.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
rollback:
description: >
Link to the task resource that represents the "rollback"
operation for this VNF LCM operation occurrence, if rolling back
is currently allowed.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
fail:
description: >
Link to the task resource that represents the "fail" operation
for this VNF LCM operation occurrence, if declaring as failed is
currently allowed.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
vnfSnapshot:
description: >
Link to the VNF snapshot resource, if the VNF LCM operation occurrence is related to a VNF snapshot.
Shall be present if operation="CREATE_SNAPSHOT" or operation="REVERT_TO_SNAPSHOT".
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
AffectedExtLinkPort:
description: >
This type provides information about added and deleted external link ports (link ports attached to external virtual links).
NOTE: The "resourceDefinitionId" attribute provides information to the API consumer (i.e. the NFVO) to assist in correlating
the resource changes performed during the LCM operation with the granted resources in a specific Grant exchange, which
is identified by the "grantId" available in the "Individual VNF lifecycle management operation occurrence" and the "id"
in the "Individual Grant".
type: object
required:
- id
- changeType
- extCpInstanceId
- resourceHandle
properties:
id:
description: >
Identifier of the link port, identifying the applicable "extLinkPorts" entry in the "ExtVirtualLinkInfo" data
type (see clause 5.5.3.2).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
changeType:
description: >
Signals the type of change.
Permitted values:
- ADDED
- REMOVED
type: string
enum:
- ADDED
- REMOVED
extCpInstanceId:
description: >
Identifier of the related external CP instance.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
resourceHandle:
description: >
Reference to the link port resource.
Detailed information is (for added resources) or has been (for removed resources) available from the VIM.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
resourceDefinitionId:
description: >
The identifier of the "ResourceDefinition" in the granting exchange related to the LCM operation occurrence.
It shall be present when an applicable GrantInfo for the granted resource exists. See note.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierLocal"
AffectedVirtualLink:
description: >
This type provides information about added, deleted, modified and
temporary VLs, and added or removed VNF link ports.
NOTE 1: When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports,
the "networkResource" and "resourceDefinitionId" attributes refer to the affected virtual link
instance, not the link port instance. The resource handles of the affected VNF link ports can be
found by dereferencing the identifiers in the "vnfLinkPortIds" attribute.
NOTE 2: The "resourceDefinitionId" attribute provides information to the API consumer (i.e. the NFVO) to
assist in correlating the resource changes performed during the LCM operation with the granted
resources in a specific Grant exchange, which is identified by the "grantId" available in the
"Individual VNF lifecycle management operation occurrence" and the "id" in the "Individual Grant".
type: object
required:
- id
- vnfVirtualLinkDescId
- changeType
- networkResource
properties:
id:
description: >
Identifier of the virtual link instance, identifying the applicable
"vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" entry in the "VnfInstance" data type.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
vnfVirtualLinkDescId:
description: >
Identifier of the related VLD in the VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case of a "change current VNF Package" to identify whether the affected VL instance is
associated to a VLD which is referred from the source or destination VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
Signals the type of change.
Permitted values:
- ADDED
- REMOVED
- MODIFIED
- TEMPORARY
- LINK_PORT_ADDED
- LINK_PORT_REMOVED
For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.
See note 1.
type: string
enum:
- ADDED
- REMOVED
- MODIFIED
- TEMPORARY
- LINK_PORT_ADDED
- LINK_PORT_REMOVED
networkResource:
description: >
Reference to the VirtualNetwork resource.
Detailed information is (for new and modified resources) or has been (for removed resources) available from the VIM.
See note 1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
Identifiers of the link ports of the affected VL related to the change. Each identifier references a "VnfLinkPortInfo"
structure.
Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related "VnfLinkPortInfo"
structures are present (case "added") or have been present (case "removed") in the "VnfVirtualLinkResourceInfo" or
"ExtManagedVirtualLinkInfo" structures that are represented by the "vnfVirtualLinkResource¬Info" or "extManagedVirtualLinkInfo"
attribute in the "VnfInstance" structure. See note 1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
The identifier of the "ResourceDefinition" in the granting exchange related to the LCM operation occurrence.
It shall be present when an applicable GrantInfo for the granted resource exists. See note 1 and note 2.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierLocal"
zoneId:
description: >
The identifier of the resource zone, as managed by the resource
management layer (typically, the VIM), where the referenced VirtualNetwork
resource is placed. Shall be provided if this information is available from the VIM.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
metadata:
description: >
Metadata about this resource.
The content of this attribute shall be a copy of the content of the
"metadata" attribute of the applicable "vnfVirtualLinkResourceInfo”
structure if such structure is referenced by the "id" attribute and it has metadata.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
AffectedVirtualStorage:
description: >
This type provides information about added, deleted, modified and temporary virtual storage resources.
NOTE: The "resourceDefinitionId" attribute provides information to the API consumer (i.e. the NFVO) to
assist in correlating the resource changes performed during the LCM operation with the granted
resources in a specific Grant exchange, which is identified by the "grantId" available in the
"Individual VNF lifecycle management operation occurrence" and the "id" in the "Individual Grant".
type: object
required:
- id
- virtualStorageDescId
- changeType
- storageResource
properties:
id:
description: >
Identifier of the storage instance, identifying the applicable
"virtualStorageResourceInfo" entry in the "VnfInstance" data type.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
virtualStorageDescId:
description: >
Identifier of the related VirtualStorage descriptor in the VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case of a "change current VNF Package" to identify whether the affected virtual storage
instance is associated to a VirtualStorage descriptor which is referred from the source or destination VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
changeType:
description: >
Signals the type of change. Permitted values:
* ADDED
* REMOVED
* MODIFIED
* TEMPORARY
For a temporary resource, an AffectedVirtualStorage structure exists
as long as the temporary resource exists.
type: string
enum:
- ADDED
- REMOVED
- MODIFIED
- TEMPORARY
storageResource:
description: >
Reference to the VirtualStorage resource. Detailed information is
(for new and modified resources) or has been (for removed
resources) available from the VIM.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
The identifier of the "ResourceDefinition" in the granting exchange related to the LCM operation occurrence.
It shall be present when an applicable GrantInfo for the granted resource exists. See note.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierLocal"
zoneId:
description: >
The identifier of the resource zone, as managed by the resource
management layer (typically, the VIM), where the referenced VirtualNetwork
resource is placed. Shall be provided if this information is available from the VIM.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
metadata:
description: >
Metadata about this resource.
The content of this attribute shall be a copy of the content of the
"metadata" attribute of the VirtualStorageResourceInfo structure.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
CreateVnfRequest:
description: >
This type represents request parameters for the "Create VNF identifier" operation.
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
type: object
required:
- vnfdId
properties:
vnfdId:
description: >
Identifier that identifies the VNFD which defines the VNF instance to
be created.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfInstanceName:
description: >
Human-readable name of the VNF instance to be created.
type: string
vnfInstanceDescription:
description: >
Human-readable description of the VNF instance to be created.
type: string
metadata:
description: >
If present, this attribute provides additional initial values, overriding those obtained from the VNFD, for
the "metadata" attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling metadata
during the operation are defined in clause 5.4.2.3.1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
CancelMode:
description: >
This type represents a parameter to select the mode of cancelling an
ongoing VNF LCM operation occurrence.
type: object
required:
- cancelMode
properties:
cancelMode:
description: >
Cancellation mode to apply.
$ref: "#/definitions/CancelModeType"
CancelModeType:
description: >
Cancellation mode.
GRACEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or
"ROLLING_BACK" state, the VNFM shall not start any new resource
management operation and shall wait for the ongoing resource management
operations in the underlying system, typically the VIM, to finish
execution or to time out. After that, the VNFM shall put the operation
occurrence into the FAILED_TEMP state.
If the VNF LCM operation occurrence is in "STARTING" state, the VNFM
shall not start any resource management operation and shall wait for
the granting request to finish execution or time out. After that, the
VNFM shall put the operation occurrence into the ROLLED_BACK state.
FORCEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or
"ROLLING_BACK" state, the VNFM shall not start any new resource
management operation, shall cancel the ongoing resource management
operations in the underlying system, typically the VIM, and shall wait
for the cancellation to finish or to time out. After that, the VNFM
shall put the operation occurrence into the FAILED_TEMP state.
If the VNF LCM operation occurrence is in "STARTING" state, the VNFM
shall not start any resource management operation and put the operation
occurrence into the ROLLED_BACK state.
type: string
enum:
- GRACEFUL
- FORCEFUL
ScaleVnfRequest:
description: >
This type represents request parameters for the "Scale VNF" operation.
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
type: object
required:
- type
- aspectId
properties:
type:
description: >
Indicates the type of the scale operation requested.
Permitted values:
* SCALE_OUT: adding additional VNFC instances to the VNF to increase
capacity
* SCALE_IN: removing VNFC instances from the VNF in order to release
unused capacity.
type: string
enum:
- SCALE_OUT
- SCALE_IN
aspectId:
description: >
Identifier of the scaling aspect.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
numberOfSteps:
description: >
Number of scaling steps to be executed as part of this Scale VNF
operation. It shall be a positive number and the default value
shall be 1.
type: integer
default: 1
additionalParams:
description: >
Additional parameters passed by the NFVO as input to the scaling
process, specific to the VNF being scaled, as declared in the VNFD
as part of "ScaleVnfOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
ScaleVnfToLevelRequest:
description: >
This type represents request parameters for the "Scale VNF to Level" operation.
NOTE: Either the instantiationLevelId attribute or the scaleInfo attribute shall
be included.
type: object
anyOf:
- oneOf:
- required:
- instantiationLevelId
- required:
- scaleInfo
properties:
instantiationLevelId:
description: >
Identifier of the target instantiation level of the current
deployment flavour to which the VNF is requested to be scaled.
See note.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
scaleInfo:
description: >
For each scaling aspect of the current deployment flavour, indicates
the target scale level to which the VNF is to be scaled.
See note.
type: array
items:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ScaleInfo"
additionalParams:
description: >
Additional parameters passed by the NFVO as input to the scaling
process, specific to the VNF being scaled, as declared in the
VNFD as part of "ScaleVnfToLevelOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
LccnSubscriptionRequest:
description: >
This type represents a subscription request related to notifications
about VNF lifecycle changes.
type: object
required:
- callbackUri
properties:
filter:
description: >
Filter settings for this subscription, to define the subset of all
notifications this subscription relates to. A particular
notification is sent to the subscriber if the filter matches, or if
there is no filter.
$ref: "#/definitions/LifecycleChangeNotificationsFilter"
callbackUri:
description: >
The URI of the endpoint to send the notification to.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Uri"
authentication:
description: >
Authentication parameters to configure the use of Authorization when
sending notifications corresponding to this subscription, as defined
in clause 8.3.4 of ETSI GS NFV-SOL 013.
This attribute shall only be present if the subscriber requires
authorization of notifications.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/SubscriptionAuthentication"
verbosity:
description: >
This attribute signals the requested verbosity of LCM operation occurrence notifications. If it is not present,
it shall default to the value "FULL".
$ref: "#/definitions/LcmOpOccNotificationVerbosityType"
LifecycleChangeNotificationsFilter:
description: >
This type represents a subscription filter related to notifications about VNF lifecycle changes.
At a particular nesting level in the filter structure, the following applies: All attributes shall
match in order for the filter to match (logical "and" between different filter attributes).
If an attribute is an array, the attribute shall match if at least one of the values in the array
matches (logical "or" between the values of one filter attribute).
NOTE: The permitted values of the "notificationTypes" attribute are spelled exactly as the names of
the notification types to facilitate automated code generation systems.
type: object
properties:
vnfInstanceSubscriptionFilter:
description: >
Filter criteria to select VNF instances about which to notify.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/VnfInstanceSubscriptionFilter"
notificationTypes:
description: >
Match particular notification types.
Permitted values:
- VnfLcmOperationOccurrenceNotification
- VnfIdentifierCreationNotification
- VnfIdentifierDeletionNotification
See note.
type: array
items:
type: string
enum:
- VnfLcmOperationOccurrenceNotification
- VnfIdentifierCreationNotification
- VnfIdentifierDeletionNotification
operationTypes:
description: >
Match particular VNF lifecycle operation types for the notification
of type VnfLcmOperationOccurrenceNotification.
May be present if the "notificationTypes" attribute contains the
value "VnfLcmOperationOccurrenceNotification", and shall be absent
otherwise.
type: array
items:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/LcmOperationType"
operationStates:
description: >
Match particular LCM operation state values as reported in
notifications of type VnfLcmOperationOccurrenceNotification.
May be present if the "notificationTypes" attribute contains the
value "VnfLcmOperationOccurrenceNotification", and shall be absent
otherwise.
type: array
items:
$ref: "#/definitions/LcmOperationStateType"
LcmOpOccNotificationVerbosityType:
description: >
The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation
occurrence notifications.
* FULL: This signals a full notification which contains all change details.
* SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to
be sent via the notification mechanism.
type: string
enum:
- FULL
- SHORT
LcmOperationStateType:
description: >
STARTING: The LCM operation is starting.
PROCESSING: The LCM operation is currently in execution.
COMPLETED: The LCM operation has been completed successfully.
FAILED_TEMP: The LCM operation has failed and execution has stopped,
but the execution of the operation is not considered to be closed.
FAILED: The LCM operation has failed and it cannot be retried or rolled back,
as it is determined that such action won't succeed.
ROLLING_BACK: The LCM operation is currently being rolled back.
ROLLED_BACK: The LCM operation has been successfully rolled back,
i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.
type: string
enum:
- STARTING
- PROCESSING
- COMPLETED
- FAILED_TEMP
- FAILED
- ROLLING_BACK
- ROLLED_BACK
LccnSubscription:
description: >
This type represents a subscription related to notifications about VNF
lifecycle changes.
type: object
required:
- id
- callbackUri
- verbosity
- _links
properties:
id:
description: >
Identifier of this subscription resource.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
filter:
description: >
Filter settings for this subscription, to define the subset of all
notifications this subscription relates to. A particular
notification is sent to the subscriber if the filter matches, or if
there is no filter.
$ref: "#/definitions/LifecycleChangeNotificationsFilter"
callbackUri:
description: >
The URI of the endpoint to send the notification to.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Uri"
verbosity:
description: >
This attribute signals the verbosity of LCM operation occurrence notifications.
$ref: "#/definitions/LcmOpOccNotificationVerbosityType"
_links:
description: >
Links to resources related to this resource.
type: object
required:
- self
properties:
self:
description: >
URI of this resource.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Link"
VnfOperationalStateType:
description: >
STARTED: The VNF instance is up and running.
STOPPED: The VNF instance has been shut down.
type: string
enum:
- STARTED
- STOPPED
VnfExtCpInfo:
description: >
This type represents information about an external CP of a VNF.
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
NOTE 1: The attributes "associatedVnfcCpId", "associatedVipCpId" and "associatedVnfVirtualLinkId"
are mutually exclusive. Exactly one shall be present.
NOTE 2: An external CP instance is not associated to a link port in the cases indicated for the
“extLinkPorts” attribute in clause 4.4.1.11.
type: object
required:
- id
- cpdId
- cpConfigId
- cpProtocolInfo
oneOf:
- required:
- associatedVnfcCpId
- required:
- associatedVipCpId
- required:
- associatedVnfVirtualLinkId
properties:
id:
description: >
Identifier of the external CP instance and the related information instance.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
cpdId:
description: >
Identifier of the external CPD, VnfExtCpd, in the VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
cpConfigId:
description: >
Identifier that references the applied "VnfExtCpConfig" entry in the "cpConfig" map of the "currentVnfExtCpData"
in the "ExtVirtualLinkInfo" structure.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change
current VNF package" operation or due to its final failure).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
cpProtocolInfo:
description: >
Network protocol information for this CP.
type: array
items:
$ref: "#/definitions/CpProtocolInfo"
extLinkPortId:
description: >
Identifier of the "ExtLinkPortInfo" structure inside the "ExtVirtualLinkInfo" structure.
Shall be present if the CP is associated to a link port. See note 2.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
metadata:
description: >
Metadata about this external CP.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
associatedVnfcCpId:
description: >
Identifier of the "vnfcCpInfo" structure in "VnfcResourceInfo" structure that represents the VNFC CP
which is exposed by this external CP instance, either directly or via a floating IP address.
Shall be present in case this CP instance maps to a VNFC CP. See note 1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
associatedVipCpId:
description: >
Identifier of the VIP CP instance that is exposed as this VnfExtCp instance, either directly or via a
floating IP address, and the related "VipCpInfo" structure in "VnfInstance". Shall be present if the
cpdId of this VnfExtCp has a vipCpd attribute. See note 1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
associatedVnfVirtualLinkId:
description: >
Identifier of the "VnfVirtualLinkResourceInfo" structure that represents the internal VL or of the
"ExtManagedVirtualLinkInfo" structure that represents the externally-managed internal VL which is
exposed by this external CP instance. Shall be present in case this CP instance maps to an internal
VL (including externally-managed internal VL). See note 1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
CpProtocolInfo:
description: >
This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
NOTE: This attribute allows to signal the addition of further types of layer and protocol in future versions of the
present document in a backwards-compatible way. In the current version of the present document, only IP over
Ethernet is supported.
type: object
required:
- layerProtocol
properties:
layerProtocol:
description: >
The identifier of layer(s) and protocol(s) associated to the network address information.
Permitted values: IP_OVER_ETHERNET
See note.
type: string
enum:
- IP_OVER_ETHERNET
ipOverEthernet:
description: >
IP addresses over Ethernet to assign to the extCP instance. Shall be
present if layerProtocol is equal to " IP_OVER_ETHERNET", and shall
be absent otherwise.
$ref: "#/definitions/IpOverEthernetAddressInfo"
IpOverEthernetAddressInfo:
description: >
This type represents information about a network address that has been assigned.
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
NOTE 1: At least one of "macAddress" or "ipAddresses" shall be present.
NOTE 2: Exactly one of "addresses" or "addressRange" shall be present.
NOTE 3: If the Cp instance represents a subport in a trunk, segmentationId shall be present.
Otherwise it shall not be present.
NOTE 4: Depending on the NFVI networking infrastructure, the segmentationId may indicate the
actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the
transport header of the packets or it may be an identifier used between the application
and the NFVI networking infrastructure to identify the network sub-interface of the trunk
port in question. In the latter case the NFVI infrastructure will map this local segmentationId
to whatever segmentationId is actually used by the NFVI’s transport technology.
type: object
anyOf:
- required:
- macAddress
- required:
- ipAddresses
oneOf:
- required:
- addresses
- required:
- addressRange
properties:
macAddress:
description: >
MAC address, if assigned. See note 1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/MacAddress"
segmentationId:
description: >
Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.
type: string
ipAddresses:
description: >
Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or
dynamic IP address assignment per subnet. See note 1.
type: array
items:
type: object
required:
- type
properties:
type:
description: >
The type of the IP addresses.
Permitted values: IPV4, IPV6.
type: string
enum:
- IPV4
- IPV6
addresses:
description: >
Fixed addresses assigned (from the subnet defined by "subnetId" if provided). See note 2.
type: array
items:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IpAddress"
isDynamic:
description: >
Indicates whether this set of addresses was assigned
dynamically (true) or based on address information provided as
input from the API consumer (false). Shall be present if
"addresses" is present and shall be absent otherwise.
type: boolean
addressRange:
description: >
An IP address range used, e.g. in case of egress connections. See note 2.
type: object
required:
- minAddress
- maxAddress
properties:
minAddress:
description: >
Lowest IP address belonging to the range.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IpAddress"
maxAddress:
description: >
Highest IP address belonging to the range
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IpAddress"
subnetId:
description: >
Subnet defined by the identifier of the subnet resource in
the VIM.
In case this attribute is present, IP addresses are bound
to that subnet.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVim"
VipCpInfo:
description: >
This type provides information related to virtual IP (VIP) CP.
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
NOTE 1: It is possible that there is no associated VnfcCp because the VIP CP is available but not
associated yet.
NOTE 2: If only the value or the presence of this attribute is changed in the "VipCpInfo" structure
by an LCM operation occurrence, this does not represent a change that requires including a related
"AffectedVipCp" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc"
structure related to this LCM operation occurrence.
type: object
required:
- cpInstanceId
- cpdId
properties:
cpInstanceId:
description: >
Identifier of this VIP CP instance and of this VipCpInfo structure.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
cpdId:
description: >
Identifier of the VIP Connection Point Descriptor, VipCpd, in the VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId attribute of the VnfInstance
(e.g. during a "Change current VNF package" operation or due to its final failure). See note 2.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfExtCpId:
description: >
When the VIP CP is exposed as external CP of the VNF, the identifier of this external VNF CP instance.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
cpProtocolInfo:
description: >
Protocol information for this CP. There shall be one cpProtocolInfo for layer 3.
There may be one cpProtocolInfo for layer 2.
type: array
items:
$ref: "#/definitions/CpProtocolInfo"
associatedVnfcCpIds:
description: >
Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note.
type: array
items:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
vnfLinkPortId:
description: >
Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" or
"ExtManagedVirtualLinkInfo" structure. Shall be present if the CP is associated to a
link port on an internal VL (including externally-managed internal VL).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
metadata:
description: >
Metadata about this VIP CP.
type: array
items:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
ExtVirtualLinkInfo:
description: >
This type represents information about an external VL.
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
NOTE: This attribute reflects the current configuration information that has resulted from merging into this attribute
the "VnfExtCpData" information which was passed as part of the "ExtVirtualLinkData" structure in the input of the
most recent VNF LCM operation such as "InstantiateVnfRequest", "ChangeExtVnfConnectivityRequest", "ChangeVnfFlavourRequest"
or "ChangeCurrentVnfPkgRequest", or in the Grant response. If applying such change results in an empty list of
"currentVnfExtCpData" structure instances, the affected instance of "ExtVirtualLinkInfo" shall be removed from its
parent data structure.
type: object
required:
- id
- resourceHandle
- currentVnfExtCpData
properties:
id:
description: >
Identifier of the external VL and the related external VL
information instance.
The identifier is assigned by the NFV-MANO entity that manages this
VL instance.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
resourceHandle:
description: >
Reference to the resource realizing this VL.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
extLinkPorts:
description: >
Link ports of this VL.
type: array
items:
$ref: "#/definitions/ExtLinkPortInfo"
currentVnfExtCpData:
description: >
Allows the API consumer to read the current CP configuration information for the connection of external CPs
to the external virtual link. See note.
type: array
items:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/VnfExtCpData"
ExtLinkPortInfo:
description: >
This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
NOTE 1: The use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration.
NOTE 2: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute.
type: object
required:
- id
- resourceHandle
properties:
id:
description: >
Identifier of this link port as provided by the entity that has
created the link port.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
resourceHandle:
description: >
Reference to the virtualised resource realizing this link
port.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
cpInstanceId:
description: >
Identifier of the external CP of the VNF connected to this link
port. There shall be at most one link port associated with any
external connection point instance. The value refers to an
"extCpInfo" item in the VnfInstance.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
secondaryCpInstanceId:
description: >
Additional external CP of the VNF connected to this link port.
If present, this attribute shall refer to a "secondary" ExtCpInfo item in the VNF instance that exposes a virtual
IP CP instance which shares this linkport with the external CP instance referenced by the "cpInstanceId" attribute.
See note 1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
trunkResourceId:
description: >
Identifier of the trunk resource in the VIM.
Shall be present if the present link port corresponds to the parent port that the trunk resource is associated with.
See note 2.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVim"
MonitoringParameter:
type: object
required:
- id
- performanceMetric
properties:
id:
description: >
Identifier of the monitoring parameter defined in the VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change
current VNF package" operation or due to its final failure).
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
name:
description: >
Human readable name of the monitoring parameter, as defined in the
VNFD.
type: string
performanceMetric:
description: >
Performance metric that is monitored. This attribute shall contain the
related "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.
type: string
VnfLinkPortInfo:
description: >
This type represents a link port of an internal VL of a VNF.
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId
with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be
present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP"
and vipCpInstanceId are present, the two different CP instances share the linkport.
NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId
and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or
only vipCpInstanceId is present (UC6 and UC#6-b).
NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle"
attribute.
type: object
required:
- id
- resourceHandle
properties:
id:
description: >
Identifier of this link port as provided by the entity that has created the link port.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
resourceHandle:
description: >
Reference to the virtualised resource realizing this link
port.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
cpInstanceId:
description: >
When the link port is used for external connectivity by the VNF, this attribute represents the
identifier of the external CP associated with this link port.
When the link port is used for internal connectivity in the VNF, this attribute represents the
identifier of the VNFC CP to be connected to this link port.
Shall be present when the link port is used for external connectivity by the VNF.
May be present if used to reference a VNFC CP instance.
There shall be at most one link port associated with any external connection point instance or
internal connection point (i.e. VNFC CP) instance.
The value refers to an "extCpInfo" item in the VnfInstance or a "vnfcCpInfo" item of a "vnfcResourceInfo"
item in the VnfInstance. See note 1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
cpInstanceType:
description: >
Type of the CP instance that is identified by cpInstanceId.
Shall be present if "cpInstanceId" is present and shall be absent otherwise.
Permitted values:
- VNFC_CP: The link port is connected to a VNFC CP.
- EXT_CP: The link port is associated to an external CP.
See note 1.
type: string
enum:
- VNFC_CP
- EXT_CP
vipCpInstanceId:
description: >
VIP CP instance of the VNF connected to this link port. May be present.
See notes 1, and 2.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
trunkResourceId:
description: >
Identifier of the trunk resource in the VIM.
Shall be present if the present link port corresponds to the parent port that the trunk resource is associated with.
See note 3.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVim"
AffectedVipCp:
description: >
This type provides information about added, deleted and modified virtual IP CP instances.
type: object
required:
- cpInstanceId
- cpdId
- changeType
properties:
cpInstanceId:
description: >
Identifier of the virtual IP CP instance and the related "VipCpInfo" structure in "VnfInstance".
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
cpdId:
description: >
Identifier of the VipCpd in the VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Reference to the VNFD.
Shall be present in case of a "change current VNF Package" to
identify whether the affected virtual CP instance is associated
to a VipCpd which is referred from the source or destination VNFD.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
changeType:
description: >
Signals the type of change.
Permitted values:
- ADDED
- REMOVED
- MODIFIED
type: string
enum:
- ADDED
- REMOVED
- MODIFIED
ModificationsTriggeredByVnfPkgChange:
description: >
This type represents attribute modifications that were performed on an "Individual VNF instance" resource
when changing the current VNF package. The attributes that can be included consist of those requested to
be modified explicitly in the "ChangeCurrentVnfPkgRequest" data structure, and additional attributes of the
"VnfInstance" data structure that were modified implicitly during the operation.
NOTE 1: This attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value
of the attribute at the start of the "Change current VNF package" operation and the value of the attribute
at its completion.
NOTE 2: If present, this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly
during the related operation and contains a copy of the value of the related attribute from the VNFD in the
VNF Package identified by the "vnfdId" attribute.
type: object
properties:
vnfConfigurableProperties:
description: >
This attribute signals the modifications of the "vnfConfigurableProperties" attribute in "VnfInstance" performed
by the operation and shall be present if that attribute was modified during the operation. See note 1.
In addition, the provisions in clause 5.7 shall apply.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
metadata:
description: >
This attribute signals the modifications of the "metadata" attribute in "VnfInstance" performed by the operation and
shall be present if that attribute was modified during the operation. See note 1.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
This attribute signals the modifications of the "extensions" attribute in "VnfInstance" performed by the operation and
shall be present if that attribute was modified during the operation. See note 1.
In addition, the provisions in clause 5.7 shall apply.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
vnfdId:
description: >
If present, this attribute signals the new value of the "vnfdId" attribute in "VnfInstance".
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
vnfProvider:
description: >
If present, this attribute signals the new value of the "vnfProvider" attribute in "VnfInstance". See note 2.
type: string
vnfProductName:
description: >
f present, this attribute signals the new value of the "vnfProductName" attribute in "VnfInstance". See note 2.
type: string
vnfSoftwareVersion:
description: >
If present, this attribute signals the new value of the "vnfSoftwareVersion" attribute in "VnfInstance". See note 2.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Version"
vnfdVersion:
description: >
If present, this attribute signals the new value of the "vnfdVersion" attribute in "VnfInstance". See note 2.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Version"
vimConnectionInfo:
description: >
If present, this attribute signals the changes to VIM connection info that were passed in the related
"ChangeCurrentVnfPkgRequest" structure. The provisions for sensitive information defined in clause
4.4.1.6 apply.
type: object
additionalProperties:
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/VimConnectionInfo"
LccnLinks:
description: >
This type represents the links to resources that a notification can
contain.
type: object
required:
- vnfInstance
- subscription
properties:
vnfInstance:
description: >
Link to the resource representing the VNF instance to which the
notified change applies.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/NotificationLink"
subscription:
description: >
Link to the related subscription.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/NotificationLink"
vnfLcmOpOcc:
description: >
Link to the VNF lifecycle management operation occurrence that this
notification is related to. Shall be present if there is a related
lifecycle operation occurrence.
$ref: "../../General_Definitions/SOL003_def.yaml#/definitions/NotificationLink"