# Copyright (c) ETSI 2017. # https://forge.etsi.org/etsi-forge-copyright-notice.txt definitions: InstantiateVnfRequest: #SOL003 location: 5.5.2.4 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 internal VLs that are managed by the NFVO. NOTES: 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. It is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 4.4.1.12). type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this attribute to the "vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch (see IETF RFC 7396). type: object additionalProperties: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" localizationLanguage: description: > Localization language of the VNF to be instantiated. The value shall comply with the format defined in IETF RFC 5646. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" additionalParams: description: > Additional input parameters for the instantiation process, specific to the VNF being instantiated, as declared in the VNFD as part of "InstantiateVnfOpConfig". $ref: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" 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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ChangeVnfFlavourRequest: #SOL003 location: 5.5.2.7 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. Entries in the list of external VLs that are unchanged need not be supplied as part of this request. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" extManagedVirtualLinks: description: > Information about internal VLs that are managed by the NFVO. NOTES: 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. It is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 4.4.1.12). type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this attribute to the "vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch (see IETF RFC 7396). type: object additionalProperties: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" 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" 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: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" TerminateVnfRequest: type: object required: - terminationType properties: terminationType: description: > Indicates whether forceful or graceful termination is requested. Permitted values: * FORCEFUL: The VNFM will shut down the VNF and release the resources immediately after accepting the request. * GRACEFUL: The VNFM will first arrange to take the VNF out of service after accepting the request. Once the operation of taking the VNF out of service finishes (irrespective of whether it has succeeded or failed) or once the timer value specified in the "gracefulTerminationTimeout" attribute expires, the VNFM will shut down the VNF and release the resources. type: string enum: - FORCEFUL - GRACEFUL gracefulTerminationTimeout: description: > This attribute is only applicable in case of graceful termination. It defines the time to wait for the VNF to be taken out of service before shutting down the VNF and releasing the resources. The unit is seconds. If not given and the "terminationType" attribute is set to "GRACEFUL", it is expected that the VNFM waits for the successful taking out of service of the VNF, no matter how long it takes, before shutting down the VNF and releasing the resources. type: integer additionalParams: description: > Additional parameters passed by the NFVO as input to the termination process, specific to the VNF being terminated, as declared in the VNFD as part of "TerminateVnfOpConfig". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" HealVnfRequest: type: object properties: cause: description: > Indicates the reason why a healing procedure is required. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" additionalParams: description: > Additional parameters passed by the NFVO as input to the healing process, specific to the VNF being healed, as declared in the VNFD as part of "HealVnfOpConfig". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" 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. 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 was set to ”FORCEFUL”, when the “changeStateTo” attribute is equal to “STOPPED” and the “stopType” attribute is absent. $ref: "#/definitions/StopType" gracefulStopTimeout: description: > The time interval (in seconds) to wait for the VNF to be taken out of service during graceful stop, before stopping the VNF. 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 was set to ”FORCEFUL”, when the “changeStateTo” attribute is equal to “STOPPED” and the “stopType” attribute is absent. type: integer additionalParams: description: > Additional parameters passed by the NFVO as input to the process, specific to the VNF of which the operation status is changed, as declared in the VNFD as part of "OperateVnfOpConfig". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ChangeExtVnfConnectivityRequest: #SOL003 location: 5.5.2.11 description: > This type represents request parameters for the "Change external VNF connectivity" operation to modify the external connectivity of a VNF instance. type: object required: - extVirtualLinks properties: extVirtualLinks: description: > Information about external VLs to change (e.g. connect the VNF to). Entries in the list of external VLs that are unchanged need not be supplied as part of this request. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this attribute to the "vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch (see IETF RFC 7396). type: object additionalProperties: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" 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" ChangeCurrentVnfPkgRequest: #SOL003 location: 5.5.2.11a 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. type: object required: - vnfdId properties: vnfdId: description: > Identifier of the VNFD which defines the destination VNF Package for the change. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" extVirtualLinks: description: > Information about external VLs to connect the VNF to. Entries in the list that are unchanged need not be supplied as part of this request. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtVirtualLinkData" extManagedVirtualLinks: description: > Information about internal VLs that are managed by the NFVO. NOTES: 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. It is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 4.4.1.12). type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ExtManagedVirtualLinkData" vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this attribute to the "vimConnectionInfo" attribute of "VnfInstance" according to the rules of JSON Merge Patch (see IETF RFC 7396). type: object additionalProperties: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" additionalParams: description: > Additional parameters passed by the NFVO as input to the process, specific to the VNF of which the underlying VNF package is changed, as declared in the VNFD as part of "ChangeCurrentVnfPkgOpConfig". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" extensions: description: > If present, this attribute provides modifications to the values of the "extensions" attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling extensions during the operation, and needed passed parameter values in case of conflicts, are defined in clause 5.4.11a.3.1. $ref: "../../../definitions/SOL002SOL003_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: "../../../definitions/SOL002SOL003_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. type: object properties: vnfInstanceName: description: > New value of the "vnfInstanceName" attribute in "VnfInstance", or "null" to remove the attribute. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" vnfInstanceDescription: description: > New value of the "vnfInstanceDescription" attribute in "VnfInstance", or "null" to remove the attribute. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" vnfPkgId: description: > New value of the "vnfPkgId" attribute in "VnfInstance". The value "null" is not permitted. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfConfigurableProperties: description: > Modifications of the "vnfConfigurableProperties" attribute in "VnfInstance". If present, these modifications shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" metadata: description: > Modifications of the "metadata" attribute in "VnfInstance". If present, these modifications shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" extensions: description: > Modifications of the "extensions" attribute in "VnfInstance". If present, these modifications shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396). $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vimConnectionInfo: description: > Modifications of the "vimConnectionInfo" attribute. If present, these modifications shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396 ). type: object additionalProperties: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" 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. type: object properties: vnfInstanceName: description: > If present, this attribute signals modifications of the "vnfInstanceName" attribute in "VnfInstance". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" vnfInstanceDescription: description: > If present, this attribute signals modifications of the "vnfInstanceDescription" attribute in "VnfInstance". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" vnfConfigurableProperties: description: > If present, this attribute signals modifications of the "vnfConfigurableProperties" attribute in "VnfInstance". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" metadata: description: > If present, this attribute signals modifications of the "metadata" attribute in "VnfInstance". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" extensions: description: > If present, this attribute signals modifications of the "extensions" attribute in "VnfInstance". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vimConnectionInfo: description: > If present, this attribute signals modifications the "vimConnectionInfo" attribute array in "VnfInstance". type: object additionalProperties: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo" vnfdId: description: > If present, this attribute signals modifications of the "vnfdId" attribute in "VnfInstance". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfProvider: description: > If present, this attribute signals modifications of the "vnfProvider" attribute in "VnfInstance". If present, this attribute (which depends on the value of the "vnfPkgId" attribute) was modified implicitly following a request to modify the "vnfPkgId" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfPkgId” attribute. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" vnfProductName: description: > If present, this attribute signals modifications of the "vnfProductName" attribute in "VnfInstance". If present, this attribute (which depends on the value of the "vnfPkgId" attribute) was modified implicitly following a request to modify the "vnfPkgId" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfPkgId” attribute. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/String" vnfSoftwareVersion: description: > If present, this attribute signals modifications of the "vnfSoftwareVersion" attribute in "VnfInstance". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version" vnfdVersion: description: > If present, this attribute signals modifications of the "vnfdVersion" attribute in "VnfInstance". If present, this attribute (which depends on the value of the "vnfPkgId" attribute) was modified implicitly following a request to modify the "vnfPkgId" attribute, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfPkgId” attribute. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Version" StopType: description: > * FORCEFUL: The VNFM will stop the VNF instance immediately after accepting the request. * GRACEFUL: The VNFM instance will first arrange to take the VNF out of service after accepting the request. Once that operation is successful or once the timer value specified in the "gracefulStopTimeout" attribute expires, the VNFM will stop the VNF instance. type: string enum: - FORCEFUL - GRACEFUL CreateVnfSnapshotRequest: description: > This type represents request parameters for the "Create VNF Snapshot" LCM operation which takes a snapshot of a VNF instance and populates a previously-created "Individual VNF snapshot" resource with the content of the snapshot. It shall comply with the provisions defined in table 5.5.2.21-1. type: object required: - vnfSnapshotResId properties: vnfSnapshotInfoId: description: > Identifier of the "Individual VNF snapshot" resource to which the VNF snapshot is to be associated. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" additionalParams: description: > Additional input parameters for the snapshot creation process, specific for the VNF being “snapshotted”, as declared in the VNFD as part of “CreateSnapshotVnfOpConfig”. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" userDefinedData: description: > User defined data for the VNF snapshot. $ref: "../../../definitions/SOL002SOL003_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. It shall comply with the provisions defined in table 5.5.2.20-1. type: object properties: vnfSnapshotPkgId: description: | Identifier of the VNF snapshot package information held by the NFVO. The present attribute shall be provided if the "Individual VNF snapshot" resource is requested to be created as part of a VNF snapshot package extraction. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfSnapshot: description: | Information about the VNF snapshot, content and/or reference to its content. $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshot" RevertToVnfSnapshotRequest: description: > This type represents request parameters for the "Revert to VNF Snapshot" operation. type: object properties: vnfSnapshotInfoId: description: > Identifier of the "Individual VNF snapshot" resource with the information of the VNF snapshot to be reverted to. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" additionalParams: description: > Additional input parameters for the revert to VNF snapshot process, specific for the VNF being “reverted”, as declared in the VNFD as part of “RevertToSnapshotVnfOpConfig”. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" VnfSnapshotInfoModificationRequest: description: | This type represents attribute modifications for an "Individual VNF snapshot" resource, i.e. modifications to a resource representation based on the "VnfSnapshotInfo" data type. The attributes of "VnfSnapshotInfo" that can be modified according to the provisions in clause 5.5.2.22 are included in the "VnfSnapshotInfoModificationRequest" data type. The "VnfSnapshotInfoModificationRequest" data type shall comply with the provisions defined in table 5.5.2.24-1. type: object properties: vnfSnapshotPkgId: description: | New value of the "vnfSnapshotPkgId" attribute in "VnfSnapshotInfo". The value "null" is not permitted. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfSnapshot: description: | New value of the "vnfSnapshot" attribute in "VnfSnapshotInfo". The value "null" is not permitted. $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshot" VnfSnapshotInfoModifications: description: | This type represents attribute modifications that were performed on an "Individual VNF snapshot" resource. The attributes that can be included consist of those requested to be modified explicitly in the "VnfSnapshotInfoModificationRequest" data structure, and additional attributes of the "VnfSnapshotInfo" data structure that were modified implicitly. The "VnfSnapshotInfoModifications" data type shall comply with the provisions defined in table 5.5.2.25-1. type: object properties: vnfSnapshotPkgId: description: | If present, this attribute signals modifications of the "vnfSnapshotPkgId" attribute in "VnfSnapshotInfo" as defined in clause 5.5.2.22. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfSnapshot: description: | If present, this attribute signals modifications of the "vnfSnapshot" attribute in "VnfSnapshotInfo" as defined in clause 5.5.2.22. $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshot"