diff --git a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml index 91cbff64d2207e5f5ae50c9943a063c7856ffb63..c25b77fbe4b970f78bfc788e88bba91f5a29d4bb 100644 --- a/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml +++ b/src/SOL002/VNFLifecycleManagement/VNFLifecycleManagement.yaml @@ -59,7 +59,6 @@ paths: required: false type: string post: - #TODO: Add headers defined in 4.3.4.2 description: > The POST method creates a new VNF instance resource. parameters: @@ -93,7 +92,6 @@ paths: The response body shall contain a representation of the created VNF instance, as defined in clause 5.5.2.2. The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created VNF instance. headers: - #TODO: Add headers defined in 4.3.4.3 Content-Type: description: > The MIME type of the body of the response. @@ -122,7 +120,7 @@ paths: maximum: 1 minimum: 1 schema: - $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -254,7 +252,7 @@ paths: schema: type: array items: - $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -340,7 +338,7 @@ paths: maximum: 1 minimum: 1 schema: - $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" + $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -463,7 +461,6 @@ paths: 504: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504" delete: - #SOL003 location: 5.4.3.3.5 description: > This method deletes an individual VNF instance resource. responses: @@ -561,7 +558,7 @@ paths: in: body required: true schema: - $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest" + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest" responses: 202: description: > @@ -901,7 +898,7 @@ paths: in: body required: true schema: - $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest" + $ref: "definitions/SOl002VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest" responses: 202: description: > @@ -1013,7 +1010,7 @@ paths: in: body required: true schema: - $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest" + $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest" responses: 202: description: > @@ -1125,7 +1122,7 @@ paths: in: body required: true schema: - $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest" + $ref: "definitions/SOl002VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest" responses: 202: description: > @@ -1237,7 +1234,7 @@ paths: in: body required: true schema: - $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest" + $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest" responses: 202: description: > @@ -1351,7 +1348,7 @@ paths: in: body required: true schema: - $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest" + $ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest" responses: 202: description: > @@ -1535,7 +1532,6 @@ paths: If the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. headers: - #TODO: Add headers defined in 4.3.4.3 Content-Type: description: The MIME type of the body of the response. type: string @@ -1563,7 +1559,7 @@ paths: minimum: 0 schema: schema: - $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -1634,7 +1630,6 @@ paths: information about a VNF lifecycle management operation occurrence. headers: - #TODO: Add headers defined in 4.3.4.3 Content-Type: description: The MIME type of the body of the response. type: string @@ -1654,7 +1649,7 @@ paths: maximum: 1 minimum: 1 schema: - $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: "../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: @@ -1816,7 +1811,6 @@ paths: The request was accepted for processing, but processing has not been completed. The response shall have an empty payload body. headers: - #TODO: Add headers defined in 4.3.4.3 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided @@ -1930,7 +1924,7 @@ paths: minimum: 1 schema: schema: - $ref: "definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" + $ref: "../../definitions/SOL002SOl003VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc" 400: $ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400" 401: diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml new file mode 100644 index 0000000000000000000000000000000000000000..85fba009eec9a426175eca0e9f3c784ed6cdd119 --- /dev/null +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -0,0 +1,367 @@ +# Copyright (c) ETSI 2017. +# https://forge.etsi.org/etsi-forge-copyright-notice.txt + +definitions: + VnfInstance: + description: > + This type represents a VNF instance. + type: object + required: + - id + - vnfdId + - vnfProvider + - vnfProductName + - vnfSoftwareVersion + - vnfdVersion + - vnfPkgInfoId + - instantiationState + properties: + id: + description: > + Identifier of the VNF instance. + $ref: "../../../definitions/SOL002SOL003_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. + $ref: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version" + vnfdVersion: + description: > + Identifies the version of the VNFD. The value is copied from the VNFD. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version" + vnfPkgInfoId: + description: > + Identifier of information held by the NFVO about the specific VNF + package on which the VNF is based. This identifier was allocated by the + NFVO. This attribute can be modified with the PATCHmethod. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + vnfConfigurableProperties: + description: > + Current values of the configurable properties of the VNF instance. + $ref: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + vnfState: + description: > + The state of the VNF instance. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/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. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo" + extCpInfo: + description: > + Information about the external CPs exposed by the VNF instance. + type: array + minItems: 1 + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfExtCpInfo" + extVirtualLinkInfo: + description: > + Information about the external VLs the VNF instance is connected to. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" + extManagedVirtualLinkInfo: + description: > + External virtual links the VNF instance is connected to. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtManagedVirtualLinkInfo" + monitoringParameters: + description: > + Active monitoring parameters. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/MonitoringParameter" + localizationLanguage: + description: > + Information about localization language of the VNF (includes e.g. + strings in the VNFD). The localization languages supported by a VNF + can be declared in the VNFD, and localization language selection can + take place at instantiation time. + The value shall comply with the format defined in IETF RFC 5646. + type: string + vnfcResourceInfo: + description: > + Information about the virtualised compute and storage resources used + by the VNFCs of the VNF instance. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcResourceInfo" + virtualLinkResourceInfo: + description: > + Information about the virtualised network resources used by the VLs + of the VNF instance. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfVirtualLinkResourceInfo" + virtualStorageResourceInfo: + description: > + Information on the virtualised storage resource(s) used as storage for the VNF instance. + type: array + items: + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VirtualStorageResourceInfo" + metadata: + description: > + Additional VNF-specific metadata describing the VNF instance. + Metadata that are writeable are declared in the VNFD. + This attribute can be modified with the PATCH method. + ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + extensions: + description: > + VNF specific attributes that affect the lifecycle management of this VNF instance by the VNFM, + or the lifecycle management scripts. Extensions that are writeable are declared in the VNFD. + This attribute can be modified with the PATCH method. + ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. + $ref: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + indicators: + description: Indicators related to this VNF instance, if applicable. + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + instantiate: + description: > + Link to the "instantiate" 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + terminate: + description: > + Link to the "terminate" 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + scale: + description: > + Link to the "scale" 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + scaleToLevel: + description: > + Link to the "scale_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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + changeFlavour: + description: > + Link to the "change_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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + heal: + description: > + Link to the "heal" 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + operate: + description: > + Link to the "operate" 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + changeExtConn: + description: > + Link to the "change_ext_conn" 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" + + 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 + properties: + extVirtualLinks: + description: > + Information about external VLs to change (e.g. connect the VNF to). + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" + additionalParams: + description: > + Additional input parameters for the instantiation process, specific + to the VNF being instantiated, as declared in the VNFD as part of + "ChangeExtVnfConnectivityOpConfig".". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + ChangeVnfFlavourRequest: + description: > + This type represents request parameters for the "Change VNF flavour" operation. + type: object + required: + - newFlavourId + properties: + newFlavourId: + description: > + Identifier of the VNF deployment flavour to be instantiated. + $ref: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + extVirtualLinks: + description: > + Information about external VLs to connect the VNF to. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" + extManagedVirtualLinks: + description: > + Information about external VLs to connect the VNF to. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" + additionalParams: + description: > + Additional input parameters for the instantiation process, specific + to the VNF being instantiated, as declared in the VNFD as part of + "InstantiateVnfOpConfig". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + HealVnfRequest: + type: object + properties: + vnfcInstanceId: + description: > + List of VNFC instances requiring a healing action. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + cause: + description: > + Indicates the reason why a healing procedure is required. + type: string + additionalParams: + description: > + Additional parameters passed by the NFVO as input to the healing + process, specific to the VNF being healed, as declared in the VNFD + as part of "HealVnfOpConfig". + $ref: "../../../definitions/SOL002SOL003_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. + type: object + required: + - changeStateTo + properties: + vnfcInstanceId: + description: > + Identifier of VNFC instances. Cardinality can be "0" to denote + that the request applies to the whole VNF and not a specific VNFC instance. + type: array + items: + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" + changeStateTo: + description: > + The desired operational state (i.e. started or stopped) to change + the VNF to. + $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfOperationalStateType" + stopType: + description: > + It signals whether forceful or graceful stop is requested. + Ignored if changeStateTo=STARTED. + Permitted values: + FORCEFUL: The VNFM will stop down the VNF or the affected VNFCs immediately after accepting the request. + type: string + enum: + - FORCEFUL + additionalParams: + description: > + Additional parameters passed by the NFVO as input to the process, + specific to the VNF of which the operation status is changed, as + declared in the VNFD as part of "OperateVnfOpConfig". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + TerminateVnfRequest: + type: object + required: + - terminationType + properties: + terminationType: + description: > + Indicates the type of termination is requested. + Permitted values: + * FORCEFUL: The VNFM will shut down the VNF and release the + resources immediately after accepting the request. + type: string + enum: + - FORCEFUL + additionalParams: + description: > + Additional parameters passed by the NFVO as input to the termination + process, specific to the VNF being terminated, as declared in the + VNFD as part of "TerminateVnfOpConfig". + $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" \ No newline at end of file diff --git a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml deleted file mode 100644 index 83211e8a0aadced27fc0376e396729f9f2466559..0000000000000000000000000000000000000000 --- a/src/SOL002/VNFLifecycleManagement/definitions/VNFLifecycleManagement_def.yaml +++ /dev/null @@ -1,1207 +0,0 @@ -# Copyright (c) ETSI 2017. -# https://forge.etsi.org/etsi-forge-copyright-notice.txt - -definitions: - AffectedVirtualStorage: - # Ref TBD - 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: "#/definitions/IdentifierInVnf" - virtualStorageDescId: - description: > - Identifier of the related VirtualStorage descriptor in the VNFD. - $ref: "#/definitions/IdentifierInVnfd" - 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: "../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" - - 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: "#/definitions/IdentifierInVnf" - vduId: - description: > - Identifier of the related VDU in the VNFD. - $ref: "#/definitions/IdentifierInVnfd" - 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: "../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" - 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. - $ref: "#/definitions/IdentifierInVnf" - - CancelMode: - description: > - This type represents a parameter to select the mode of cancelling an - ongoing VNF LCM operation occurrence. - type: object - required: - - cancelMode - properties: - cancelMode: - description: > - Cancellation mode to apply. - $ref: "#/definitions/CancelModeType" - - CancelModeType: - description: > - Cancellation mode. - GRACEFUL: 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. - FORCEFUL: 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. - type: string - enum: - - GRACEFUL - - FORCEFUL - - ChangeExtVnfConnectivityRequest: - # Ref TBD - description: > - This type represents request parameters for the - "Change external VNF connectivity" operation to modify the external - connectivity of a VNF instance. - type: object - required: - - extVirtualLinks - properties: - extVirtualLinks: - description: > - Information about external VLs to change (e.g. connect the VNF to). - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" - additionalParams: - description: > - Additional input parameters for the instantiation process, specific - to the VNF being instantiated, as declared in the VNFD as part of - "ChangeExtVnfConnectivityOpConfig".". - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - - ChangeVnfFlavourRequest: - # Ref TBD - description: > - This type represents request parameters for the "Change VNF flavour" operation. - type: object - required: - - newFlavourId - properties: - newFlavourId: - description: > - Identifier of the VNF deployment flavour to be instantiated. - $ref: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - extVirtualLinks: - description: > - Information about external VLs to connect the VNF to. - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" - extManagedVirtualLinks: - description: > - Information about external VLs to connect the VNF to. - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" - additionalParams: - description: > - Additional input parameters for the instantiation process, specific - to the VNF being instantiated, as declared in the VNFD as part of - "InstantiateVnfOpConfig". - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - - extCpInfo: - type: object - required: - - id - - cpdId - properties: - id: - description: > - Identifier of the external CP instance and the related information - instance. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - cpdId: - description: > - Identifier of the external connection point descriptor in the VNFD. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - addresses: - description: > - List of network addresses that have been configured (statically or - dynamically) on the CP. - type: array - items: - $ref: "#/definitions/NetworkAddressInfo" - - ExtManagedVirtualLinkInfo: - # Ref TBD - type: object - required: - - id - - vnfVirtualLinkDescId - properties: - id: - description: > - Identifier of the externally-managed internal VL and the related - externally-managed VL information instance. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - vnfVirtualLinkDescId: - description: > - Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - networkResource: - description: > - Reference to the VirtualNetwork resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" - vnfLinkPorts: - description: > - Link ports of this VL. - type: array - items: - $ref: "#/definitions/VnfLinkPort" - - HealVnfRequest: - type: object - properties: - cause: - description: > - Indicates the reason why a healing procedure is required. - type: string - vnfcInstanceId: - description: TBD - type: string - healScript: - description: TBD - type: string - additionalParams: - description: > - Additional parameters passed by the NFVO as input to the healing - process, specific to the VNF being healed, as declared in the VNFD - as part of "HealVnfOpConfig". - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - - InstantiateVnfRequest: - # Ref TBD - type: object - required: - - flavourId - properties: - flavourId: - description: > - Identifier of the VNF deployment flavour to be instantiated. - $ref: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - extVirtualLinks: - description: > - Information about external VLs to connect the VNF to. - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" - extManagedVirtualLinks: - description: > - Information about external VLs to connect the VNF to. - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" - 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". - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - - InstantiatedVnfInfo: - type: object - required: - - flavourId - - vnfState - properties: - flavourId: - description: > - Identifier of the VNF deployment flavour applied to this VNF instance. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - vnfState: - description: > - The state of the VNF instance. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/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. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo" - extCpInfo: - description: > - Information about the external CPs exposed by the VNF instance. - type: array - minItems: 1 - items: - $ref: "#/definitions/extCpInfo" - extVirtualLinkInfo: - description: > - Information about the external VLs the VNF instance is connected to. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" - extManagedVirtualLinkInfo: - description: > - External virtual links the VNF instance is connected to. - type: array - items: - $ref: "#/definitions/ExtManagedVirtualLinkInfo" - monitoringParameters: - description: > - Active monitoring parameters. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/MonitoringParameter" - localizationLanguage: - description: > - Information about localization language of the VNF (includes e.g. - strings in the VNFD). The localization languages supported by a VNF - can be declared in the VNFD, and localization language selection can - take place at instantiation time. - The value shall comply with the format defined in IETF RFC 5646. - type: string - vnfcResourceInfo: - description: > - Information about the virtualised compute and storage resources used - by the VNFCs of the VNF instance. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcResourceInfo" - virtualLinkResourceInfo: - description: > - Information about the virtualised network resources used by the VLs - of the VNF instance. - type: array - items: - $ref: "#/definitions/VnfVirtualLinkResourceInfo" - virtualStorageResourceInfo: - description: > - Information on the virtualised storage resource(s) used as storage for the VNF instance. - type: array - items: - $ref: "#/definitions/VirtualStorageResourceInfo" - vnfcInfo: - description: "TBD" - type: string - metadata: - description: > - Additional VNF-specific metadata describing the VNF instance. - Metadata that are writeable are declared in the VNFD. - This attribute can be modified with the PATCH method. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - extensions: - description: > - VNF-specific attributes that affect the lifecycle management of this - VNF instance by the VNFM, or the lifecycle management scripts. - Extensions that are writeable are declared in the VNFD. - This attribute can be modified with the PATCH method. - $ref: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - indicators: - description: Indicators related to this VNF instance, if applicable. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - instantiate: - description: > - Link to the "instantiate" 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - terminate: - description: > - Link to the "terminate" 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - scale: - description: > - Link to the "scale" 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - scaleToLevel: - description: > - Link to the "scale_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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - changeFlavour: - description: > - Link to the "change_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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - heal: - description: > - Link to the "heal" 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - operate: - description: > - Link to the "operate" 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - changeExtConn: - description: > - Link to the "change_ext_conn" 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - - 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: "../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - subscription: - description: > - Link to the related subscription. - $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - 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: "../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - - LccnSubscription: - description: > - This type represents a subscription related to notifications about VNF - lifecycle changes. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: > - Identifier of this subscription resource. - $ref: "../../definitions/SOL002SOL003_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/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LifecycleChangeNotificationsFilter" - callbackUri: - description: > - The URI of the endpoint to send the notification to. - $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" - _links: - description: > - Links to resources related to this resource. - type: object - required: - - self - properties: - self: - description: > - URI of this resource. - $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Uri" - - 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/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LifecycleChangeNotificationsFilter" - callbackUri: - description: > - The URI of the endpoint to send the notification to. - $ref: "../../definitions/SOL002SOL003_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 4.5.3.4. - This attribute shall only be present if the subscriber requires - authorization of notifications. - $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication" - - LcmOperationStateType: - description: > - Value | Description - ------|------------ - STARTING | The LCM operation is starting. - PROCESSING | The LCM operation is currently in execution. - COMPLETED | he 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 - - NetworkAddressInfo: - description: > - This type represents information about a network address that has been assigned. - type: object - required: - - macAddress - properties: - macAddress: - description: > - Assigned MAC address. - type: string - #TODO: Can we describe the syntax of this (Table 4.4.2.2-1)? - ipAddress: - description: > - IP address. Present if an IP address was assigned. - type: string - #TODO: Can we describe the syntax of this (Table 4.4.2.2-1)? - subnetIpRanges: - description: > - IP address ranges defining the subnet in which the IP address was - assigned. May be present if the "ipAddress" attribute is present, - and shall be absent if the "ipAddress" attribute is not present. - type: array - items: - type: object - required: - - minIpAddress - - maxIpAddress - properties: - minIpAddress: - description: > - Lowest IP address belonging to the range. - type: string - format: ipaddress - maxIpAddress: - description: > - Highest IP address belonging to the range. - type: string - format: ipaddress - - OperateVnfRequest: - description: > - This type represents request parameters for the "Operate VNF" operation. - type: object - required: - - changeStateTo - properties: - changeStateTo: - description: > - The desired operational state (i.e. started or stopped) to change - the VNF to. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfOperationalStateType" - stopType: - description: > - It signals whether forceful or graceful stop is requested. Ignored - if changeStateTo=STARTED. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/StopType" - vnfcInstanceId: - description: TBD - type: string - additionalParams: - description: > - Additional parameters passed by the NFVO as input to the process, - specific to the VNF of which the operation status is changed, as - declared in the VNFD as part of "OperateVnfOpConfig". - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - - ScaleInfo: - required: - - aspectId - - scaleLevel - type: object - properties: - aspectId: - description: > - Identifier of the scaling aspect. - $ref: "#/definitions/IdentifierInVnfd" - scaleLevel: - description: > - Indicates the scale level. The minimum value shall be 0 and the - maximum value shall be <= maxScaleLevel as described in the VNFD. - type: integer - - ScaleVnfRequest: - 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: "#/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". - $ref: "#/definitions/KeyValuePairs" - - ScaleVnfToLevelRequest: - description: > - This type represents request parameters for the "Scale VNF to Level" - operation. - type: object - properties: - instantiationLevelId: - description: > - Identifier of the target instantiation level of the current - deployment flavour to which the VNF is requested to be scaled. - Either the instantiationLevelId attribute or the scaleInfo attribute - shall be included. - $ref: "#/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. - Either the instantiationLevelId attribute or the scaleInfo attribute - shall be included. - type: array - items: - $ref: "#/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". - $ref: "#/definitions/KeyValuePairs" - - StopType: - description: > - * FORCEFUL: The VNFM will stop the VNF immediately after accepting the - request. - type: string - enum: - - FORCEFUL - - TerminateVnfRequest: - type: object - required: - - terminationType - properties: - terminationType: - description: > - Indicates the type of termination is requested. - Permitted values: - * FORCEFUL: The VNFM will shut down the VNF and release the - resources immediately after accepting the request. - type: string - enum: - - FORCEFUL - additionalParams: - description: > - Additional parameters passed by the NFVO as input to the termination - process, specific to the VNF being terminated, as declared in the - VNFD as part of "TerminateVnfOpConfig". - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - - VirtualStorageResourceInfo: - description: > - This type represents the information that allows addressing a virtualised - resource that is used by a VNF instance. - type: object - required: - - id - - virtualStorageDescId - - storageResource - properties: - id: - description: > - Identifier of this VirtualStorageResourceInfo instance. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - virtualStorageDescId: - description: > - Identifier of the VirtualStorageDesc in the VNFD. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - storageResource: - description: > - Reference to the VirtualStorage resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" - reservationId: - description: > - The reservation identifier applicable to the resource. It shall be - present when an applicable reservation exists. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - metadata: - description: > - Metadata about this resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - - - VnfExtCpData: - # Ref TBD - description: > - This type represents an external CP. - type: object - required: - - cpdId - properties: - cpdId: - description: > - The identifier of the CPD in the VNFD. - $ref: "#/definitions/IdentifierInVnfd" - fixedAddresses: - description: > - List of (fixed) network addresses that need to be configured on the - CP. This attribute shall be present if fixed addresses need to be - configured. - type: array - items: - $ref: "#/definitions/FixedNetworkAddressData" - dynamicAddresses: - description: > - List of network addresses to be assigned dynamically. This attribute - shall be present if dynamic addresses need to be configured. - type: array - items: - $ref: "#/definitions/DynamicNetworkAddressData" - - VnfIdentifierDeletionNotification: - description: > - This type represents a VNF identifier deletion notification, which - informs the receiver of the deletion of a new VNF instance resource and - the associated VNF instance identifier. - type: object - required: - - id - - notificationType - - 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: "../../definitions/SOL002SOL003_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: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - timeStamp: - description: > - Date-time of the generation of the notification. - $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime" - vnfInstanceId: - description: > - The deleted VNF instance identifier. - $ref: "../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - _links: - description: > - Links to resources related to this notification. - $ref: "#/definitions/LccnLinks" - - VnfInstance: - # Ref TBD - description: > - This type represents a VNF instance. - type: object - required: - - id - - vnfdId - - vnfProvider - - vnfProductName - - vnfSoftwareVersion - - vnfdVersion - - onboardedVnfPkgInfoId - - instantiationState - properties: - id: - description: > - Identifier of the VNF instance. - $ref: "../../../definitions/SOL002SOL003_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. - $ref: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version" - vnfdVersion: - description: > - Identifies the version of the VNFD. The value is copied from the VNFD. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version" - onboardedVnfPkgInfoId: - description: > - Identifier of information held by the NFVO about the specific VNF - package on which the VNF is based. This identifier was allocated by the - NFVO. This attribute can be modified with the PATCHmethod. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - vnfConfigurableProperties: - description: > - Current values of the configurable properties of the VNF instance. - $ref: "../../../definitions/SOL002SOL003_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. - $ref: "#/definitions/InstantiatedVnfInfo" - - vnfInstanceIds: - description: > - If present, match VNF instances with an instance identifier listed - in this attribute. - The attributes "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances in a filter. - They should not be used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - - vnfInstanceNames: - description: > - If present, match VNF instances with a VNF Instance Name listed in - this attribute. - The attributes "vnfInstanceIds" and "vnfInstanceNames" are - alternatives to reference to particular VNF Instances in a filter. - They should not be used both in the same filter instance, but one - alternative should be chosen. - type: array - items: - type: string - - VnfLcmOpOcc: - description: > - This type represents a VNF lifecycle management operation occurrence. - type: object - required: - - id - - operationState - - stateEnteredTime - - startTime - - vnfInstanceId - - operation - - isAutomaticInvocation - - isCancelPending - properties: - id: - description: > - Identifier of this VNF lifecycle management operation occurrence. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - operationState: - description: > - The state of the LCM operation. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType" - stateEnteredTime: - description: > - Date-time when the current state was entered. - type: string - format: date-time - startTime: - description: > - Date-time of the start of the operation. - type: string - format: date-time - vnfInstanceId: - description: > - Identifier of the VNF instance to which the operation applies - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - grantId: - description: > - Identifier of the grant related to this VNF LCM operation - occurrence, if such grant exists. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" - operation: - description: > - Type of the actual LCM operation represented by this VNF LCM - operation occurrence. - $ref: "../../../definitions/SOL002SOL003_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. - type: 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. 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 - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" - 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. - type: 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails" - resourceChanges: - description: > - This attribute contains information about the cumulative changes to - virtualised resources that were performed so far by the LCM - operation since its start, if applicable. - type: object - properties: - affectedVnfcs: - description: > - Information about VNFC instances that were affected during the - lifecycle operation. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - type: array - items: - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/AffectedVnfc" - affectedVirtualLinks: - description: > - Information about VL instances that were affected during the - lifecycle operation. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink" - affectedVirtualStorages: - description: > - Information about virtualised storage instances that were affected - during the lifecycle operation. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualStorage" - changedInfo: - description: > - Information about the changed VNF instance information, including - VNF configurable properties, if applicable. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications" - changedExtConnectivity: - description: > - Information about changed external connectivity, if applicable. - This allows the NFVO to obtain the information contained in the - latest "result" notification if it has not received it due to an - error or a wrongly configured subscription filter. - type: array - items: - $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo" - _links: - description: > - Links to resources related to this resource. - type: object - required: - - self - - vnfInstance - properties: - self: - description: > - URI of this resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - vnfInstance: - description: > - Link to the VNF instance that the operation applies to. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - grant: - description: > - Link to the grant for this operation, if one exists. - $ref: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Link" - - VnfLinkPort: - 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - resourceHandle: - description: > - Reference to the virtualised network resource realizing this link - port. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" - cpInstanceId: - description: > - Identifier of the external CP of the VNF 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 "vnfcResouceInfo" item in the VnfInstance. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - - VnfOperationalStateType: - type: string - enum: - - STARTED - - STOPPED - - ERROR - - 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. - type: object - required: - - id - - virtualLinkDescId - - networkResource - - vnfLinkPorts - properties: - id: - description: > - Identifier of this VnfVirtualLinkResourceInfo instance. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" - virtualLinkDescId: - description: > - Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" - networkResource: - description: > - Reference to the VirtualNetwork resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" - reservationId: - description: > - The reservation identifier applicable to the resource. It shall be - present when an applicable reservation exists. - $ref: "../../../definitions/SOL002SOL003_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 VnfLinkPort). - May be present otherwise. - type: array - items: - $ref: "#/definitions/VnfLinkPort" - metadata: - description: > - Metadata about this resource. - $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" diff --git a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml index c12f969f0cad313823b8300f8069ebaa42e5434e..8e682ed46c75497b29fb7fdb897682b081a2f60b 100644 --- a/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml +++ b/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml @@ -2,6 +2,248 @@ # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: + InstantiateVnfRequest: + type: object + required: + - flavourId + properties: + flavourId: + description: > + Identifier of the VNF deployment flavour to be instantiated. + $ref: "SOL002SOL003_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: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" + extVirtualLinks: + description: > + Information about external VLs to connect the VNF to. + type: array + items: + $ref: "SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" + extManagedVirtualLinks: + description: > + Information about external VLs to connect the VNF to. + type: array + items: + $ref: "SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" + 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". + $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs" + + VnfLcmOpOcc: + description: > + This type represents a VNF lifecycle management operation occurrence. + type: object + required: + - id + - operationState + - stateEnteredTime + - startTime + - vnfInstanceId + - operation + - isAutomaticInvocation + - isCancelPending + properties: + id: + description: > + Identifier of this VNF lifecycle management operation occurrence. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + operationState: + description: > + The state of the LCM operation. + $ref: "#/definitions/LcmOperationStateType" + stateEnteredTime: + description: > + Date-time when the current state was entered. + $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" + startTime: + description: > + Date-time of the start of the operation. + $ref: "SOL002SOL003_def.yaml#/definitions/DateTime" + vnfInstanceId: + description: > + Identifier of the VNF instance to which the operation applies + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + grantId: + description: > + Identifier of the grant related to this VNF LCM operation + occurrence, if such grant exists. + $ref: "SOL002SOL003_def.yaml#/definitions/Identifier" + operation: + description: > + Type of the actual LCM operation represented by this VNF LCM + operation occurrence. + $ref: "SOL002SOL003_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: "SOL002SOL003_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. 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 + 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: "SOL002SOL003_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: "SOL002SOL003_def.yaml#/definitions/ProblemDetails" + resourceChanges: + description: > + This attribute contains information about the cumulative changes to + virtualised resources that were performed so far by the LCM + operation since its start, if applicable. + type: object + properties: + affectedVnfcs: + description: > + Information about VNFC instances that were affected during the + lifecycle operation. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "SOL002SOL003_def.yaml#/definitions/AffectedVnfc" + affectedVirtualLinks: + description: > + Information about VL instances that were affected during the + lifecycle operation. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "#/definitions/AffectedVirtualLink" + affectedVirtualStorages: + description: > + Information about virtualised storage instances that were affected + during the lifecycle operation. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "#/definitions/AffectedVirtualStorage" + changedInfo: + description: > + Information about the changed VNF instance information, including + VNF configurable properties, if applicable. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + $ref: "#/definitions/VnfInfoModifications" + changedExtConnectivity: + description: > + Information about changed external connectivity, if applicable. + This allows the NFVO to obtain the information contained in the + latest "result" notification if it has not received it due to an + error or a wrongly configured subscription filter. + type: array + items: + $ref: "#/definitions/ExtVirtualLinkInfo" + _links: + description: > + Links to resources related to this resource. + type: object + required: + - self + - vnfInstance + properties: + self: + description: > + URI of this resource. + $ref: "SOL002SOL003_def.yaml#/definitions/Link" + vnfInstance: + description: > + Link to the VNF instance that the operation applies to. + $ref: "SOL002SOL003_def.yaml#/definitions/Link" + grant: + description: > + Link to the grant for this operation, if one exists. + $ref: "SOL002SOL003_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: "SOL002SOL003_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: "SOL002SOL003_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: "SOL002SOL003_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: "SOL002SOL003_def.yaml#/definitions/Link" + + CancelModeType: + description: > + Cancellation mode. + GRACEFUL: 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. + FORCEFUL: 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. + type: string + enum: + - GRACEFUL + - FORCEFUL + AffectedVirtualLink: description: > This type provides information about added, deleted, modified and