Newer
Older
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
VnfInstance:
description: >
This type represents a VNF instance.
* 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.5).
* 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
Giacomo Bernini
committed
- _links
properties:
id:
description: >
Identifier of the VNF instance.
$ref: "../../General_Definitions/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/Version"
vnfdVersion:
description: >
Identifies the version of the VNFD. The value is copied from the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Version"
vnfConfigurableProperties:
description: >
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 shall be declared
in the VNFD.
The declaration of configurable properties in the VNFD can optionally
contain the specification of initial values. See note 2, note 3 and note 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/SOL002_def.yaml#/definitions/KeyValuePairs"
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
- extCpInfo
properties:
flavourId:
description: >
Identifier of the VNF deployment flavour applied to this VNF instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
vnfState:
description: >
The state of the VNF instance.
$ref: "#/definitions/VnfOperationalStateType"
scaleStatus:
description: >
Scale status of the VNF, one entry per aspect. Represents for every
scaling aspect how "big" the VNF has been scaled w.r.t. that aspect.
This attribute shall be present if the VNF supports scaling.
See clause B.2 for an explanation of VNF scaling.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ScaleInfo"
Giacomo Bernini
committed
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/SOL002_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:
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
items:
extVirtualLinkInfo:
description: >
Information about the external VLs the VNF instance is connected to.
type: array
items:
$ref: "#/definitions/ExtVirtualLinkInfo"
extManagedVirtualLinkInfo:
description: >
Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6.
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.5).
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.
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:
vnfVirtualLinkResourceInfo:
description: >
Information about the virtualised network resources used by the VLs
of the VNF instance. See 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.
vnfVirtualStorageResourceInfo:
description: >
Information on the virtualised storage resource(s) used as storage for the VNF instance.
type: array
items:
vnfcInfo:
description: >
Information about the VNFC instances.
type: array
items:
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 VNF provider foresees shall be declared in the VNFD. The declaration of metadata in
the VNFD can optionally contain the specification of initial values. See note 2 and note 4. The VNFM shall
accept requests to write metadata that are not are declared in the VNFD.
These attributes can be initialized with default values from VNFD (see note 4) and/or with values
passed in the CreateVnfRequest structure (see clause 5.5.2.3).
These attributes can be created, modified or removed with the PATCH method.
$ref: "../../General_Definitions/SOL002_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 by 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 note 2 and note 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,
such as the InstantiateVnfRequest structure.
Further, these attributes can be created, modified or deleted with the PATCH method.
In addition, the provisions in clause 5.7 shall apply.
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/Link"
indicators:
description: Indicators related to this VNF instance, if applicable.
$ref: "../../General_Definitions/SOL002_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/SOL002_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/SOL002_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/SOL002_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/SOL002_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/SOL002_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/SOL002_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/SOL002_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/SOL002_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/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/Link"
InstantiateVnfRequest:
description: >
This type represents request parameters for the "Instantiate VNF" operation.
* NOTE: 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.
type: object
required:
- flavourId
flavourId:
description: >
Identifier of the VNF deployment flavour to be instantiated.
$ref: "../../General_Definitions/SOL002_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/SOL002_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: 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/SOL002_def.yaml#/definitions/ExtVirtualLinkData"
extManagedVirtualLinks:
description: >
Information about external VLs to connect the VNF to. See note.
type: array
items:
localizationLanguage:
description: >
Localization language of the VNF to be instantiated. The value shall
comply with the format defined in IETF RFC 5646.
type: 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/SOL002_def.yaml#/definitions/KeyValuePairs"
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/SOL002_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/SOL002_def.yaml#/definitions/KeyValuePairs"
ChangeVnfFlavourRequest:
description: >
This type represents request parameters for the "Change VNF flavour" operation.
* NOTE: 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.
type: object
required:
- newFlavourId
properties:
newFlavourId:
description: >
Identifier of the VNF deployment flavour to be instantiated.
$ref: "../../General_Definitions/SOL002_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/SOL002_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): 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/SOL002_def.yaml#/definitions/ExtVirtualLinkData"
extManagedVirtualLinks:
description: >
Information about external VLs to connect the VNF to. See note.
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/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/KeyValuePairs"
TerminateVnfRequest:
description: >
This type represents request parameters for the "Terminate VNF" operation.
* NOTE: In case of forceful termination, the VNF instance is terminated immediately.
If the VNF is still in service, this can adversely impact the network service,
and therefore, the EM needs to determine if forceful termination is applicable
in the particular situation.
type: object
required:
- terminationType
properties:
terminationType:
description: >
Indicates the type of 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 EM 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/SOL002_def.yaml#/definitions/KeyValuePairs"
HealVnfRequest:
type: object
properties:
vnfcInstanceId:
description: >
List of identifiers of VNFC instances for which a healing action is requested. Each identifier references the
"id" attribute in a "VnfcInfo" structure. Cardinality can be "0" to denote that the request applies to the
whole VNF and not a specific VNFC instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
cause:
description: >
Indicates the reason why a healing procedure is required.
type: string
additionalParams:
description: >
Additional parameters passed by the EM 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/SOL002_def.yaml#/definitions/KeyValuePairs"
healScript:
description: >
Provides link to a script that should be executed as part
of the healing action or a set of rules for healing procedure.
type: string
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.
type: object
required:
- changeStateTo
properties:
vnfcInstanceId:
description: >
List of identifiers of VNFC instances. Each identifier references the "id" attribute in a "VnfcInfo" structure.
Cardinality can be "0" to denote that the request applies to the whole VNF and not a specific VNFC instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
changeStateTo:
description: >
The desired operational state (i.e. started or stopped) to change
the VNF to.
$ref: "#/definitions/VnfOperationalStateType"
stopType:
description: >
It signals whether forceful or graceful stop is requested. See note
type: string
enum:
- FORCEFUL
- GRACEFUL
gracefulStopTimeout:
description: >
The time interval (in seconds) to wait for the VNF to be taken out of service during graceful stop,
additionalParams:
description: >
Additional parameters passed by the EM 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/SOL002_def.yaml#/definitions/KeyValuePairs"
ChangeExtVnfConnectivityRequest:
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
extVirtualLinks:
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" information known to the VNFM represented in the "VnfInstance" structure (see
clause 5.5.2.2): 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/SOL002_def.yaml#/definitions/ExtVirtualLinkData"
additionalParams:
description: >
Additional parameters passed by the EM 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/SOL002_def.yaml#/definitions/KeyValuePairs"
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: 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.
type: object
required:
- vnfdId
properties:
vnfdId:
description: >
Identifier of the VNFD which defines the destination VNF Package for the change.
$ref: "../../General_Definitions/SOL002_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): 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/SOL002_def.yaml#/definitions/ExtVirtualLinkData"
extManagedVirtualLinks:
description: >
Information about internal VLs that are managed by other entities than the VNFM. See note.
additionalParams:
description: >
Additional parameters passed by the EM 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/SOL002_def.yaml#/definitions/KeyValuePairs"
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/SOL002_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/SOL002_def.yaml#/definitions/KeyValuePairs"
VnfInfoModificationRequest:
description: >
This type represents attribute modifications for an "Individual VNF instance" resource,
i.e. modifications to a resource representation based on the "VnfInstance" data type.
The attributes of "VnfInstance" that can be modified according to the provisions in clause 5.5.2.2
are included in the "VnfInfoModificationRequest" data type.
type: object
properties:
vnfInstanceName:
description: >
New value of the "vnfInstanceName" attribute in "VnfInstance", or "null" to remove the attribute.
type: string
vnfInstanceDescription:
description: >
New value of the "vnfInstanceDescription" attribute in "VnfInstance", or "null" to remove the attribute.
type: string
vnfdId:
description: >
New value of the "vnfdId" attribute in "VnfInstance". The value "null" is not permitted.
$ref: "../../General_Definitions/SOL002_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 [15]).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
metadata:
description: >
Modifications of the "metadattametadata" attribute in "VnfInstance".
If present, these modifications shall be applied according to the rules of
JSON Merge PATCH (see IETF RFC 7396 [15]).
$ref: "../../General_Definitions/SOL002_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 [15]).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
vnfcInfoModifications:
description: >
Modifications of certain entries in the "vnfcInfo" attribute array in the
"instantiatedVnfInfo" attribute of "VnfInstance" to be used as "newList" as defined below this table.
The following provisions shall apply when modifying an attribute that is an array of objects of type
"VnfcInfo" by supplying an array of objects of type "VnfcInfoModifications".
Assumptions:
1) "oldList" is the "VnfcInfo" array to be modified and "newList" is the "VnfcInfoModifications"
array that contains the changes.
2) "oldEntry" is an entry in "oldList" and "newEntry" is an entry in "newList".
3) A "newEntry" has a "corresponding entry" if there exists an "oldEntry" that has the same content
of the "id" attribute as the "newEntry"; a "newEntry" has no corresponding entry if no such "oldEntry" exists.
4) In any array of "VnfcInfo" resp. "VnfcInfoModifications" structures, the content of "id" is unique
(i.e. there are no two entries with the same content of "id").
Provisions:
1) For each "newEntry" in "newList" that has no corresponding entry in "oldList",
the "oldList" array shall be modified by adding that "newEntry".
2) For each "newEntry" in "newList" that has a corresponding "oldEntry" in "oldList",
the value of "oldEntry" shall be updated with the content of "newEntry" as specified for
the data type of "newEntry (refer to clause 5.5.3.24 for the data type "VnfcInfoModifications").
type: array
items:
$ref: "#/definitions/VnfcInfoModifications"
This type represents request parameters for the "Create VNF Snapshot" LCM operation.
type: object
required:
- vnfSnapshotResId
properties:
description: >
Identifier of the individual VNF snapshot resource to which the VNF Snapshot is to be associated.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfcInstanceId:
description: >
Identifier of the VNFC instance to be snapshotted. Each identifier references the "id" attribute in a
"VnfcInfo" structure. If this attribute is provided, only a snapshot of the referred VNFC instance shall
be created.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
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/SOL002_def.yaml#/definitions/KeyValuePairs"
userDefinedData:
description: >
User defined data for the VNF snapshot.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
description: >
This type represents request parameters for the "Revert-to VNF Snapshot" operation.
Identifier of the “individual VNF snapshot” resource with the information of the VNF snapshot to be reverted to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
List of identifiers of the VNFC instance to be reverted. Each identifier references the "id" attribute in a
"VnfcInfo" structure. Shall be present if the request is for reverting a specific VNFC instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
Identifier of the VNFC snapshot information with the information of the VNFC snapshot to be reverted to.
Shall only be present if the "vnfcInstanceId" is present.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
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/SOL002_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 and be filled from 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/SOL002_def.yaml#/definitions/Identifier"
description: >
This type represents an individual VNF snapshot resource.
type: object
required:
- id
properties:
id:
description: >
Identifier of the individual VNF snapshot resource. This identifier is allocated by the VNFM.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfSnapshotPkgId:
description: |
Identifier of the VNF snapshot package information held by the EM. Shall be present when the
“Individual VNF snapshot" resource is created from a VNF snapshot package extraction.
$ref: "../../General_Definitions/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/Link"
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/SOL002_def.yaml#/definitions/Identifier"
vnfInstanceId:
description: >
Identifier of the snapshotted VNF instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
Timestamp indicating when the VNF snapshot creation has been started by the VNFM.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
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/SOL002_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/SOL002_def.yaml#/definitions/Identifier"
VNF Instance information of the snapshotted VNF instance. This is a copy of the individual VNF instance resource.
$ref: '#/definitions/VnfInstance'
vnfcSnapshots:
description: >
Information about VNFC snapshots constituting this VNF snapshot.
type: array
items:
$ref: '#/definitions/VnfcSnapshotInfo'
userDefinedData:
description: >
User defined data for the VNF snapshot.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
VnfcSnapshotInfo:
description: >
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
- creationStartedAt
- vnfcResourceInfoId
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/SOL002_def.yaml#/definitions/Identifier"
vnfcInstanceId:
description: >
Identifier of the snapshotted VNFC instance.
The identifier references the "id" attribute in a "VnfcInfo" structure.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
Timestamp indicating when the VNF snapshot creation has been started by the VNFM.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
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/SOL002_def.yaml#/definitions/DateTime"
Reference to the "VnfcResourceInfo" structure in the "VnfInstance" structure that represents the resources of
the snapshotted VNFC instance. A snapshot of that structure is available in the "vnfInstance" attribute of the
"VnfSnapshot" structure.
computeSnapshotResource:
description: >
Reference to a compute snapshot resource. See note 1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
storageSnapshotResources:
description: >
Mapping of the storage resources associated to the VNFC with the storage snapshot resources.
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/SOL002_def.yaml#/definitions/IdentifierInVnf"
storageSnapshotResource:
description: >
Reference to a storage snapshot resource. See note 2.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
userDefinedData:
description: >
User defined data for the VNF snapshot.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
StopType:
description: >
The enumeration StopType.
* FORCEFUL: The VNFM will stop the VNF instance or VNFC instance(s) immediately after accepting the request.
* GRACEFUL: The VNFM will first arrange to take the VNF instance or VNFC instance(s) 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 or VNFC instance(s).
type: string
enum:
- FORCEFUL
description: >
This type represents an externally-managed internal VL.
* NOTE: The information about the VIM connection referenced by the VIM connection id is known to the VNFM.
Moreover, the identifier of the VIM connection provides scope to the resourceId.
type: object
required:
- id
- virtualLinkDescId
- 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/SOL002_def.yaml#/definitions/Identifier"
vnfVirtualLinkDescId:
description: >
The identifier of the VLD in the VNFD for this VL.
$ref: "../../General_Definitions/SOL002_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. See note.
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/Identifier"
resourceId:
description: >
The identifier of the resource in the scope of the VIM or the
resource provider.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVim"
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/SOL002_def.yaml#/definitions/Identifier"
vnfVirtualLinkDescId:
description: >
Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/Identifier"
networkResource:
description: >
Reference to the VirtualNetwork resource providing this VL.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
vnfLinkPorts:
description: >
Link ports of this VL.
type: array
items:
$ref: "#/definitions/VnfLinkPortInfo"
VnfcResourceInfo:
description: >
This type represents the information on virtualised compute and storage
resources used by a VNFC in a VNF instance.
* 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/SOL002_def.yaml#/definitions/IdentifierInVnf"
Reference to the applicable VDU in the VNFD. See note 1.
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/Identifier"
computeResource:
description: >
Reference to the VirtualCompute resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
storageResourceIds:
description: >
References to the VirtualStorage resources. The value refers to a
VirtualStorageResourceInfo item in the VnfInstance.
type: array
items:
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/Identifier"
vnfcCpInfo:
description: >
All the CPs of the VNFC instance.
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/SOL002_def.yaml#/definitions/IdentifierInVnf"
Identifier of the VDU CPD, cpdId, in the VNFD. See note 1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
vnfExtCpId:
description: >
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/SOL002_def.yaml#/definitions/IdentifierInVnf"
cpProtocolInfo:
description: >
Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP.
The information can be omitted because it is already available as part of the external CP information.
$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/SOL002_def.yaml#/definitions/IdentifierInVnf"
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.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
metadata:
description: >
Metadata about this CP.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
metadata:
description: >
Metadata about this resource.
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfVirtualLinkDescId:
description: >
Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/Identifier"
networkResource:
description: >
Reference to the VirtualNetwork resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
reservationId:
description: >
The reservation identifier applicable to the resource. It shall be
present when an applicable reservation exists.
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/KeyValuePairs"
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/SOL002_def.yaml#/definitions/IdentifierInVnf"
virtualStorageDescId:
description: >
Identifier of the VirtualStorageDesc in the VNFD.
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/Identifier"
storageResource:
description: >
Reference to the VirtualStorage resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
reservationId:
description: >
The reservation identifier applicable to the resource. It shall be
present when an applicable reservation exists.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
metadata:
description: >
Metadata about this resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
AffectedVnfc:
description: >
This type provides information about added, deleted, modified and
temporary VNFCs.
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/SOL002_def.yaml#/definitions/IdentifierInVnf"
vduId:
description: >
Identifier of the related VDU in the VNFD.
$ref: "../../General_Definitions/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/ResourceHandle"
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/SOL002_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/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/IdentifierInVnf"
AffectedVirtualLink:
description: >
This type provides information about added, deleted, modified and
temporary VLs, and added or removed VNF link ports.
NOTE: When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports,
the "networkResource" attribute refers 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.
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/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfVirtualLinkDescId:
description: >
Identifier of the related VLD in the VNFD.
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/Identifier"
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
changeType:
description: >
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.
When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the
"networkResource" attribute refers 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.
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.
$ref: "../../General_Definitions/SOL002_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
"vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" attribute in the "VnfInstance" structure.
See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
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/SOL002_def.yaml#/definitions/KeyValuePairs"
AffectedVirtualStorage:
description: >
This type provides information about added, deleted, modified and
temporary virtual storage resources.
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/SOL002_def.yaml#/definitions/IdentifierInVnf"
virtualStorageDescId:
description: >
Identifier of the related VirtualStorage descriptor in the VNFD.
$ref: "../../General_Definitions/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/ResourceHandle"
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/SOL002_def.yaml#/definitions/KeyValuePairs"
VnfLcmOpOcc:
description: >
This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the "id"
attribute in the "Grant" representing the associated "Individual Grant", if such grant exists.
* NOTE 1: This allows the API consumer 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 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/SOL002_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/SOL002_def.yaml#/definitions/DateTime"
startTime:
description: >
Date-time of the start of the operation.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
vnfInstanceId:
description: >
Identifier of the VNF instance to which the operation applies
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/Identifier"
operation:
description: >
Type of the actual LCM operation represented by this VNF LCM
operation occurrence.
$ref: "../../General_Definitions/SOL002_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/SOL002_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/SOL002_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/SOL002_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
type: array
items:
$ref: "#/definitions/AffectedVnfc"
affectedVirtualLinks:
description: >
Information about VL instances that were affected during the
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"
affectedVirtualStorages:
description: >
Information about virtualised storage instances that were affected
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"
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".
$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/SOL002_def.yaml#/definitions/Identifier"
lcmCoordinations:
description: >
Information about LCM coordination actions (see clause 10) related to this LCM operation occurrence.
type: object
required:
- id
- coordinationActionName
- startTime
- endpointType
properties:
id:
description: >
Identifier of this coordination action. For a terminated coordination action,
this attribute refers to the "id" attribute in the "LcmCoord" data structure
(see clause 10.5.2.3). For a timed-out or ongoing coordination action,
this attribute refers to the {coordinationId} URI variable in the "Location"
header of the "202 Accepted" HTTP response to the POST request that has initiated
the coordination action (see clause 10.4.2.3.1).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
coordinationActionName:
description: >
Indicator of the actual coordination action.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
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. See note 4.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/LcmCoordResultType"
startTime:
description: >
The time when the VNFM has received the confirmation that the coordination action has been started.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
endTime:
description: >
The end 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/SOL002_def.yaml#/definitions/DateTime"
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
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/SOL002_def.yaml#/definitions/DateTime"
rejectedLcmCoordinations:
description: >
Information about LCM coordination actions (see clause 10) that were rejected by 503 error which
means they will be tried again after a delay. See note 5.
type: object
required:
- coordinationActionName
- rejectionTime
- endpointType
- delay
properties:
coordinationActionName:
description: >
Indicator of the actual coordination action.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
rejectionTime:
description: >
The time when the VNFM has received the 503 response that rejects the actual coordination.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
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
delay:
description: >
The end of the delay period, as calculated from the startTime and "Retry-After" header.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
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/SOL002_def.yaml#/definitions/Link"
vnfInstance:
description: >
Link to the VNF instance that the operation applies to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
grant:
description: >
Link to the grant for this operation, if one exists.
$ref: "../../General_Definitions/SOL002_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/SOL002_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/SOL002_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/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/Link"
AffectedExtLinkPort:
description: >
This type provides information about added and deleted external link ports (link ports attached to external virtual links).
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/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/ResourceHandle"
VnfInfoModifications:
description: >
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.
type: object
properties:
vnfInstanceName:
description: >
If present, this attribute signals modifications of the
"vnfInstanceName" attribute in "VnfInstance" as defined in clause 5.5.2.12..
type: string
vnfInstanceDescription:
description: >
If present, this attribute signals modifications of the
"vnfInstanceDescription" attribute in "VnfInstance", as defined in clause 5.5.2.12..
type: string
vnfConfigurableProperties:
description: >
If present, this attribute signals modifications of the
"vnfConfigurableProperties" attribute in "VnfInstance" as defined in clause 5.5.2.12.
In addition, the provisions in clause 5.7 shall apply..
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
metadata:
description: >
If present, this attribute signals modifications of the "metadata"
attribute in "VnfInstance" , as defined in clause 5.5.2.12..
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
If present, this attribute signals modifications of the "extensions"
attribute in "VnfInstance", as defined in clause 5.5.2.12.
In addition, the provisions in clause 5.7 shall apply..
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
vnfdId:
description: >
If present, this attribute signals modifications of the "vnfdId"
attribute in "VnfInstance", as defined in clause 5.5.2.12..
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfProvider:
description: >
If present, this attribute signals modifications of the
"vnfProvider" attribute in "VnfInstance". See note.
type: string
vnfProductName:
description: >
If present, this attribute signals modifications of the
"vnfProductName" attribute in "VnfInstance". See note.
type: string
vnfSoftwareVersion:
description: >
If present, this attribute signals modifications of the
"vnfSoftwareVersion" attribute in "VnfInstance". See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Version"
vnfdVersion:
description: >
If present, this attribute signals modifications of the
"vnfdVersion" attribute in "VnfInstance". See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Version"
vnfcInfoModifications:
description: >
If present, this attribute signals modifications of certain
entries in the "vnfcInfo" attribute array in the
"instantiatedVnfInfo" attribute of "VnfInstance", as defined
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
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
2216
2217
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
2461
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
2537
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
2564
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
2653
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
2712
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
2754
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
2823
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
$ref: "#/definitions/VnfcInfoModifications"
CreateVnfRequest:
type: object
required:
- vnfdId
properties:
vnfdId:
description: >
Identifier that identifies the VNFD which defines the VNF instance to
be created.
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/KeyValuePairs"
ScaleVnfRequest:
description: >
This type represents request parameters for the "Scale VNF" operation. It shall comply with the provisions defined in
table 5.5.2.5-1. See clause B.2 in annex B for an explanation of VNF scaling.
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/SOL002_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 [7].
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
ScaleVnfToLevelRequest:
description: >
This type represents request parameters for the "Scale VNF to Level" operation.
It shall comply with the provisions defined in table 5.5.2.6-1. See clause B.2
for an explanation of VNF scaling.
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/SOL002_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/SOL002_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 [7].
$ref: "../../General_Definitions/SOL002_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"
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/SOL002_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/SOL002_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"
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/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/Link"
ExtVirtualLinkInfo:
description: >
This type represents information about an external VL. It shall comply with the provisions defined in table 5.5.3.2-1.
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/SOL002_def.yaml#/definitions/Identifier"
resourceHandle:
description: >
Reference to the resource realizing this VL.
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/VnfExtCpData"
VnfLinkPortInfo:
description: >
This type represents a link port of an internal VL of a VNF. It shall comply with the provisions
defined in table 5.5.3.8 1.
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/SOL002_def.yaml#/definitions/IdentifierInVnf"
resourceHandle:
description: >
Reference to the virtualised resource realizing this link
port.
$ref: "../../General_Definitions/SOL002_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/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/IdentifierInVim"
ExtLinkPortInfo:
description: >
This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to
an NS VL. It shall comply with the provisions defined in table 5.5.3.9-1.
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/SOL002_def.yaml#/definitions/Identifier"
resourceHandle:
description: >
Reference to the virtualised resource realizing this link
port.
$ref: "../../General_Definitions/SOL002_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/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/IdentifierInVim"
CpProtocolInfo:
description: >
This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.
It shall comply with the provisions defined in table 5.5.3.9b-1.
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.
It shall comply with the provisions defined in table 5.5.3.10-1.
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/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/IpAddress"
maxAddress:
description: >
Highest IP address belonging to the range
$ref: "../../General_Definitions/SOL002_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/SOL002_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/SOL002_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/SOL002_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
LifecycleChangeNotificationsFilter:
description: >
This type represents a subscription filter related to notifications about VNF lifecycle changes.
It shall comply with the provisions defined in table 5.5.3.12-1.
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/SOL002_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/SOL002_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"
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/SOL002_def.yaml#/definitions/NotificationLink"
subscription:
description: >
Link to the related subscription.
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/NotificationLink"
VnfExtCpInfo:
description: >
This type represents information about an external CP of a VNF.
It shall comply with the provisions defined in table 5.5.3.17 1.
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/SOL002_def.yaml#/definitions/IdentifierInVnf"
cpdId:
description: >
Identifier of the external CPD, VnfExtCpd, in the VNFD.
$ref: "../../General_Definitions/SOL002_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/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/Identifier"
metadata:
description: >
Metadata about this external CP.
$ref: "../../General_Definitions/SOL002_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/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/IdentifierInVnf"
VnfOperationalStateType:
description: >
STARTED: The VNF instance is up and running.
STOPPED: The VNF instance has been shut down.
type: string
enum:
- STARTED
- STOPPED
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
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
########################################################################################################################
VnfIdentifierCreationNotification:
description: >
This type represents a VNF identifier creation notification, which
informs the receiver of the creation of a new "Individual VNF instance" resource and
the associated VNF instance identifier.
This notification shall be triggered by the VNFM when it has created an
"Individual VNF instance" resource and the associated VNF instance identifier.
type: object
required:
- id
- notificationType
- subscriptionId
- timeStamp
- vnfInstanceId
- _links
properties:
id:
description: >
Identifier of the VNF instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types. Shall be set to
"VnfIdentifierCreationNotification" for this notification type.
type: string
enum:
- VnfIdentifierCreationNotification
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
timeStamp:
description: >
Date-time of the generation of the notification.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
vnfInstanceId:
description: >
The created VNF instance identifier.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
_links:
description: >
Links to resources related to this notification.
$ref: "#/definitions/LccnLinks"
VnfIdentifierDeletionNotification:
description: >
This type represents a VNF identifier deletion notification, which
informs the receiver of the deletion of a new "Individual VNF instance" resource and
the associated VNF instance identifier.
This notification shall be triggered by the VNFM when it has deleted an
"Individual VNF instance" resource and the associated VNF instance identifier.
type: object
required:
- id
- notificationType
- subscriptionId
- timeStamp
- vnfInstanceId
- _links
properties:
id:
description: >
Identifier of this notification. If a notification is sent multiple
times due to multiple subscriptions, the "id" attribute of all these
notifications shall have the same value.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types. Shall be set to
"VnfIdentifierDeletionNotification" for this notification type.
type: string
enum:
- VnfIdentifierDeletionNotification
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
timeStamp:
description: >
Date-time of the generation of the notification.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
vnfInstanceId:
description: >
The deleted VNF instance identifier.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
_links:
description: >
Links to resources related to this notification.
$ref: "#/definitions/LccnLinks"
VnfcInfoModifications:
description: >
This type represents modifications of an entry in an array of "VnfcInfo" objects.
* NOTE: The attribute "id" in this data type represents the same identifier as the attribute
"vnfcInstanceId" in other related data types in the present document. For reasons of backward
compatibility, this misalignment is not corrected.
type: object
required:
- id
- vnfcConfigurableProperties
properties:
id:
description: >
Identifier of the VNFC instance of which the information is to be modified.
The identifier references the "id" attribute in a "VnfcInfo" structure. See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfcConfigurableProperties:
description: >
Changes of the configurable properties of the VNFC instance.
When this structure is part of a request, the modifications signalled in this attribute
shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396).
In addition, the provisions in clause 5.7 shall apply.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
VnfcInfo:
description: >
This type represents the information about a VNFC instance that is part of a VNF instance.
* NOTE: This allows to represent the error condition that a VNFC instance has lost its resources.
type: object
required:
- id
- vduId
- vnfcState
properties:
id:
description: >
Identifier of the VNFC instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vduId:
description: >
Reference to the applicable VDU in the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfcResourceInfoId:
description: >
Identifier of the VnfcResourceInfo instance representing
the virtualised resources used by this VNFC instance. See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfcState:
description: >
Identifier of the VnfcResourceInfo instance representing
the virtualised resources used by this VNFC instance.
State of the VNFC instance.
Permitted values:
• STARTED: The VNFC instance is up and
running.
• STOPPED: The VNFC instance has been shut down
type: string
enum:
- STARTED
- STOPPED
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfcConfigurableProperties:
description: >
Current values of the configurable properties of the
VNFC instance.
Configurable properties referred in this attribute are
declared in the VNFD.
This attribute can be modified with the PATCH method.
In addition, the provisions in clause 5.7 shall apply.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
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.
The "ModificationsTriggeredByVnfPkgChange" data type shall comply with the provisions defined in table 5.5.3.21-1.
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/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/KeyValuePairs"
vnfdId:
description: >
If present, this attribute signals the new value of the "vnfdId" attribute in "VnfInstance".
$ref: "../../General_Definitions/SOL002_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: >
If 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/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/VimConnectionInfo"
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
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/SOL002_def.yaml#/definitions/IdentifierInVnf"
cpdId:
description: >
Identifier of the VipCpd in the VNFD.
$ref: "../../General_Definitions/SOL002_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/SOL002_def.yaml#/definitions/Identifier"
changeType:
description: >
Signals the type of change.
Permitted values:
- ADDED
- REMOVED
- MODIFIED
type: string
enum:
- ADDED
- REMOVED
- MODIFIED
VipCpInfo:
description: >
This type provides information related to virtual IP (VIP) CP. It shall comply with the provisions
defined in table 5.5.3.28-1.
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.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
cpdId:
description: >
Identifier of the VIP Connection Point Descriptor, VipCpd, in the VNFD.
$ref: "../../General_Definitions/SOL002_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/SOL002_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/SOL002_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/SOL002_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/SOL002_def.yaml#/definitions/IdentifierInVnf"
metadata:
description: >
Metadata about this VIP CP.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"