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: Clause B.3.2 provides examples illustrating the relationship among the different run-time
data types (CP, VL and link ports) used to represent the connectivity of a VNF.
* 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"
Loading full blame...