diff --git a/vnfm-simulator/vnfm-api/src/main/resources/vnfm-sim-swagger.json b/vnfm-simulator/vnfm-api/src/main/resources/vnfm-sim-swagger.json
new file mode 100644
index 0000000..2bc25a2
--- /dev/null
+++ b/vnfm-simulator/vnfm-api/src/main/resources/vnfm-sim-swagger.json
@@ -0,0 +1,8143 @@
+{
+	"swagger": "2.0",
+	"info": {
+		"version": "1.1.1",
+		"title": "SOL003 - VNF Lifecycle Management interface",
+		"description": "SOL003 - VNF Lifecycle Management interface definition\n\nIMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.\n\nIn clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes to the attribute-based filtering mechanism are being considered in v2.5.1 of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design.\nPlease report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=\n",
+		"license": {
+			"name": "ETSI Forge copyright notice",
+			"url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt"
+		}
+	},
+	"externalDocs": {
+		"description": "ETSI GS NFV-SOL 003 V2.4.1",
+		"url": "http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf"
+	},
+	"basePath": "/vnflcm/v1",
+	"schemes": ["https"],
+	"consumes": ["application/json"],
+	"produces": ["application/json"],
+	"paths": {
+		"/vnf_instances": {
+			"post": {
+				"description": "Create VNF Identifier\n\nThe POST method creates a new VNF instance resource.\n",
+				"tags": ["Sol003VnfLcm"],
+				"parameters": [{
+						"name": "createVnfRequest",
+						"description": "The VNF creation parameters",
+						"in": "body",
+						"required": true,
+						"schema": {
+							"type": "object",
+							"required": ["vnfdId"],
+							"properties": {
+								"vnfdId": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"vnfInstanceName": {
+									"description": "Human-readable name of the VNF instance to be created.\n",
+									"type": "string"
+								},
+								"vnfInstanceDescription": {
+									"description": "Human-readable description of the VNF instance to be created.\n",
+									"type": "string"
+								}
+							}
+						}
+					}, {
+						"name": "Accept",
+						"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
+						"in": "header",
+						"required": true,
+						"type": "string"
+					}, {
+						"name": "Authorization",
+						"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
+						"in": "header",
+						"required": false,
+						"type": "string"
+					}, {
+						"name": "Content-Type",
+						"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
+						"in": "header",
+						"required": true,
+						"type": "string"
+					}
+				],
+				"responses": {
+					"201": {
+						"description": "A VNF Instance identifier was created successfully",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"Location": {
+								"description": "The resource URI of the created VNF instance",
+								"type": "string",
+								"format": "url"
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "This type represents a VNF instance.\n",
+							"type": "object",
+							"required": ["id", "vnfdId", "vnfProvider", "vnfProductName", "vnfSoftwareVersion", "vnfdVersion", "vnfPkgId", "instantiationState"],
+							"properties": {
+								"id": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"vnfInstanceName": {
+									"description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n",
+									"type": "string"
+								},
+								"vnfInstanceDescription": {
+									"description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n",
+									"type": "string"
+								},
+								"vnfdId": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"vnfProvider": {
+									"description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n",
+									"type": "string"
+								},
+								"vnfProductName": {
+									"description": "Name to identify the VNF Product. The value is copied from the VNFD.\n",
+									"type": "string"
+								},
+								"vnfSoftwareVersion": {
+									"description": "A Version.\n",
+									"type": "string"
+								},
+								"vnfdVersion": {
+									"description": "A Version.\n",
+									"type": "string"
+								},
+								"vnfPkgId": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"vnfConfigurableProperties": {
+									"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+									"type": "object"
+								},
+								"vimConnectionInfo": {
+									"description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n",
+									"type": "array",
+									"items": {
+										"description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n",
+										"type": "object",
+										"required": ["id", "vimType"],
+										"properties": {
+											"id": {
+												"description": "An identifier with the intention of being globally unique.\n",
+												"type": "string"
+											},
+											"vimId": {
+												"description": "An identifier with the intention of being globally unique.\n",
+												"type": "string"
+											},
+											"vimType": {
+												"description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n",
+												"type": "string"
+											},
+											"interfaceInfo": {
+												"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+												"type": "object"
+											},
+											"accessInfo": {
+												"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+												"type": "object"
+											},
+											"extra": {
+												"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+												"type": "object"
+											}
+										}
+									}
+								},
+								"instantiationState": {
+									"description": "The instantiation state of the VNF.\n",
+									"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.\n",
+									"type": "object",
+									"required": ["flavourId", "vnfState"],
+									"properties": {
+										"flavourId": {
+											"description": "An identifier that is unique within a VNF descriptor.\n",
+											"type": "string"
+										},
+										"vnfState": {
+											"type": "string",
+											"enum": ["STARTED", "STOPPED"]
+										},
+										"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.\n",
+											"type": "array",
+											"items": {
+												"required": ["aspectId", "scaleLevel"],
+												"type": "object",
+												"properties": {
+													"aspectId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"scaleLevel": {
+														"description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n",
+														"type": "integer"
+													}
+												}
+											}
+										},
+										"extCpInfo": {
+											"description": "Information about the external CPs exposed by the VNF instance.\n",
+											"type": "array",
+											"minItems": 1,
+											"items": {
+												"type": "object",
+												"required": ["id", "cpdId"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"cpdId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"cpProtocolInfo": {
+														"description": "Network protocol information for this CP.\n",
+														"type": "array",
+														"items": {
+															"description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n",
+															"required": ["layerProtocol"],
+															"properties": {
+																"layerProtocol": {
+																	"description": "The identifier of layer(s) and protocol(s) associated to the network address information.  Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n",
+																	"type": "string",
+																	"enum": ["IP_OVER_ETHERNET"]
+																},
+																"ipOverEthernet": {
+																	"description": "This type represents information about a network address that has been assigned.\n",
+																	"type": "object",
+																	"required": ["macAddress"],
+																	"properties": {
+																		"macAddress": {
+																			"description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n",
+																			"type": "string",
+																			"format": "MAC"
+																		},
+																		"ipAddresses": {
+																			"description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n",
+																			"type": "array",
+																			"items": {
+																				"type": "object",
+																				"required": ["type"],
+																				"properties": {
+																					"type": {
+																						"description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n",
+																						"type": "string",
+																						"enum": ["IPV4", "IPV6"]
+																					},
+																					"addresses": {
+																						"description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n",
+																						"type": "array",
+																						"items": {
+																							"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																							"type": "string",
+																							"format": "IP"
+																						}
+																					},
+																					"isDynamic": {
+																						"description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n",
+																						"type": "boolean"
+																					},
+																					"addressRange": {
+																						"description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n",
+																						"type": "object",
+																						"required": ["minAddress", "maxAddress"],
+																						"properties": {
+																							"minAddress": {
+																								"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																								"type": "string",
+																								"format": "IP"
+																							},
+																							"maxAddress": {
+																								"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																								"type": "string",
+																								"format": "IP"
+																							}
+																						}
+																					},
+																					"subnetId": {
+																						"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																						"type": "string",
+																						"format": "IP"
+																					}
+																				}
+																			}
+																		}
+																	}
+																}
+															}
+														}
+													},
+													"extLinkPortId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													}
+												}
+											}
+										},
+										"extVirtualLinkInfo": {
+											"description": "Information about the external VLs the VNF instance is connected to.\n",
+											"type": "array",
+											"items": {
+												"type": "object",
+												"required": ["id", "resourceHandle"],
+												"properties": {
+													"id": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"resourceHandle": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"extLinkPorts": {
+														"description": "Link ports of this VL.\n",
+														"type": "array",
+														"items": {
+															"description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n",
+															"type": "object",
+															"required": ["id", "resourceHandle"],
+															"properties": {
+																"id": {
+																	"description": "An identifier with the intention of being globally unique.\n",
+																	"type": "string"
+																},
+																"resourceHandle": {
+																	"required": ["vimConnectionId", "resourceId"],
+																	"type": "object",
+																	"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+																	"properties": {
+																		"vimConnectionId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceProviderId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceId": {
+																			"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																			"type": "string"
+																		},
+																		"vimLevelResourceType": {
+																			"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																			"type": "string"
+																		}
+																	}
+																},
+																"cpInstanceId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																}
+															}
+														}
+													}
+												}
+											}
+										},
+										"extManagedVirtualLinkInfo": {
+											"description": "External virtual links the VNF instance is connected to.\n",
+											"type": "array",
+											"items": {
+												"type": "object",
+												"required": ["id", "vnfVirtualLinkDescId"],
+												"properties": {
+													"id": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"vnfVirtualLinkDescId": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"networkResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"vnfLinkPorts": {
+														"description": "Link ports of this VL.\n",
+														"type": "array",
+														"items": {
+															"type": "object",
+															"required": ["id", "resourceHandle"],
+															"properties": {
+																"id": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																},
+																"resourceHandle": {
+																	"required": ["vimConnectionId", "resourceId"],
+																	"type": "object",
+																	"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+																	"properties": {
+																		"vimConnectionId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceProviderId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceId": {
+																			"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																			"type": "string"
+																		},
+																		"vimLevelResourceType": {
+																			"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																			"type": "string"
+																		}
+																	}
+																},
+																"cpInstanceId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																}
+															}
+														}
+													}
+												}
+											}
+										},
+										"monitoringParameters": {
+											"description": "Active monitoring parameters.\n",
+											"type": "array",
+											"items": {
+												"type": "object",
+												"required": ["id", "value", "timeStamp"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"name": {
+														"description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n",
+														"type": "string"
+													},
+													"value": {
+														"description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n",
+														"type": "object"
+													},
+													"timeStamp": {
+														"description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n",
+														"type": "string"
+													}
+												}
+											}
+										},
+										"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.\n",
+											"type": "string"
+										},
+										"vnfcResourceInfo": {
+											"description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n",
+											"type": "array",
+											"items": {
+												"description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n",
+												"type": "object",
+												"required": ["id", "vduId", "computeResource"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"vduId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"computeResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"storageResourceIds": {
+														"description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n",
+														"type": "array",
+														"items": {
+															"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+															"type": "string"
+														}
+													},
+													"reservationId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"vnfcCpInfo": {
+														"description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n",
+														"type": "array",
+														"items": {
+															"type": "object",
+															"required": ["id", "cpdId"],
+															"properties": {
+																"id": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																},
+																"cpdId": {
+																	"description": "An identifier that is unique within a VNF descriptor.\n",
+																	"type": "string"
+																},
+																"vnfExtCpId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																},
+																"cpProtocolInfo": {
+																	"description": "Network protocol information for this CP.\n",
+																	"type": "array",
+																	"items": {
+																		"description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n",
+																		"required": ["layerProtocol"],
+																		"properties": {
+																			"layerProtocol": {
+																				"description": "The identifier of layer(s) and protocol(s) associated to the network address information.  Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n",
+																				"type": "string",
+																				"enum": ["IP_OVER_ETHERNET"]
+																			},
+																			"ipOverEthernet": {
+																				"description": "This type represents information about a network address that has been assigned.\n",
+																				"type": "object",
+																				"required": ["macAddress"],
+																				"properties": {
+																					"macAddress": {
+																						"description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n",
+																						"type": "string",
+																						"format": "MAC"
+																					},
+																					"ipAddresses": {
+																						"description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n",
+																						"type": "array",
+																						"items": {
+																							"type": "object",
+																							"required": ["type"],
+																							"properties": {
+																								"type": {
+																									"description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n",
+																									"type": "string",
+																									"enum": ["IPV4", "IPV6"]
+																								},
+																								"addresses": {
+																									"description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n",
+																									"type": "array",
+																									"items": {
+																										"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																										"type": "string",
+																										"format": "IP"
+																									}
+																								},
+																								"isDynamic": {
+																									"description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n",
+																									"type": "boolean"
+																								},
+																								"addressRange": {
+																									"description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n",
+																									"type": "object",
+																									"required": ["minAddress", "maxAddress"],
+																									"properties": {
+																										"minAddress": {
+																											"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																											"type": "string",
+																											"format": "IP"
+																										},
+																										"maxAddress": {
+																											"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																											"type": "string",
+																											"format": "IP"
+																										}
+																									}
+																								},
+																								"subnetId": {
+																									"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																									"type": "string",
+																									"format": "IP"
+																								}
+																							}
+																						}
+																					}
+																				}
+																			}
+																		}
+																	}
+																},
+																"vnfLinkPortId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																}
+															}
+														}
+													},
+													"metadata": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													}
+												}
+											}
+										},
+										"virtualLinkResourceInfo": {
+											"description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n",
+											"type": "array",
+											"items": {
+												"description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n",
+												"type": "object",
+												"required": ["id", "vnfVirtualLinkDescId", "networkResource"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"vnfVirtualLinkDescId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"networkResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"reservationId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"vnfLinkPorts": {
+														"description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n",
+														"type": "array",
+														"items": {
+															"type": "object",
+															"required": ["id", "resourceHandle"],
+															"properties": {
+																"id": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																},
+																"resourceHandle": {
+																	"required": ["vimConnectionId", "resourceId"],
+																	"type": "object",
+																	"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+																	"properties": {
+																		"vimConnectionId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceProviderId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceId": {
+																			"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																			"type": "string"
+																		},
+																		"vimLevelResourceType": {
+																			"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																			"type": "string"
+																		}
+																	}
+																},
+																"cpInstanceId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																}
+															}
+														}
+													},
+													"metadata": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													}
+												}
+											}
+										},
+										"virtualStorageResourceInfo": {
+											"description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n",
+											"type": "array",
+											"items": {
+												"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n",
+												"type": "object",
+												"required": ["id", "virtualStorageDescId", "storageResource"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"virtualStorageDescId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"storageResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"reservationId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"metadata": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													}
+												}
+											}
+										}
+									}
+								},
+								"metadata": {
+									"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+									"type": "object"
+								},
+								"extensions": {
+									"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+									"type": "object"
+								},
+								"_links": {
+									"description": "Links to resources related to this resource.\n",
+									"type": "object",
+									"required": ["self"],
+									"properties": {
+										"self": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"indicators": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"instantiate": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"terminate": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"scale": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"scaleToLevel": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"changeFlavour": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"heal": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"operate": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"changeExtConn": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					},
+					"400": {
+						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"401": {
+						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"403": {
+						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"404": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"405": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"406": {
+						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"409": {
+						"description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"416": {
+						"description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"422": {
+						"description": "Unprocessable Entity\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"500": {
+						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"503": {
+						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					}
+				}
+			}
+		},
+		"/vnf_instances/{vnfInstanceId}": {
+			"parameters": [{
+					"name": "vnfInstanceId",
+					"description": "Identifier of the VNF instance. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n",
+					"in": "path",
+					"type": "string",
+					"required": true
+				}
+			],
+			"get": {
+				"description": "Query VNF\n\nThe GET method retrieves information about a VNF instance by reading an individual VNF instance resource.\n",
+				"tags": ["Sol003VnfLcm"],
+				"parameters": [{
+						"name": "Accept",
+						"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
+						"in": "header",
+						"required": true,
+						"type": "string"
+					}, {
+						"name": "Authorization",
+						"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
+						"in": "header",
+						"required": false,
+						"type": "string"
+					}, {
+						"name": "Content-Type",
+						"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
+						"in": "header",
+						"required": true,
+						"type": "string"
+					}
+				],
+				"responses": {
+					"200": {
+						"description": "OK\nInformation about zero or more VNF instances was queried successfully. The response body shall contain representations of zero or more VNF instances.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "This type represents a VNF instance.\n",
+							"type": "object",
+							"required": ["id", "vnfdId", "vnfProvider", "vnfProductName", "vnfSoftwareVersion", "vnfdVersion", "vnfPkgId", "instantiationState"],
+							"properties": {
+								"id": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"vnfInstanceName": {
+									"description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n",
+									"type": "string"
+								},
+								"vnfInstanceDescription": {
+									"description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n",
+									"type": "string"
+								},
+								"vnfdId": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"vnfProvider": {
+									"description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n",
+									"type": "string"
+								},
+								"vnfProductName": {
+									"description": "Name to identify the VNF Product. The value is copied from the VNFD.\n",
+									"type": "string"
+								},
+								"vnfSoftwareVersion": {
+									"description": "A Version.\n",
+									"type": "string"
+								},
+								"vnfdVersion": {
+									"description": "A Version.\n",
+									"type": "string"
+								},
+								"vnfPkgId": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"vnfConfigurableProperties": {
+									"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+									"type": "object"
+								},
+								"vimConnectionInfo": {
+									"description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n",
+									"type": "array",
+									"items": {
+										"description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n",
+										"type": "object",
+										"required": ["id", "vimType"],
+										"properties": {
+											"id": {
+												"description": "An identifier with the intention of being globally unique.\n",
+												"type": "string"
+											},
+											"vimId": {
+												"description": "An identifier with the intention of being globally unique.\n",
+												"type": "string"
+											},
+											"vimType": {
+												"description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n",
+												"type": "string"
+											},
+											"interfaceInfo": {
+												"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+												"type": "object"
+											},
+											"accessInfo": {
+												"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+												"type": "object"
+											},
+											"extra": {
+												"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+												"type": "object"
+											}
+										}
+									}
+								},
+								"instantiationState": {
+									"description": "The instantiation state of the VNF.\n",
+									"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.\n",
+									"type": "object",
+									"required": ["flavourId", "vnfState"],
+									"properties": {
+										"flavourId": {
+											"description": "An identifier that is unique within a VNF descriptor.\n",
+											"type": "string"
+										},
+										"vnfState": {
+											"type": "string",
+											"enum": ["STARTED", "STOPPED"]
+										},
+										"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.\n",
+											"type": "array",
+											"items": {
+												"required": ["aspectId", "scaleLevel"],
+												"type": "object",
+												"properties": {
+													"aspectId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"scaleLevel": {
+														"description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n",
+														"type": "integer"
+													}
+												}
+											}
+										},
+										"extCpInfo": {
+											"description": "Information about the external CPs exposed by the VNF instance.\n",
+											"type": "array",
+											"minItems": 1,
+											"items": {
+												"type": "object",
+												"required": ["id", "cpdId"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"cpdId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"cpProtocolInfo": {
+														"description": "Network protocol information for this CP.\n",
+														"type": "array",
+														"items": {
+															"description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n",
+															"required": ["layerProtocol"],
+															"properties": {
+																"layerProtocol": {
+																	"description": "The identifier of layer(s) and protocol(s) associated to the network address information.  Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n",
+																	"type": "string",
+																	"enum": ["IP_OVER_ETHERNET"]
+																},
+																"ipOverEthernet": {
+																	"description": "This type represents information about a network address that has been assigned.\n",
+																	"type": "object",
+																	"required": ["macAddress"],
+																	"properties": {
+																		"macAddress": {
+																			"description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n",
+																			"type": "string",
+																			"format": "MAC"
+																		},
+																		"ipAddresses": {
+																			"description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n",
+																			"type": "array",
+																			"items": {
+																				"type": "object",
+																				"required": ["type"],
+																				"properties": {
+																					"type": {
+																						"description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n",
+																						"type": "string",
+																						"enum": ["IPV4", "IPV6"]
+																					},
+																					"addresses": {
+																						"description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n",
+																						"type": "array",
+																						"items": {
+																							"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																							"type": "string",
+																							"format": "IP"
+																						}
+																					},
+																					"isDynamic": {
+																						"description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n",
+																						"type": "boolean"
+																					},
+																					"addressRange": {
+																						"description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n",
+																						"type": "object",
+																						"required": ["minAddress", "maxAddress"],
+																						"properties": {
+																							"minAddress": {
+																								"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																								"type": "string",
+																								"format": "IP"
+																							},
+																							"maxAddress": {
+																								"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																								"type": "string",
+																								"format": "IP"
+																							}
+																						}
+																					},
+																					"subnetId": {
+																						"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																						"type": "string",
+																						"format": "IP"
+																					}
+																				}
+																			}
+																		}
+																	}
+																}
+															}
+														}
+													},
+													"extLinkPortId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													}
+												}
+											}
+										},
+										"extVirtualLinkInfo": {
+											"description": "Information about the external VLs the VNF instance is connected to.\n",
+											"type": "array",
+											"items": {
+												"type": "object",
+												"required": ["id", "resourceHandle"],
+												"properties": {
+													"id": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"resourceHandle": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"extLinkPorts": {
+														"description": "Link ports of this VL.\n",
+														"type": "array",
+														"items": {
+															"description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n",
+															"type": "object",
+															"required": ["id", "resourceHandle"],
+															"properties": {
+																"id": {
+																	"description": "An identifier with the intention of being globally unique.\n",
+																	"type": "string"
+																},
+																"resourceHandle": {
+																	"required": ["vimConnectionId", "resourceId"],
+																	"type": "object",
+																	"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+																	"properties": {
+																		"vimConnectionId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceProviderId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceId": {
+																			"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																			"type": "string"
+																		},
+																		"vimLevelResourceType": {
+																			"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																			"type": "string"
+																		}
+																	}
+																},
+																"cpInstanceId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																}
+															}
+														}
+													}
+												}
+											}
+										},
+										"extManagedVirtualLinkInfo": {
+											"description": "External virtual links the VNF instance is connected to.\n",
+											"type": "array",
+											"items": {
+												"type": "object",
+												"required": ["id", "vnfVirtualLinkDescId"],
+												"properties": {
+													"id": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"vnfVirtualLinkDescId": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"networkResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"vnfLinkPorts": {
+														"description": "Link ports of this VL.\n",
+														"type": "array",
+														"items": {
+															"type": "object",
+															"required": ["id", "resourceHandle"],
+															"properties": {
+																"id": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																},
+																"resourceHandle": {
+																	"required": ["vimConnectionId", "resourceId"],
+																	"type": "object",
+																	"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+																	"properties": {
+																		"vimConnectionId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceProviderId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceId": {
+																			"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																			"type": "string"
+																		},
+																		"vimLevelResourceType": {
+																			"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																			"type": "string"
+																		}
+																	}
+																},
+																"cpInstanceId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																}
+															}
+														}
+													}
+												}
+											}
+										},
+										"monitoringParameters": {
+											"description": "Active monitoring parameters.\n",
+											"type": "array",
+											"items": {
+												"type": "object",
+												"required": ["id", "value", "timeStamp"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"name": {
+														"description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n",
+														"type": "string"
+													},
+													"value": {
+														"description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n",
+														"type": "object"
+													},
+													"timeStamp": {
+														"description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n",
+														"type": "string"
+													}
+												}
+											}
+										},
+										"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.\n",
+											"type": "string"
+										},
+										"vnfcResourceInfo": {
+											"description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n",
+											"type": "array",
+											"items": {
+												"description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n",
+												"type": "object",
+												"required": ["id", "vduId", "computeResource"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"vduId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"computeResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"storageResourceIds": {
+														"description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n",
+														"type": "array",
+														"items": {
+															"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+															"type": "string"
+														}
+													},
+													"reservationId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"vnfcCpInfo": {
+														"description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n",
+														"type": "array",
+														"items": {
+															"type": "object",
+															"required": ["id", "cpdId"],
+															"properties": {
+																"id": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																},
+																"cpdId": {
+																	"description": "An identifier that is unique within a VNF descriptor.\n",
+																	"type": "string"
+																},
+																"vnfExtCpId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																},
+																"cpProtocolInfo": {
+																	"description": "Network protocol information for this CP.\n",
+																	"type": "array",
+																	"items": {
+																		"description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n",
+																		"required": ["layerProtocol"],
+																		"properties": {
+																			"layerProtocol": {
+																				"description": "The identifier of layer(s) and protocol(s) associated to the network address information.  Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n",
+																				"type": "string",
+																				"enum": ["IP_OVER_ETHERNET"]
+																			},
+																			"ipOverEthernet": {
+																				"description": "This type represents information about a network address that has been assigned.\n",
+																				"type": "object",
+																				"required": ["macAddress"],
+																				"properties": {
+																					"macAddress": {
+																						"description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n",
+																						"type": "string",
+																						"format": "MAC"
+																					},
+																					"ipAddresses": {
+																						"description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n",
+																						"type": "array",
+																						"items": {
+																							"type": "object",
+																							"required": ["type"],
+																							"properties": {
+																								"type": {
+																									"description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n",
+																									"type": "string",
+																									"enum": ["IPV4", "IPV6"]
+																								},
+																								"addresses": {
+																									"description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n",
+																									"type": "array",
+																									"items": {
+																										"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																										"type": "string",
+																										"format": "IP"
+																									}
+																								},
+																								"isDynamic": {
+																									"description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n",
+																									"type": "boolean"
+																								},
+																								"addressRange": {
+																									"description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n",
+																									"type": "object",
+																									"required": ["minAddress", "maxAddress"],
+																									"properties": {
+																										"minAddress": {
+																											"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																											"type": "string",
+																											"format": "IP"
+																										},
+																										"maxAddress": {
+																											"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																											"type": "string",
+																											"format": "IP"
+																										}
+																									}
+																								},
+																								"subnetId": {
+																									"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																									"type": "string",
+																									"format": "IP"
+																								}
+																							}
+																						}
+																					}
+																				}
+																			}
+																		}
+																	}
+																},
+																"vnfLinkPortId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																}
+															}
+														}
+													},
+													"metadata": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													}
+												}
+											}
+										},
+										"virtualLinkResourceInfo": {
+											"description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n",
+											"type": "array",
+											"items": {
+												"description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n",
+												"type": "object",
+												"required": ["id", "vnfVirtualLinkDescId", "networkResource"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"vnfVirtualLinkDescId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"networkResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"reservationId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"vnfLinkPorts": {
+														"description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n",
+														"type": "array",
+														"items": {
+															"type": "object",
+															"required": ["id", "resourceHandle"],
+															"properties": {
+																"id": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																},
+																"resourceHandle": {
+																	"required": ["vimConnectionId", "resourceId"],
+																	"type": "object",
+																	"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+																	"properties": {
+																		"vimConnectionId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceProviderId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceId": {
+																			"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																			"type": "string"
+																		},
+																		"vimLevelResourceType": {
+																			"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																			"type": "string"
+																		}
+																	}
+																},
+																"cpInstanceId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																}
+															}
+														}
+													},
+													"metadata": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													}
+												}
+											}
+										},
+										"virtualStorageResourceInfo": {
+											"description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n",
+											"type": "array",
+											"items": {
+												"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n",
+												"type": "object",
+												"required": ["id", "virtualStorageDescId", "storageResource"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"virtualStorageDescId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"storageResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"reservationId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"metadata": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													}
+												}
+											}
+										}
+									}
+								},
+								"metadata": {
+									"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+									"type": "object"
+								},
+								"extensions": {
+									"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+									"type": "object"
+								},
+								"_links": {
+									"description": "Links to resources related to this resource.\n",
+									"type": "object",
+									"required": ["self"],
+									"properties": {
+										"self": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"indicators": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"instantiate": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"terminate": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"scale": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"scaleToLevel": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"changeFlavour": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"heal": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"operate": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"changeExtConn": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					},
+					"400": {
+						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"401": {
+						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"403": {
+						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"404": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"405": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"406": {
+						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"409": {
+						"description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"416": {
+						"description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"500": {
+						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"503": {
+						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					}
+				}
+			},
+			"delete": {
+				"description": "Delete VNF Identifier\n\nThis method deletes an individual VNF instance resource.\n",
+				"tags": ["Sol003VnfLcm"],
+				"parameters": [{
+						"name": "Authorization",
+						"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
+						"in": "header",
+						"required": false,
+						"type": "string"
+					}
+				],
+				"responses": {
+					"204": {
+						"description": "No Content\nThe VNF instance resource and the associated VNF identifier were deleted successfully. The response body shall be empty.\n",
+						"headers": {
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						}
+					},
+					"400": {
+						"description": "Bad Request\nIt fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"401": {
+						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"403": {
+						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"404": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"405": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"406": {
+						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"409": {
+						"description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in INSTANTIATED state. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"412": {
+						"description": "Precondition Failed\nA precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"500": {
+						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"503": {
+						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					}
+				}
+			}
+		},
+		"/vnf_instances/{vnfInstanceId}/instantiate": {
+			"parameters": [{
+					"name": "vnfInstanceId",
+					"description": "Identifier of the VNF instance. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n",
+					"in": "path",
+					"type": "string",
+					"required": true
+				}
+			],
+			"post": {
+				"description": "Instantiate VNF\n\nThe POST method instantiates a VNF instance.\n",
+				"tags": ["Sol003VnfLcm"],
+				"parameters": [{
+						"name": "InstantiateVnfRequest",
+						"description": "Parameters for the VNF instantiation.",
+						"in": "body",
+						"required": true,
+						"schema": {
+							"type": "object",
+							"required": ["flavourId"],
+							"properties": {
+								"flavourId": {
+									"description": "An identifier that is unique within a VNF descriptor.\n",
+									"type": "string"
+								},
+								"extVirtualLinks": {
+									"description": "Information about external VLs to connect the VNF to.\n",
+									"type": "array",
+									"items": {
+										"description": "This type represents an external VL.\n",
+										"type": "object",
+										"required": ["id", "resourceId", "extCps"],
+										"properties": {
+											"id": {
+												"description": "An identifier with the intention of being globally unique.\n",
+												"type": "string"
+											},
+											"vimConnectionId": {
+												"description": "An identifier with the intention of being globally unique.\n",
+												"type": "string"
+											},
+											"resourceId": {
+												"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+												"type": "string"
+											},
+											"extCps": {
+												"description": "External CPs of the VNF to be connected to this external VL.\n",
+												"type": "array",
+												"items": {
+													"description": "This type represents configuration information for external CPs created from a CPD.\n",
+													"type": "object",
+													"required": ["cpdId"],
+													"properties": {
+														"cpdId": {
+															"description": "An identifier that is unique within a VNF descriptor.\n",
+															"type": "string"
+														},
+														"cpConfig": {
+															"description": "List of instance data that need to be configured on the CP instances created from the respective CPD.\n",
+															"type": "array",
+															"items": {
+																"description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n",
+																"type": "object",
+																"properties": {
+																	"cpInstanceId": {
+																		"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																		"type": "string"
+																	},
+																	"linkPortId": {
+																		"description": "An identifier with the intention of being globally unique.\n",
+																		"type": "string"
+																	},
+																	"cpProtocolData": {
+																		"description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL.  The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":  * The \"linkPortId\" and \"cpProtocolData\" attributes shall both be  absent for the deletion of an existing external CP instance\n  addressed by cpInstanceId. \n* At least one of these attributes shall be present for a  to-be-created external CP instance or an existing external\n  CP instance.\n* If the \"linkPortId\" attribute is absent, the VNFM shall create a  link port.\n* If the \"cpProtocolData\" attribute is absent, the \"linkPortId\"  attribute shall be provided referencing a pre-created link port,\n  and the VNFM can use means outside the scope of the present\n  document to obtain the pre-configured address information for the\n  connection point from the resource representing the link port.\n* If both \"cpProtocolData\" and \"linkportId\" are provided, the API  consumer shall ensure that the cpProtocolData can be used with the\n  pre-created link port referenced by \"linkPortId\".\n",
+																		"type": "array",
+																		"items": {
+																			"description": "This type represents network protocol data.\n",
+																			"type": "object",
+																			"required": ["layerProtocol"],
+																			"properties": {
+																				"layerProtocol": {
+																					"description": "Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n",
+																					"type": "string",
+																					"enum": ["IP_OVER_ETHERNET"]
+																				},
+																				"ipOverEthernet": {
+																					"description": "This type represents network address data for IP over Ethernet.\n",
+																					"type": "object",
+																					"properties": {
+																						"macAddress": {
+																							"description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n",
+																							"type": "string",
+																							"format": "MAC"
+																						},
+																						"ipAddresses": {
+																							"description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.\n",
+																							"type": "array",
+																							"items": {
+																								"type": "object",
+																								"required": ["type"],
+																								"properties": {
+																									"type": {
+																										"description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n",
+																										"type": "string",
+																										"enum": ["IPV4", "IPV6"]
+																									},
+																									"fixedAddresses": {
+																										"description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n",
+																										"type": "array",
+																										"items": {
+																											"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																											"type": "string",
+																											"format": "IP"
+																										}
+																									},
+																									"numDynamicAddresses": {
+																										"description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n",
+																										"type": "integer"
+																									},
+																									"addressRange": {
+																										"description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n",
+																										"type": "object",
+																										"required": ["minAddress", "maxAddress"],
+																										"properties": {
+																											"minAddress": {
+																												"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																												"type": "string",
+																												"format": "IP"
+																											},
+																											"maxAddress": {
+																												"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																												"type": "string",
+																												"format": "IP"
+																											}
+																										}
+																									},
+																									"subnetId": {
+																										"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																										"type": "string"
+																									}
+																								}
+																							}
+																						}
+																					}
+																				}
+																			}
+																		}
+																	}
+																}
+															}
+														}
+													}
+												}
+											},
+											"extLinkPorts": {
+												"description": "Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL.\n",
+												"type": "array",
+												"items": {
+													"description": "This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n",
+													"type": "object",
+													"required": ["id", "resourceHandle"],
+													"properties": {
+														"id": {
+															"description": "An identifier with the intention of being globally unique.\n",
+															"type": "string"
+														},
+														"resourceHandle": {
+															"required": ["vimConnectionId", "resourceId"],
+															"type": "object",
+															"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+															"properties": {
+																"vimConnectionId": {
+																	"description": "An identifier with the intention of being globally unique.\n",
+																	"type": "string"
+																},
+																"resourceId": {
+																	"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																	"type": "string"
+																},
+																"vimLevelResourceType": {
+																	"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																	"type": "string"
+																}
+															}
+														}
+													}
+												}
+											}
+										}
+									}
+								},
+								"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.\n",
+									"type": "array",
+									"items": {
+										"description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n",
+										"type": "object",
+										"required": ["id", "vimType"],
+										"properties": {
+											"id": {
+												"description": "An identifier with the intention of being globally unique.\n",
+												"type": "string"
+											},
+											"vimId": {
+												"description": "An identifier with the intention of being globally unique.\n",
+												"type": "string"
+											},
+											"vimType": {
+												"description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n",
+												"type": "string"
+											},
+											"interfaceInfo": {
+												"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+												"type": "object"
+											},
+											"accessInfo": {
+												"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+												"type": "object"
+											}
+										}
+									}
+								},
+								"additionalParams": {
+									"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+									"type": "object"
+								}
+							}
+						}
+					}, {
+						"name": "Accept",
+						"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
+						"in": "header",
+						"required": true,
+						"type": "string"
+					}, {
+						"name": "Authorization",
+						"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
+						"in": "header",
+						"required": false,
+						"type": "string"
+					}, {
+						"name": "Content-Type",
+						"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
+						"in": "header",
+						"required": true,
+						"type": "string"
+					}
+				],
+				"responses": {
+					"202": {
+						"description": "Accepted\nThe request was accepted for processing, but the  processing has not been completed. The response body shall be empty. The HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n",
+						"headers": {
+							"Location": {
+								"description": "The resource URI of the created VNF instance",
+								"type": "string",
+								"format": "url"
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						}
+					},
+					"400": {
+						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"401": {
+						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"403": {
+						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"404": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"405": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"406": {
+						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"409": {
+						"description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in INSTANTIATED state. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"416": {
+						"description": "Requested Range Not Satisfiable\nThis code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"500": {
+						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"503": {
+						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					}
+				}
+			}
+		},
+		"/vnf_instances/{vnfInstanceId}/terminate": {
+			"parameters": [{
+					"name": "vnfInstanceId",
+					"description": "The identifier of the VNF instance to be terminated. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n",
+					"in": "path",
+					"type": "string",
+					"required": true
+				}
+			],
+			"post": {
+				"description": "Terminate VNF\n\nThe POST method terminates a VNF instance.\n",
+				"tags": ["Sol003VnfLcm"],
+				"parameters": [{
+						"name": "TerminateVnfRequest",
+						"description": "Parameters for the VNF termination.",
+						"in": "body",
+						"required": true,
+						"schema": {
+							"type": "object",
+							"required": ["terminationType"],
+							"properties": {
+								"terminationType": {
+									"description": "Indicates whether forceful or graceful termination is requested. VNFM Adapter will only support FORCEFUL in Dublin.\n",
+									"type": "string",
+									"enum": ["FORCEFUL", "GRACEFUL"]
+								}
+							}
+						}
+					}, {
+						"name": "Accept",
+						"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
+						"in": "header",
+						"required": true,
+						"type": "string"
+					}, {
+						"name": "Authorization",
+						"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
+						"in": "header",
+						"required": false,
+						"type": "string"
+					}, {
+						"name": "Content-Type",
+						"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
+						"in": "header",
+						"required": true,
+						"type": "string"
+					}
+				],
+				"responses": {
+					"202": {
+						"description": "Accepted\nThe request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a \"Location\" HTTP header that contains the URI of the newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"Location": {
+								"description": "The resource URI of the created VNF instance",
+								"type": "string",
+								"format": "url"
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "This type represents a VNF instance.\n",
+							"type": "object",
+							"required": ["id", "vnfdId", "vnfProvider", "vnfProductName", "vnfSoftwareVersion", "vnfdVersion", "vnfPkgId", "instantiationState"],
+							"properties": {
+								"id": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"vnfInstanceName": {
+									"description": "Name of the VNF instance. This attribute can be modified with the PATCH method.\n",
+									"type": "string"
+								},
+								"vnfInstanceDescription": {
+									"description": "Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n",
+									"type": "string"
+								},
+								"vnfdId": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"vnfProvider": {
+									"description": "Provider of the VNF and the VNFD. The value is copied from the VNFD.\n",
+									"type": "string"
+								},
+								"vnfProductName": {
+									"description": "Name to identify the VNF Product. The value is copied from the VNFD.\n",
+									"type": "string"
+								},
+								"vnfSoftwareVersion": {
+									"description": "A Version.\n",
+									"type": "string"
+								},
+								"vnfdVersion": {
+									"description": "A Version.\n",
+									"type": "string"
+								},
+								"vnfPkgId": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"vnfConfigurableProperties": {
+									"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+									"type": "object"
+								},
+								"vimConnectionInfo": {
+									"description": "Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.\n",
+									"type": "array",
+									"items": {
+										"description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n",
+										"type": "object",
+										"required": ["id", "vimType"],
+										"properties": {
+											"id": {
+												"description": "An identifier with the intention of being globally unique.\n",
+												"type": "string"
+											},
+											"vimId": {
+												"description": "An identifier with the intention of being globally unique.\n",
+												"type": "string"
+											},
+											"vimType": {
+												"description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n",
+												"type": "string"
+											},
+											"interfaceInfo": {
+												"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+												"type": "object"
+											},
+											"accessInfo": {
+												"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+												"type": "object"
+											},
+											"extra": {
+												"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+												"type": "object"
+											}
+										}
+									}
+								},
+								"instantiationState": {
+									"description": "The instantiation state of the VNF.\n",
+									"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.\n",
+									"type": "object",
+									"required": ["flavourId", "vnfState"],
+									"properties": {
+										"flavourId": {
+											"description": "An identifier that is unique within a VNF descriptor.\n",
+											"type": "string"
+										},
+										"vnfState": {
+											"type": "string",
+											"enum": ["STARTED", "STOPPED"]
+										},
+										"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.\n",
+											"type": "array",
+											"items": {
+												"required": ["aspectId", "scaleLevel"],
+												"type": "object",
+												"properties": {
+													"aspectId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"scaleLevel": {
+														"description": "Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n",
+														"type": "integer"
+													}
+												}
+											}
+										},
+										"extCpInfo": {
+											"description": "Information about the external CPs exposed by the VNF instance.\n",
+											"type": "array",
+											"minItems": 1,
+											"items": {
+												"type": "object",
+												"required": ["id", "cpdId"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"cpdId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"cpProtocolInfo": {
+														"description": "Network protocol information for this CP.\n",
+														"type": "array",
+														"items": {
+															"description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n",
+															"required": ["layerProtocol"],
+															"properties": {
+																"layerProtocol": {
+																	"description": "The identifier of layer(s) and protocol(s) associated to the network address information.  Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n",
+																	"type": "string",
+																	"enum": ["IP_OVER_ETHERNET"]
+																},
+																"ipOverEthernet": {
+																	"description": "This type represents information about a network address that has been assigned.\n",
+																	"type": "object",
+																	"required": ["macAddress"],
+																	"properties": {
+																		"macAddress": {
+																			"description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n",
+																			"type": "string",
+																			"format": "MAC"
+																		},
+																		"ipAddresses": {
+																			"description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n",
+																			"type": "array",
+																			"items": {
+																				"type": "object",
+																				"required": ["type"],
+																				"properties": {
+																					"type": {
+																						"description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n",
+																						"type": "string",
+																						"enum": ["IPV4", "IPV6"]
+																					},
+																					"addresses": {
+																						"description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n",
+																						"type": "array",
+																						"items": {
+																							"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																							"type": "string",
+																							"format": "IP"
+																						}
+																					},
+																					"isDynamic": {
+																						"description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n",
+																						"type": "boolean"
+																					},
+																					"addressRange": {
+																						"description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n",
+																						"type": "object",
+																						"required": ["minAddress", "maxAddress"],
+																						"properties": {
+																							"minAddress": {
+																								"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																								"type": "string",
+																								"format": "IP"
+																							},
+																							"maxAddress": {
+																								"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																								"type": "string",
+																								"format": "IP"
+																							}
+																						}
+																					},
+																					"subnetId": {
+																						"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																						"type": "string",
+																						"format": "IP"
+																					}
+																				}
+																			}
+																		}
+																	}
+																}
+															}
+														}
+													},
+													"extLinkPortId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													}
+												}
+											}
+										},
+										"extVirtualLinkInfo": {
+											"description": "Information about the external VLs the VNF instance is connected to.\n",
+											"type": "array",
+											"items": {
+												"type": "object",
+												"required": ["id", "resourceHandle"],
+												"properties": {
+													"id": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"resourceHandle": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"extLinkPorts": {
+														"description": "Link ports of this VL.\n",
+														"type": "array",
+														"items": {
+															"description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n",
+															"type": "object",
+															"required": ["id", "resourceHandle"],
+															"properties": {
+																"id": {
+																	"description": "An identifier with the intention of being globally unique.\n",
+																	"type": "string"
+																},
+																"resourceHandle": {
+																	"required": ["vimConnectionId", "resourceId"],
+																	"type": "object",
+																	"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+																	"properties": {
+																		"vimConnectionId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceProviderId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceId": {
+																			"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																			"type": "string"
+																		},
+																		"vimLevelResourceType": {
+																			"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																			"type": "string"
+																		}
+																	}
+																},
+																"cpInstanceId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																}
+															}
+														}
+													}
+												}
+											}
+										},
+										"extManagedVirtualLinkInfo": {
+											"description": "External virtual links the VNF instance is connected to.\n",
+											"type": "array",
+											"items": {
+												"type": "object",
+												"required": ["id", "vnfVirtualLinkDescId"],
+												"properties": {
+													"id": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"vnfVirtualLinkDescId": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"networkResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"vnfLinkPorts": {
+														"description": "Link ports of this VL.\n",
+														"type": "array",
+														"items": {
+															"type": "object",
+															"required": ["id", "resourceHandle"],
+															"properties": {
+																"id": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																},
+																"resourceHandle": {
+																	"required": ["vimConnectionId", "resourceId"],
+																	"type": "object",
+																	"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+																	"properties": {
+																		"vimConnectionId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceProviderId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceId": {
+																			"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																			"type": "string"
+																		},
+																		"vimLevelResourceType": {
+																			"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																			"type": "string"
+																		}
+																	}
+																},
+																"cpInstanceId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																}
+															}
+														}
+													}
+												}
+											}
+										},
+										"monitoringParameters": {
+											"description": "Active monitoring parameters.\n",
+											"type": "array",
+											"items": {
+												"type": "object",
+												"required": ["id", "value", "timeStamp"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"name": {
+														"description": "Human readable name of the monitoring parameter, as defined in the VNFD.\n",
+														"type": "string"
+													},
+													"value": {
+														"description": "Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the \"value\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.\n",
+														"type": "object"
+													},
+													"timeStamp": {
+														"description": "Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.\n",
+														"type": "string"
+													}
+												}
+											}
+										},
+										"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.\n",
+											"type": "string"
+										},
+										"vnfcResourceInfo": {
+											"description": "Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n",
+											"type": "array",
+											"items": {
+												"description": "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n",
+												"type": "object",
+												"required": ["id", "vduId", "computeResource"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"vduId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"computeResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"storageResourceIds": {
+														"description": "References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n",
+														"type": "array",
+														"items": {
+															"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+															"type": "string"
+														}
+													},
+													"reservationId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"vnfcCpInfo": {
+														"description": "CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.\n",
+														"type": "array",
+														"items": {
+															"type": "object",
+															"required": ["id", "cpdId"],
+															"properties": {
+																"id": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																},
+																"cpdId": {
+																	"description": "An identifier that is unique within a VNF descriptor.\n",
+																	"type": "string"
+																},
+																"vnfExtCpId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																},
+																"cpProtocolInfo": {
+																	"description": "Network protocol information for this CP.\n",
+																	"type": "array",
+																	"items": {
+																		"description": "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n",
+																		"required": ["layerProtocol"],
+																		"properties": {
+																			"layerProtocol": {
+																				"description": "The identifier of layer(s) and protocol(s) associated to the network address information.  Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n",
+																				"type": "string",
+																				"enum": ["IP_OVER_ETHERNET"]
+																			},
+																			"ipOverEthernet": {
+																				"description": "This type represents information about a network address that has been assigned.\n",
+																				"type": "object",
+																				"required": ["macAddress"],
+																				"properties": {
+																					"macAddress": {
+																						"description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n",
+																						"type": "string",
+																						"format": "MAC"
+																					},
+																					"ipAddresses": {
+																						"description": "Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.\n",
+																						"type": "array",
+																						"items": {
+																							"type": "object",
+																							"required": ["type"],
+																							"properties": {
+																								"type": {
+																									"description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n",
+																									"type": "string",
+																									"enum": ["IPV4", "IPV6"]
+																								},
+																								"addresses": {
+																									"description": "Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided).\n",
+																									"type": "array",
+																									"items": {
+																										"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																										"type": "string",
+																										"format": "IP"
+																									}
+																								},
+																								"isDynamic": {
+																									"description": "Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n",
+																									"type": "boolean"
+																								},
+																								"addressRange": {
+																									"description": "An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n",
+																									"type": "object",
+																									"required": ["minAddress", "maxAddress"],
+																									"properties": {
+																										"minAddress": {
+																											"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																											"type": "string",
+																											"format": "IP"
+																										},
+																										"maxAddress": {
+																											"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																											"type": "string",
+																											"format": "IP"
+																										}
+																									}
+																								},
+																								"subnetId": {
+																									"description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.\n",
+																									"type": "string",
+																									"format": "IP"
+																								}
+																							}
+																						}
+																					}
+																				}
+																			}
+																		}
+																	}
+																},
+																"vnfLinkPortId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																}
+															}
+														}
+													},
+													"metadata": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													}
+												}
+											}
+										},
+										"virtualLinkResourceInfo": {
+											"description": "Information about the virtualised network resources used by the VLs of the VNF instance.\n",
+											"type": "array",
+											"items": {
+												"description": "This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n",
+												"type": "object",
+												"required": ["id", "vnfVirtualLinkDescId", "networkResource"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"vnfVirtualLinkDescId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"networkResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"reservationId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"vnfLinkPorts": {
+														"description": "Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n",
+														"type": "array",
+														"items": {
+															"type": "object",
+															"required": ["id", "resourceHandle"],
+															"properties": {
+																"id": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																},
+																"resourceHandle": {
+																	"required": ["vimConnectionId", "resourceId"],
+																	"type": "object",
+																	"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+																	"properties": {
+																		"vimConnectionId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceProviderId": {
+																			"description": "An identifier with the intention of being globally unique.\n",
+																			"type": "string"
+																		},
+																		"resourceId": {
+																			"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																			"type": "string"
+																		},
+																		"vimLevelResourceType": {
+																			"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																			"type": "string"
+																		}
+																	}
+																},
+																"cpInstanceId": {
+																	"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+																	"type": "string"
+																}
+															}
+														}
+													},
+													"metadata": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													}
+												}
+											}
+										},
+										"virtualStorageResourceInfo": {
+											"description": "Information on the virtualised storage resource(s) used as storage for the VNF instance.\n",
+											"type": "array",
+											"items": {
+												"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n",
+												"type": "object",
+												"required": ["id", "virtualStorageDescId", "storageResource"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"virtualStorageDescId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"storageResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"reservationId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"metadata": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													}
+												}
+											}
+										}
+									}
+								},
+								"metadata": {
+									"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+									"type": "object"
+								},
+								"extensions": {
+									"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+									"type": "object"
+								},
+								"_links": {
+									"description": "Links to resources related to this resource.\n",
+									"type": "object",
+									"required": ["self"],
+									"properties": {
+										"self": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"indicators": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"instantiate": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"terminate": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"scale": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"scaleToLevel": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"changeFlavour": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"heal": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"operate": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"changeExtConn": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					},
+					"400": {
+						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"401": {
+						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"403": {
+						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"404": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"405": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"406": {
+						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"409": {
+						"description": "Conflict\nThe operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"500": {
+						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"503": {
+						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					}
+				}
+			}
+		},
+		"/vnf_lcm_op_occs/{vnfLcmOpOccId}": {
+			"parameters": [{
+					"name": "vnfLcmOpOccId",
+					"description": "Identifier of a VNF lifecycle management operation occurrence. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. It can also be retrieved from the \"vnfLcmOpOccId\" attribute in the VnfLcmOperationOccurrenceNotification.\n",
+					"in": "path",
+					"required": true,
+					"type": "string"
+				}
+			],
+			"get": {
+				"description": "Get Operation Status\n\nThe client can use this method to retrieve status information about a VNF lifecycle management operation occurrence by reading an individual \"VNF LCM operation occurrence\" resource.\n",
+				"tags": ["Sol003VnfLcm"],
+				"parameters": [{
+						"name": "Accept",
+						"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
+						"in": "header",
+						"required": true,
+						"type": "string"
+					}, {
+						"name": "Authorization",
+						"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
+						"in": "header",
+						"required": false,
+						"type": "string"
+					}
+				],
+				"responses": {
+					"200": {
+						"description": "OK\nInformation about an individual VNF instance was queried successfully. The response body shall contain status information about a VNF lifecycle management operation occurrence.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "This type represents a VNF lifecycle management operation occurrence.\n",
+							"type": "object",
+							"required": ["id", "operationState", "stateEnteredTime", "startTime", "vnfInstanceId", "operation", "isAutomaticInvocation", "operationParams", "isCancelPending"],
+							"properties": {
+								"id": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"operationState": {
+									"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.\n",
+									"type": "string",
+									"enum": ["STARTING", "PROCESSING", "COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"]
+								},
+								"stateEnteredTime": {
+									"description": "Date-time when the current state was entered.\n",
+									"type": "string",
+									"format": "date-time"
+								},
+								"startTime": {
+									"description": "Date-time of the start of the operation.\n",
+									"type": "string",
+									"format": "date-time"
+								},
+								"vnfInstanceId": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"grantId": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"operation": {
+									"description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation.    SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation.\n",
+									"type": "string",
+									"enum": ["INSTANTIATE", "SCALE", "SCALE_TO_LEVEL", "CHANGE_FLAVOUR", "TERMINATE", "HEAL", "OPERATE", "CHANGE_EXT_CONN", "MODIFY_INFO"]
+								},
+								"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.\n",
+									"type": "boolean"
+								},
+								"operationParams": {
+									"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+									"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.\n",
+									"type": "boolean"
+								},
+								"cancelMode": {
+									"description": "Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state.  FORCEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state.  If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state.\n",
+									"type": "string",
+									"enum": ["GRACEFUL", "FORCEFUL"]
+								},
+								"error": {
+									"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+									"type": "object",
+									"required": ["status", "detail"],
+									"properties": {
+										"type": {
+											"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+											"type": "string",
+											"format": "URI"
+										},
+										"title": {
+											"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+											"type": "string"
+										},
+										"status": {
+											"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+											"type": "integer"
+										},
+										"detail": {
+											"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+											"type": "string"
+										},
+										"instance": {
+											"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+											"type": "string",
+											"format": "URI"
+										}
+									}
+								},
+								"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.\n",
+									"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.\n",
+											"type": "array",
+											"items": {
+												"description": "This type provides information about added, deleted, modified and temporary VNFCs.\n",
+												"type": "object",
+												"required": ["id", "vduId", "changeType", "computeResource"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"vduId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"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.\n",
+														"type": "string",
+														"enum": ["ADDED", "REMOVED", "MODIFIED", "TEMPORARY"]
+													},
+													"computeResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"metadata": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													},
+													"affectedVnfcCpIds": {
+														"description": "Identifiers of CP(s) of the VNFC instance that were affected by the change.  Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.\n",
+														"type": "array",
+														"items": {
+															"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+															"type": "string"
+														}
+													},
+													"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.\n",
+														"type": "array",
+														"items": {
+															"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+															"type": "string"
+														}
+													},
+													"removedStorageResourceIds": {
+														"description": "References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.\n",
+														"type": "array",
+														"items": {
+															"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+															"type": "string"
+														}
+													}
+												}
+											}
+										},
+										"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.\n",
+											"type": "array",
+											"items": {
+												"description": "This type provides information about added, deleted, modified and temporary VLs.\n",
+												"type": "object",
+												"required": ["id", "virtualLinkDescId", "changeType", "networkResource"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"virtualLinkDescId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"changeType": {
+														"description": "Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.\n",
+														"type": "string",
+														"enum": ["ADDED", "REMOVED", "MODIFIED", "TEMPORARY", "LINK_PORT_ADDED", "LINK_PORT_REMOVED"]
+													},
+													"networkResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"metadata": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													}
+												}
+											}
+										},
+										"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.\n",
+											"type": "array",
+											"items": {
+												"description": "This type provides information about added, deleted, modified and temporary virtual storage resources.\n",
+												"type": "object",
+												"required": ["id", "virtualStorageDescId", "changeType", "storageResource"],
+												"properties": {
+													"id": {
+														"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+														"type": "string"
+													},
+													"virtualStorageDescId": {
+														"description": "An identifier that is unique within a VNF descriptor.\n",
+														"type": "string"
+													},
+													"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.\n",
+														"type": "string",
+														"enum": ["ADDED", "REMOVED", "MODIFIED", "TEMPORARY"]
+													},
+													"storageResource": {
+														"required": ["vimConnectionId", "resourceId"],
+														"type": "object",
+														"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+														"properties": {
+															"vimConnectionId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceProviderId": {
+																"description": "An identifier with the intention of being globally unique.\n",
+																"type": "string"
+															},
+															"resourceId": {
+																"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																"type": "string"
+															},
+															"vimLevelResourceType": {
+																"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																"type": "string"
+															}
+														}
+													},
+													"metadata": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													}
+												}
+											}
+										}
+									}
+								},
+								"changedInfo": {
+									"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.\n",
+									"type": "object",
+									"properties": {
+										"vnfInstanceName": {
+											"description": "If present, this attribute signals modifications of the \"vnfInstanceName\" attribute in \"VnfInstance\".\n",
+											"type": "string"
+										},
+										"vnfInstanceDescription": {
+											"description": "If present, this attribute signals modifications of the \"vnfInstanceDescription\" attribute in \"VnfInstance\".\n",
+											"type": "string"
+										},
+										"vnfConfigurableProperties": {
+											"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+											"type": "object"
+										},
+										"metadata": {
+											"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+											"type": "object"
+										},
+										"extensions": {
+											"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+											"type": "object"
+										},
+										"vimConnectionInfo": {
+											"description": "If present, this attribute signals modifications of certain entries in the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n",
+											"type": "array",
+											"items": {
+												"description": "This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n",
+												"type": "object",
+												"required": ["id", "vimType"],
+												"properties": {
+													"id": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"vimId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"vimType": {
+														"description": "Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n",
+														"type": "string"
+													},
+													"interfaceInfo": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													},
+													"accessInfo": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													},
+													"extra": {
+														"description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.\n",
+														"type": "object"
+													}
+												}
+											}
+										},
+										"vnfPkgId": {
+											"description": "An identifier with the intention of being globally unique.\n",
+											"type": "string"
+										},
+										"vnfdId": {
+											"description": "An identifier with the intention of being globally unique.\n",
+											"type": "string"
+										},
+										"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.\n",
+											"type": "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.\n",
+											"type": "string"
+										},
+										"vnfSoftwareVersion": {
+											"description": "A Version.\n",
+											"type": "string"
+										},
+										"vnfdVersion": {
+											"description": "A Version.\n",
+											"type": "string"
+										}
+									}
+								},
+								"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.\n",
+									"type": "array",
+									"items": {
+										"type": "object",
+										"required": ["id", "resourceHandle"],
+										"properties": {
+											"id": {
+												"description": "An identifier with the intention of being globally unique.\n",
+												"type": "string"
+											},
+											"resourceHandle": {
+												"required": ["vimConnectionId", "resourceId"],
+												"type": "object",
+												"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+												"properties": {
+													"vimConnectionId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"resourceProviderId": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													},
+													"resourceId": {
+														"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+														"type": "string"
+													},
+													"vimLevelResourceType": {
+														"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+														"type": "string"
+													}
+												}
+											},
+											"extLinkPorts": {
+												"description": "Link ports of this VL.\n",
+												"type": "array",
+												"items": {
+													"description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n",
+													"type": "object",
+													"required": ["id", "resourceHandle"],
+													"properties": {
+														"id": {
+															"description": "An identifier with the intention of being globally unique.\n",
+															"type": "string"
+														},
+														"resourceHandle": {
+															"required": ["vimConnectionId", "resourceId"],
+															"type": "object",
+															"description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
+															"properties": {
+																"vimConnectionId": {
+																	"description": "An identifier with the intention of being globally unique.\n",
+																	"type": "string"
+																},
+																"resourceProviderId": {
+																	"description": "An identifier with the intention of being globally unique.\n",
+																	"type": "string"
+																},
+																"resourceId": {
+																	"description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n",
+																	"type": "string"
+																},
+																"vimLevelResourceType": {
+																	"description": "Type of the resource in the scope of the VIM or the resource provider.\n",
+																	"type": "string"
+																}
+															}
+														},
+														"cpInstanceId": {
+															"description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n",
+															"type": "string"
+														}
+													}
+												}
+											}
+										}
+									}
+								},
+								"_links": {
+									"description": "Links to resources related to this resource.\n",
+									"type": "object",
+									"required": ["self", "vnfInstance"],
+									"properties": {
+										"self": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"vnfInstance": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"grant": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"cancel": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"retry": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"rollback": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										},
+										"fail": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					},
+					"400": {
+						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"401": {
+						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"403": {
+						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"404": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"405": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"406": {
+						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"409": {
+						"description": "Conflict\nAnother request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"500": {
+						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"503": {
+						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					}
+				}
+			}
+		},
+		"/subscriptions": {
+			"post": {
+				"description": "Subscribe\n\nThe POST method creates a new subscription. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the NFVO, and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating a subscription resource if another subscription resource with the same filter and callbackUri already exists (in which case it shall return the “201 Created” response code), or may decide to not create a duplicate subscription resource (in which case it shall return a “303 See Other” response code referencing the existing subscription resource with the same filter and callbackUri).\n",
+				"tags": ["Sol003VnfLcm"],
+				"parameters": [{
+						"name": "LccnSubscriptionRequest",
+						"description": "Details of the subscription to be created.\n",
+						"in": "body",
+						"required": true,
+						"schema": {
+							"description": "This type represents a subscription request related to notifications about VNF lifecycle changes.\n",
+							"type": "object",
+							"required": ["callbackUri"],
+							"properties": {
+								"filter": {
+									"description": "This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n",
+									"type": "object",
+									"properties": {
+										"vnfInstanceSubscriptionFilter": {
+											"description": "This type represents subscription filter criteria to match VNF instances.\n",
+											"type": "object",
+											"properties": {
+												"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.\n",
+													"type": "array",
+													"items": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													}
+												}
+											}
+										},
+										"notificationTypes": {
+											"description": "Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n",
+											"type": "array",
+											"items": {
+												"type": "string",
+												"enum": ["VnfLcmOperationOccurrenceNotification", "VnfIdentifierCreationNotification", "VnfIdentifierDeletionNotification"]
+											}
+										},
+										"operationTypes": {
+											"description": "Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n",
+											"type": "array",
+											"items": {
+												"description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation.    SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation.\n",
+												"type": "string",
+												"enum": ["INSTANTIATE", "TERMINATE"]
+											}
+										},
+										"operationStates": {
+											"description": "Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n",
+											"type": "array",
+											"items": {
+												"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.\n",
+												"type": "string",
+												"enum": ["STARTING", "PROCESSING", "COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"]
+											}
+										}
+									}
+								},
+								"callbackUri": {
+									"description": "String formatted according to IETF RFC 3986.\n",
+									"type": "string"
+								},
+								"authentication": {
+									"type": "object",
+									"required": ["authType"],
+									"properties": {
+										"authType": {
+											"description": "Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use  HTTP Basic authentication with the client credentials. \n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the  notification endpoint, use an OAuth 2.0 Bearer token, obtained\n  using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent  over a mutually authenticated TLS session, i.e. not only the\n  server is authenticated, but also the client is authenticated\n  during the TLS tunnel setup.\n",
+											"type": "array",
+											"items": {
+												"type": "string",
+												"enum": ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"]
+											}
+										},
+										"paramsBasic": {
+											"description": "Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n",
+											"type": "object",
+											"properties": {
+												"userName": {
+													"description": "Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n",
+													"type": "string"
+												},
+												"password": {
+													"description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n",
+													"type": "string"
+												}
+											}
+										},
+										"paramsOauth2ClientCredentials": {
+											"description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n",
+											"type": "object",
+											"properties": {
+												"clientId": {
+													"description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type.  Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n",
+													"type": "string"
+												},
+												"clientPassword": {
+													"description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type.  Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n",
+													"type": "string"
+												},
+												"tokenEndpoint": {
+													"description": "String formatted according to IETF RFC 3986.\n",
+													"type": "string"
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					}, {
+						"name": "Accept",
+						"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
+						"in": "header",
+						"required": true,
+						"type": "string"
+					}, {
+						"name": "Authorization",
+						"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
+						"in": "header",
+						"required": false,
+						"type": "string"
+					}, {
+						"name": "Content-Type",
+						"description": "The MIME type of the body of the request. Reference: IETF RFC 7231\n",
+						"in": "header",
+						"required": true,
+						"type": "string"
+					}
+				],
+				"responses": {
+					"201": {
+						"description": "Created\nThe subscription was created successfully. The response body shall contain a representation of the created subscription resource. The HTTP response shall include a \"Location\" HTTP header that points to the created subscription resource.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"Location": {
+								"description": "The resource URI of the created VNF instance",
+								"type": "string",
+								"format": "url"
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "This type represents a subscription related to notifications about VNF lifecycle changes.\n",
+							"type": "object",
+							"required": ["id", "callbackUri", "_links"],
+							"properties": {
+								"id": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"filter": {
+									"description": "This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n",
+									"type": "object",
+									"properties": {
+										"vnfInstanceSubscriptionFilter": {
+											"description": "This type represents subscription filter criteria to match VNF instances.\n",
+											"type": "object",
+											"properties": {
+												"vnfdIds": {
+													"description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
+													"type": "array",
+													"items": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													}
+												},
+												"vnfProductsFromProviders": {
+													"description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
+													"type": "array",
+													"items": {
+														"type": "object",
+														"required": ["vnfProvider"],
+														"properties": {
+															"vnfProvider": {
+																"description": "Name of the VNF provider to match.\n",
+																"type": "string"
+															},
+															"vnfProducts": {
+																"description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n",
+																"type": "array",
+																"items": {
+																	"type": "object",
+																	"required": ["vnfProductName"],
+																	"properties": {
+																		"vnfProductName": {
+																			"description": "Name of the VNF product to match.\n",
+																			"type": "string"
+																		},
+																		"versions": {
+																			"description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n",
+																			"type": "array",
+																			"items": {
+																				"type": "object",
+																				"required": ["vnfSoftwareVersion"],
+																				"properties": {
+																					"vnfSoftwareVersion": {
+																						"description": "A version.\n",
+																						"type": "string"
+																					},
+																					"vnfdVersions": {
+																						"description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n",
+																						"type": "array",
+																						"items": {
+																							"description": "A version.\n",
+																							"type": "string"
+																						}
+																					}
+																				}
+																			}
+																		}
+																	}
+																}
+															}
+														}
+													}
+												},
+												"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.\n",
+													"type": "array",
+													"items": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													}
+												},
+												"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.\n",
+													"type": "array",
+													"items": {
+														"type": "string"
+													}
+												}
+											}
+										},
+										"notificationTypes": {
+											"description": "Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n",
+											"type": "array",
+											"items": {
+												"type": "string",
+												"enum": ["VnfLcmOperationOccurrenceNotification", "VnfIdentifierCreationNotification", "VnfIdentifierDeletionNotification"]
+											}
+										},
+										"operationTypes": {
+											"description": "Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n",
+											"type": "array",
+											"items": {
+												"description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation.    SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation.\n",
+												"type": "string",
+												"enum": ["INSTANTIATE", "SCALE", "SCALE_TO_LEVEL", "CHANGE_FLAVOUR", "TERMINATE", "HEAL", "OPERATE", "CHANGE_EXT_CONN", "MODIFY_INFO"]
+											}
+										},
+										"operationStates": {
+											"description": "Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n",
+											"type": "array",
+											"items": {
+												"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.\n",
+												"type": "string",
+												"enum": ["STARTING", "PROCESSING", "COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"]
+											}
+										}
+									}
+								},
+								"callbackUri": {
+									"description": "String formatted according to IETF RFC 3986.\n",
+									"type": "string"
+								},
+								"_links": {
+									"description": "Links to resources related to this resource.\n",
+									"type": "object",
+									"required": ["self"],
+									"properties": {
+										"self": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					},
+					"303": {
+						"description": "See Other\nA subscription with the same callbackURI and the same filter already exists and the policy of the VNFM is to not create redundant subscriptions. The HTTP response shall include a \"Location\" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty.\n",
+						"headers": {
+							"Location": {
+								"description": "The resource URI of the created VNF instance",
+								"type": "string",
+								"format": "url"
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						}
+					},
+					"400": {
+						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"401": {
+						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"403": {
+						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"404": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"405": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"406": {
+						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"500": {
+						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"503": {
+						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					}
+				}
+			},
+			"get": {
+				"description": "Query Subscription Information\n\nThe GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations.\n",
+				"tags": ["Sol003VnfLcm"],
+				"parameters": [{
+						"name": "Accept",
+						"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
+						"in": "header",
+						"required": true,
+						"type": "string"
+					}, {
+						"name": "Authorization",
+						"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
+						"in": "header",
+						"required": false,
+						"type": "string"
+					}
+				],
+				"responses": {
+					"200": {
+						"description": "OK\nThe list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "This type represents a subscription related to notifications about VNF lifecycle changes.\n",
+							"type": "object",
+							"required": ["id", "callbackUri", "_links"],
+							"properties": {
+								"id": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"filter": {
+									"description": "This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n",
+									"type": "object",
+									"properties": {
+										"vnfInstanceSubscriptionFilter": {
+											"description": "This type represents subscription filter criteria to match VNF instances.\n",
+											"type": "object",
+											"properties": {
+												"vnfdIds": {
+													"description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
+													"type": "array",
+													"items": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													}
+												},
+												"vnfProductsFromProviders": {
+													"description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
+													"type": "array",
+													"items": {
+														"type": "object",
+														"required": ["vnfProvider"],
+														"properties": {
+															"vnfProvider": {
+																"description": "Name of the VNF provider to match.\n",
+																"type": "string"
+															},
+															"vnfProducts": {
+																"description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n",
+																"type": "array",
+																"items": {
+																	"type": "object",
+																	"required": ["vnfProductName"],
+																	"properties": {
+																		"vnfProductName": {
+																			"description": "Name of the VNF product to match.\n",
+																			"type": "string"
+																		},
+																		"versions": {
+																			"description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n",
+																			"type": "array",
+																			"items": {
+																				"type": "object",
+																				"required": ["vnfSoftwareVersion"],
+																				"properties": {
+																					"vnfSoftwareVersion": {
+																						"description": "A version.\n",
+																						"type": "string"
+																					},
+																					"vnfdVersions": {
+																						"description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n",
+																						"type": "array",
+																						"items": {
+																							"description": "A version.\n",
+																							"type": "string"
+																						}
+																					}
+																				}
+																			}
+																		}
+																	}
+																}
+															}
+														}
+													}
+												},
+												"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.\n",
+													"type": "array",
+													"items": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													}
+												},
+												"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.\n",
+													"type": "array",
+													"items": {
+														"type": "string"
+													}
+												}
+											}
+										},
+										"notificationTypes": {
+											"description": "Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n",
+											"type": "array",
+											"items": {
+												"type": "string",
+												"enum": ["VnfLcmOperationOccurrenceNotification", "VnfIdentifierCreationNotification", "VnfIdentifierDeletionNotification"]
+											}
+										},
+										"operationTypes": {
+											"description": "Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n",
+											"type": "array",
+											"items": {
+												"description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation.    SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation.\n",
+												"type": "string",
+												"enum": ["INSTANTIATE", "SCALE", "SCALE_TO_LEVEL", "CHANGE_FLAVOUR", "TERMINATE", "HEAL", "OPERATE", "CHANGE_EXT_CONN", "MODIFY_INFO"]
+											}
+										},
+										"operationStates": {
+											"description": "Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n",
+											"type": "array",
+											"items": {
+												"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.\n",
+												"type": "string",
+												"enum": ["STARTING", "PROCESSING", "COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"]
+											}
+										}
+									}
+								},
+								"callbackUri": {
+									"description": "String formatted according to IETF RFC 3986.\n",
+									"type": "string"
+								},
+								"_links": {
+									"description": "Links to resources related to this resource.\n",
+									"type": "object",
+									"required": ["self"],
+									"properties": {
+										"self": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					},
+					"400": {
+						"description": "Bad Request\nInvalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the \"detail\" attribute should convey more information about the error.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"401": {
+						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"403": {
+						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"404": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"405": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"406": {
+						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"500": {
+						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"503": {
+						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					}
+				}
+			}
+		},
+		"/subscriptions/{subscriptionId}": {
+			"parameters": [{
+					"name": "subscriptionId",
+					"description": "Identifier of this subscription. This identifier can be retrieved from the resource referenced by the \"Location\" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the \"id\" attribute in the payload body of that response.\n",
+					"in": "path",
+					"type": "string",
+					"required": true
+				}
+			],
+			"get": {
+				"description": "Query Subscription Information\n\nThe GET method retrieves information about a subscription by reading an individual subscription resource.\n",
+				"tags": ["Sol003VnfLcm"],
+				"parameters": [{
+						"name": "Accept",
+						"description": "Content-Types that are acceptable for the response. Reference: IETF RFC 7231\n",
+						"in": "header",
+						"required": true,
+						"type": "string"
+					}, {
+						"name": "Authorization",
+						"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
+						"in": "header",
+						"required": false,
+						"type": "string"
+					}
+				],
+				"responses": {
+					"200": {
+						"description": "OK\nThe operation has completed successfully. The response body shall contain a representation of the subscription resource.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "This type represents a subscription related to notifications about VNF lifecycle changes.\n",
+							"type": "object",
+							"required": ["id", "callbackUri", "_links"],
+							"properties": {
+								"id": {
+									"description": "An identifier with the intention of being globally unique.\n",
+									"type": "string"
+								},
+								"filter": {
+									"description": "This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n",
+									"type": "object",
+									"properties": {
+										"vnfInstanceSubscriptionFilter": {
+											"description": "This type represents subscription filter criteria to match VNF instances.\n",
+											"type": "object",
+											"properties": {
+												"vnfdIds": {
+													"description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
+													"type": "array",
+													"items": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													}
+												},
+												"vnfProductsFromProviders": {
+													"description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
+													"type": "array",
+													"items": {
+														"type": "object",
+														"required": ["vnfProvider"],
+														"properties": {
+															"vnfProvider": {
+																"description": "Name of the VNF provider to match.\n",
+																"type": "string"
+															},
+															"vnfProducts": {
+																"description": "If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n",
+																"type": "array",
+																"items": {
+																	"type": "object",
+																	"required": ["vnfProductName"],
+																	"properties": {
+																		"vnfProductName": {
+																			"description": "Name of the VNF product to match.\n",
+																			"type": "string"
+																		},
+																		"versions": {
+																			"description": "If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n",
+																			"type": "array",
+																			"items": {
+																				"type": "object",
+																				"required": ["vnfSoftwareVersion"],
+																				"properties": {
+																					"vnfSoftwareVersion": {
+																						"description": "A version.\n",
+																						"type": "string"
+																					},
+																					"vnfdVersions": {
+																						"description": "If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n",
+																						"type": "array",
+																						"items": {
+																							"description": "A version.\n",
+																							"type": "string"
+																						}
+																					}
+																				}
+																			}
+																		}
+																	}
+																}
+															}
+														}
+													}
+												},
+												"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.\n",
+													"type": "array",
+													"items": {
+														"description": "An identifier with the intention of being globally unique.\n",
+														"type": "string"
+													}
+												},
+												"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.\n",
+													"type": "array",
+													"items": {
+														"type": "string"
+													}
+												}
+											}
+										},
+										"notificationTypes": {
+											"description": "Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n",
+											"type": "array",
+											"items": {
+												"type": "string",
+												"enum": ["VnfLcmOperationOccurrenceNotification", "VnfIdentifierCreationNotification", "VnfIdentifierDeletionNotification"]
+											}
+										},
+										"operationTypes": {
+											"description": "Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n",
+											"type": "array",
+											"items": {
+												"description": "Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate VNF\" LCM operation.    SCALE | Represents the \"Scale VNF\" LCM operation. SCALE_TO_LEVEL | Represents the \"Scale VNF to Level\" LCM operation. CHANGE_FLAVOUR | Represents the \"Change VNF Flavour\" LCM operation. TERMINATE | Represents the \"Terminate VNF\" LCM operation. HEAL | Represents the \"Heal VNF\" LCM operation. OPERATE | Represents the \"Operate VNF\" LCM operation. CHANGE_EXT_CONN | Represents the \"Change external VNF connectivity\" LCM operation. MODIFY_INFO | Represents the \"Modify VNF Information\" LCM operation.\n",
+												"type": "string",
+												"enum": ["INSTANTIATE", "SCALE", "SCALE_TO_LEVEL", "CHANGE_FLAVOUR", "TERMINATE", "HEAL", "OPERATE", "CHANGE_EXT_CONN", "MODIFY_INFO"]
+											}
+										},
+										"operationStates": {
+											"description": "Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n",
+											"type": "array",
+											"items": {
+												"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.\n",
+												"type": "string",
+												"enum": ["STARTING", "PROCESSING", "COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"]
+											}
+										}
+									}
+								},
+								"callbackUri": {
+									"description": "String formatted according to IETF RFC 3986.\n",
+									"type": "string"
+								},
+								"_links": {
+									"description": "Links to resources related to this resource.\n",
+									"type": "object",
+									"required": ["self"],
+									"properties": {
+										"self": {
+											"description": "This type represents a link to a resource.\n",
+											"type": "object",
+											"required": ["href"],
+											"properties": {
+												"href": {
+													"description": "URI of the referenced resource.\n",
+													"type": "string",
+													"format": "url"
+												}
+											}
+										}
+									}
+								}
+							}
+						}
+					},
+					"400": {
+						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"401": {
+						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"403": {
+						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"404": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"405": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"406": {
+						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"500": {
+						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"503": {
+						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					}
+				}
+			},
+			"delete": {
+				"description": "Terminate Subscription\n\nThe DELETE method terminates an individual subscription.\n",
+				"tags": ["Sol003VnfLcm"],
+				"parameters": [{
+						"name": "Authorization",
+						"description": "The authorization token for the request. Reference: IETF RFC 7235\n",
+						"in": "header",
+						"required": false,
+						"type": "string"
+					}
+				],
+				"responses": {
+					"204": {
+						"description": "No Content\nThe subscription resource was deleted successfully. The response body shall be empty.\n",
+						"headers": {
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						}
+					},
+					"400": {
+						"description": "Bad Request\nIf the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\n ---\n\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n ---\n\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code.The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"401": {
+						"description": "Unauthorized\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							},
+							"WWW-Authenticate": {
+								"description": "Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 0
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"403": {
+						"description": "Forbidden\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided.  It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"404": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"405": {
+						"description": "Not Found\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"406": {
+						"description": "Not Acceptable\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted in that case.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"500": {
+						"description": "Internal Server Error\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond withthis response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					},
+					"503": {
+						"description": "Service Unavailable\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n",
+						"headers": {
+							"Content-Type": {
+								"description": "The MIME type of the body of the response.",
+								"type": "string",
+								"maximum": 1,
+								"minimum": 1
+							}
+						},
+						"schema": {
+							"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
+							"type": "object",
+							"required": ["status", "detail"],
+							"properties": {
+								"type": {
+									"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
+									"type": "string",
+									"format": "URI"
+								},
+								"title": {
+									"description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n",
+									"type": "string"
+								},
+								"status": {
+									"description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n",
+									"type": "integer"
+								},
+								"detail": {
+									"description": "A human-readable explanation specific to this occurrence of the problem.\n",
+									"type": "string"
+								},
+								"instance": {
+									"description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n",
+									"type": "string",
+									"format": "URI"
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/vnfm-simulator/vnfm-api/src/main/resources/vnfm-sim-swagger.yaml b/vnfm-simulator/vnfm-api/src/main/resources/vnfm-sim-swagger.yaml
new file mode 100644
index 0000000..71b7163
--- /dev/null
+++ b/vnfm-simulator/vnfm-api/src/main/resources/vnfm-sim-swagger.yaml
@@ -0,0 +1,8404 @@
+swagger: '2.0'
+info:
+  version: 1.1.1
+  title: SOL003 - VNF Lifecycle Management interface
+  description: |
+    SOL003 - VNF Lifecycle Management interface definition
+
+    IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence.
+
+    In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes to the attribute-based filtering mechanism are being considered in v2.5.1 of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design.
+    Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution=
+  license:
+    name: ETSI Forge copyright notice
+    url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt'
+externalDocs:
+  description: ETSI GS NFV-SOL 003 V2.4.1
+  url: 'http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf'
+basePath: /vnflcm/v1
+schemes:
+  - https
+consumes:
+  - application/json
+produces:
+  - application/json
+paths:
+  /vnf_instances:
+    post:
+      description: |
+        Create VNF Identifier
+
+        The POST method creates a new VNF instance resource.
+      tags:
+        - Sol003VnfLcm
+      parameters:
+        - name: createVnfRequest
+          description: The VNF creation parameters
+          in: body
+          required: true
+          schema:
+            type: object
+            required:
+              - vnfdId
+            properties:
+              vnfdId:
+                description: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              vnfInstanceName:
+                description: |
+                  Human-readable name of the VNF instance to be created.
+                type: string
+              vnfInstanceDescription:
+                description: |
+                  Human-readable description of the VNF instance to be created.
+                type: string
+        - name: Accept
+          description: |
+            Content-Types that are acceptable for the response. Reference: IETF RFC 7231
+          in: header
+          required: true
+          type: string
+        - name: Authorization
+          description: |
+            The authorization token for the request. Reference: IETF RFC 7235
+          in: header
+          required: false
+          type: string
+        - name: Content-Type
+          description: |
+            The MIME type of the body of the request. Reference: IETF RFC 7231
+          in: header
+          required: true
+          type: string
+      responses:
+        '201':
+          description: A VNF Instance identifier was created successfully
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            Location:
+              description: The resource URI of the created VNF instance
+              type: string
+              format: url
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              This type represents a VNF instance.
+            type: object
+            required:
+              - id
+              - vnfdId
+              - vnfProvider
+              - vnfProductName
+              - vnfSoftwareVersion
+              - vnfdVersion
+              - vnfPkgId
+              - instantiationState
+            properties:
+              id:
+                description: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              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: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              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: |
+                  A Version.
+                type: string
+              vnfdVersion:
+                description: |
+                  A Version.
+                type: string
+              vnfPkgId:
+                description: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              vnfConfigurableProperties:
+                description: |
+                  This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                type: object
+              vimConnectionInfo:
+                description: |
+                  Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.
+                type: array
+                items:
+                  description: |
+                    This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.
+                  type: object
+                  required:
+                    - id
+                    - vimType
+                  properties:
+                    id:
+                      description: |
+                        An identifier with the intention of being globally unique.
+                      type: string
+                    vimId:
+                      description: |
+                        An identifier with the intention of being globally unique.
+                      type: string
+                    vimType:
+                      description: |
+                        Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.
+                      type: string
+                    interfaceInfo:
+                      description: |
+                        This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                      type: object
+                    accessInfo:
+                      description: |
+                        This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                      type: object
+                    extra:
+                      description: |
+                        This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                      type: object
+              instantiationState:
+                description: |
+                  The instantiation state of the VNF.
+                type: string
+                enum:
+                  - NOT_INSTANTIATED
+                  - INSTANTIATED
+              instantiatedVnfInfo:
+                description: |
+                  Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.
+                type: object
+                required:
+                  - flavourId
+                  - vnfState
+                properties:
+                  flavourId:
+                    description: |
+                      An identifier that is unique within a VNF descriptor.
+                    type: string
+                  vnfState:
+                    type: string
+                    enum:
+                      - STARTED
+                      - STOPPED
+                  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:
+                      required:
+                        - aspectId
+                        - scaleLevel
+                      type: object
+                      properties:
+                        aspectId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        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
+                  extCpInfo:
+                    description: |
+                      Information about the external CPs exposed by the VNF instance.
+                    type: array
+                    minItems: 1
+                    items:
+                      type: object
+                      required:
+                        - id
+                        - cpdId
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        cpdId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        cpProtocolInfo:
+                          description: |
+                            Network protocol information for this CP.
+                          type: array
+                          items:
+                            description: |
+                              This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.
+                            required:
+                              - layerProtocol
+                            properties:
+                              layerProtocol:
+                                description: |
+                                  The identifier of layer(s) and protocol(s) associated to the network address information.  Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.
+                                type: string
+                                enum:
+                                  - IP_OVER_ETHERNET
+                              ipOverEthernet:
+                                description: |
+                                  This type represents information about a network address that has been assigned.
+                                type: object
+                                required:
+                                  - macAddress
+                                properties:
+                                  macAddress:
+                                    description: |
+                                      A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.
+                                    type: string
+                                    format: MAC
+                                  ipAddresses:
+                                    description: |
+                                      Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.
+                                    type: array
+                                    items:
+                                      type: object
+                                      required:
+                                        - type
+                                      properties:
+                                        type:
+                                          description: |
+                                            The type of the IP addresses. Permitted values: IPV4, IPV6.
+                                          type: string
+                                          enum:
+                                            - IPV4
+                                            - IPV6
+                                        addresses:
+                                          description: |
+                                            Fixed addresses assigned (from the subnet defined by "subnetId" if provided).
+                                          type: array
+                                          items:
+                                            description: |
+                                              An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                            type: string
+                                            format: IP
+                                        isDynamic:
+                                          description: |
+                                            Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise.
+                                          type: boolean
+                                        addressRange:
+                                          description: |
+                                            An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present.
+                                          type: object
+                                          required:
+                                            - minAddress
+                                            - maxAddress
+                                          properties:
+                                            minAddress:
+                                              description: |
+                                                An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                              type: string
+                                              format: IP
+                                            maxAddress:
+                                              description: |
+                                                An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                              type: string
+                                              format: IP
+                                        subnetId:
+                                          description: |
+                                            An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                          type: string
+                                          format: IP
+                        extLinkPortId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                  extVirtualLinkInfo:
+                    description: |
+                      Information about the external VLs the VNF instance is connected to.
+                    type: array
+                    items:
+                      type: object
+                      required:
+                        - id
+                        - resourceHandle
+                      properties:
+                        id:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        resourceHandle:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        extLinkPorts:
+                          description: |
+                            Link ports of this VL.
+                          type: array
+                          items:
+                            description: |
+                              This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.
+                            type: object
+                            required:
+                              - id
+                              - resourceHandle
+                            properties:
+                              id:
+                                description: |
+                                  An identifier with the intention of being globally unique.
+                                type: string
+                              resourceHandle:
+                                required:
+                                  - vimConnectionId
+                                  - resourceId
+                                type: object
+                                description: |
+                                  This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                                properties:
+                                  vimConnectionId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceProviderId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceId:
+                                    description: |
+                                      An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                                    type: string
+                                  vimLevelResourceType:
+                                    description: |
+                                      Type of the resource in the scope of the VIM or the resource provider.
+                                    type: string
+                              cpInstanceId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                  extManagedVirtualLinkInfo:
+                    description: |
+                      External virtual links the VNF instance is connected to.
+                    type: array
+                    items:
+                      type: object
+                      required:
+                        - id
+                        - vnfVirtualLinkDescId
+                      properties:
+                        id:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        vnfVirtualLinkDescId:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        networkResource:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        vnfLinkPorts:
+                          description: |
+                            Link ports of this VL.
+                          type: array
+                          items:
+                            type: object
+                            required:
+                              - id
+                              - resourceHandle
+                            properties:
+                              id:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                              resourceHandle:
+                                required:
+                                  - vimConnectionId
+                                  - resourceId
+                                type: object
+                                description: |
+                                  This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                                properties:
+                                  vimConnectionId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceProviderId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceId:
+                                    description: |
+                                      An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                                    type: string
+                                  vimLevelResourceType:
+                                    description: |
+                                      Type of the resource in the scope of the VIM or the resource provider.
+                                    type: string
+                              cpInstanceId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                  monitoringParameters:
+                    description: |
+                      Active monitoring parameters.
+                    type: array
+                    items:
+                      type: object
+                      required:
+                        - id
+                        - value
+                        - timeStamp
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        name:
+                          description: |
+                            Human readable name of the monitoring parameter, as defined in the VNFD.
+                          type: string
+                        value:
+                          description: |
+                            Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the "value" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.
+                          type: object
+                        timeStamp:
+                          description: |
+                            Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.
+                          type: string
+                  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:
+                      description: |
+                        This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.
+                      type: object
+                      required:
+                        - id
+                        - vduId
+                        - computeResource
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        vduId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        computeResource:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        storageResourceIds:
+                          description: |
+                            References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.
+                          type: array
+                          items:
+                            description: |
+                              An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                            type: string
+                        reservationId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        vnfcCpInfo:
+                          description: |
+                            CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.
+                          type: array
+                          items:
+                            type: object
+                            required:
+                              - id
+                              - cpdId
+                            properties:
+                              id:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                              cpdId:
+                                description: |
+                                  An identifier that is unique within a VNF descriptor.
+                                type: string
+                              vnfExtCpId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                              cpProtocolInfo:
+                                description: |
+                                  Network protocol information for this CP.
+                                type: array
+                                items:
+                                  description: |
+                                    This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.
+                                  required:
+                                    - layerProtocol
+                                  properties:
+                                    layerProtocol:
+                                      description: |
+                                        The identifier of layer(s) and protocol(s) associated to the network address information.  Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.
+                                      type: string
+                                      enum:
+                                        - IP_OVER_ETHERNET
+                                    ipOverEthernet:
+                                      description: |
+                                        This type represents information about a network address that has been assigned.
+                                      type: object
+                                      required:
+                                        - macAddress
+                                      properties:
+                                        macAddress:
+                                          description: |
+                                            A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.
+                                          type: string
+                                          format: MAC
+                                        ipAddresses:
+                                          description: |
+                                            Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.
+                                          type: array
+                                          items:
+                                            type: object
+                                            required:
+                                              - type
+                                            properties:
+                                              type:
+                                                description: |
+                                                  The type of the IP addresses. Permitted values: IPV4, IPV6.
+                                                type: string
+                                                enum:
+                                                  - IPV4
+                                                  - IPV6
+                                              addresses:
+                                                description: |
+                                                  Fixed addresses assigned (from the subnet defined by "subnetId" if provided).
+                                                type: array
+                                                items:
+                                                  description: |
+                                                    An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                  type: string
+                                                  format: IP
+                                              isDynamic:
+                                                description: |
+                                                  Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise.
+                                                type: boolean
+                                              addressRange:
+                                                description: |
+                                                  An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present.
+                                                type: object
+                                                required:
+                                                  - minAddress
+                                                  - maxAddress
+                                                properties:
+                                                  minAddress:
+                                                    description: |
+                                                      An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                    type: string
+                                                    format: IP
+                                                  maxAddress:
+                                                    description: |
+                                                      An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                    type: string
+                                                    format: IP
+                                              subnetId:
+                                                description: |
+                                                  An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                type: string
+                                                format: IP
+                              vnfLinkPortId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                        metadata:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+                  virtualLinkResourceInfo:
+                    description: |
+                      Information about the virtualised network resources used by the VLs of the VNF instance.
+                    type: array
+                    items:
+                      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
+                        - vnfVirtualLinkDescId
+                        - networkResource
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        vnfVirtualLinkDescId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        networkResource:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        reservationId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        vnfLinkPorts:
+                          description: |
+                            Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.
+                          type: array
+                          items:
+                            type: object
+                            required:
+                              - id
+                              - resourceHandle
+                            properties:
+                              id:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                              resourceHandle:
+                                required:
+                                  - vimConnectionId
+                                  - resourceId
+                                type: object
+                                description: |
+                                  This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                                properties:
+                                  vimConnectionId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceProviderId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceId:
+                                    description: |
+                                      An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                                    type: string
+                                  vimLevelResourceType:
+                                    description: |
+                                      Type of the resource in the scope of the VIM or the resource provider.
+                                    type: string
+                              cpInstanceId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                        metadata:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+                  virtualStorageResourceInfo:
+                    description: |
+                      Information on the virtualised storage resource(s) used as storage for the VNF instance.
+                    type: array
+                    items:
+                      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: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        virtualStorageDescId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        storageResource:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        reservationId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        metadata:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+              metadata:
+                description: |
+                  This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                type: object
+              extensions:
+                description: |
+                  This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                type: object
+              _links:
+                description: |
+                  Links to resources related to this resource.
+                type: object
+                required:
+                  - self
+                properties:
+                  self:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  indicators:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  instantiate:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  terminate:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  scale:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  scaleToLevel:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  changeFlavour:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  heal:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  operate:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  changeExtConn:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+        '400':
+          description: |
+            Bad Request
+            If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem.
+             ---
+
+            If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+             ---
+
+            If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code.The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '401':
+          description: |
+            Unauthorized
+            If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '403':
+          description: |
+            Forbidden
+            If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided.  It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '404':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '405':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '406':
+          description: |
+            Not Acceptable
+            If the "Accept" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted in that case.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '409':
+          description: |
+            Conflict
+            Another request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '416':
+          description: |
+            Requested Range Not Satisfiable
+            This code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '422':
+          description: |
+            Unprocessable Entity
+            If the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem. NOTE 2: This error response code is only applicable for methods that have a request body.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '500':
+          description: |
+            Internal Server Error
+            If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond withthis response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '503':
+          description: |
+            Service Unavailable
+            If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+  '/vnf_instances/{vnfInstanceId}':
+    parameters:
+      - name: vnfInstanceId
+        description: |
+          Identifier of the VNF instance. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body of that response.
+        in: path
+        type: string
+        required: true
+    get:
+      description: |
+        Query VNF
+
+        The GET method retrieves information about a VNF instance by reading an individual VNF instance resource.
+      tags:
+        - Sol003VnfLcm
+      parameters:
+        - name: Accept
+          description: |
+            Content-Types that are acceptable for the response. Reference: IETF RFC 7231
+          in: header
+          required: true
+          type: string
+        - name: Authorization
+          description: |
+            The authorization token for the request. Reference: IETF RFC 7235
+          in: header
+          required: false
+          type: string
+        - name: Content-Type
+          description: |
+            The MIME type of the body of the request. Reference: IETF RFC 7231
+          in: header
+          required: true
+          type: string
+      responses:
+        '200':
+          description: |
+            OK
+            Information about zero or more VNF instances was queried successfully. The response body shall contain representations of zero or more VNF instances.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              This type represents a VNF instance.
+            type: object
+            required:
+              - id
+              - vnfdId
+              - vnfProvider
+              - vnfProductName
+              - vnfSoftwareVersion
+              - vnfdVersion
+              - vnfPkgId
+              - instantiationState
+            properties:
+              id:
+                description: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              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: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              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: |
+                  A Version.
+                type: string
+              vnfdVersion:
+                description: |
+                  A Version.
+                type: string
+              vnfPkgId:
+                description: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              vnfConfigurableProperties:
+                description: |
+                  This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                type: object
+              vimConnectionInfo:
+                description: |
+                  Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.
+                type: array
+                items:
+                  description: |
+                    This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.
+                  type: object
+                  required:
+                    - id
+                    - vimType
+                  properties:
+                    id:
+                      description: |
+                        An identifier with the intention of being globally unique.
+                      type: string
+                    vimId:
+                      description: |
+                        An identifier with the intention of being globally unique.
+                      type: string
+                    vimType:
+                      description: |
+                        Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.
+                      type: string
+                    interfaceInfo:
+                      description: |
+                        This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                      type: object
+                    accessInfo:
+                      description: |
+                        This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                      type: object
+                    extra:
+                      description: |
+                        This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                      type: object
+              instantiationState:
+                description: |
+                  The instantiation state of the VNF.
+                type: string
+                enum:
+                  - NOT_INSTANTIATED
+                  - INSTANTIATED
+              instantiatedVnfInfo:
+                description: |
+                  Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.
+                type: object
+                required:
+                  - flavourId
+                  - vnfState
+                properties:
+                  flavourId:
+                    description: |
+                      An identifier that is unique within a VNF descriptor.
+                    type: string
+                  vnfState:
+                    type: string
+                    enum:
+                      - STARTED
+                      - STOPPED
+                  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:
+                      required:
+                        - aspectId
+                        - scaleLevel
+                      type: object
+                      properties:
+                        aspectId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        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
+                  extCpInfo:
+                    description: |
+                      Information about the external CPs exposed by the VNF instance.
+                    type: array
+                    minItems: 1
+                    items:
+                      type: object
+                      required:
+                        - id
+                        - cpdId
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        cpdId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        cpProtocolInfo:
+                          description: |
+                            Network protocol information for this CP.
+                          type: array
+                          items:
+                            description: |
+                              This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.
+                            required:
+                              - layerProtocol
+                            properties:
+                              layerProtocol:
+                                description: |
+                                  The identifier of layer(s) and protocol(s) associated to the network address information.  Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.
+                                type: string
+                                enum:
+                                  - IP_OVER_ETHERNET
+                              ipOverEthernet:
+                                description: |
+                                  This type represents information about a network address that has been assigned.
+                                type: object
+                                required:
+                                  - macAddress
+                                properties:
+                                  macAddress:
+                                    description: |
+                                      A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.
+                                    type: string
+                                    format: MAC
+                                  ipAddresses:
+                                    description: |
+                                      Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.
+                                    type: array
+                                    items:
+                                      type: object
+                                      required:
+                                        - type
+                                      properties:
+                                        type:
+                                          description: |
+                                            The type of the IP addresses. Permitted values: IPV4, IPV6.
+                                          type: string
+                                          enum:
+                                            - IPV4
+                                            - IPV6
+                                        addresses:
+                                          description: |
+                                            Fixed addresses assigned (from the subnet defined by "subnetId" if provided).
+                                          type: array
+                                          items:
+                                            description: |
+                                              An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                            type: string
+                                            format: IP
+                                        isDynamic:
+                                          description: |
+                                            Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise.
+                                          type: boolean
+                                        addressRange:
+                                          description: |
+                                            An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present.
+                                          type: object
+                                          required:
+                                            - minAddress
+                                            - maxAddress
+                                          properties:
+                                            minAddress:
+                                              description: |
+                                                An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                              type: string
+                                              format: IP
+                                            maxAddress:
+                                              description: |
+                                                An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                              type: string
+                                              format: IP
+                                        subnetId:
+                                          description: |
+                                            An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                          type: string
+                                          format: IP
+                        extLinkPortId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                  extVirtualLinkInfo:
+                    description: |
+                      Information about the external VLs the VNF instance is connected to.
+                    type: array
+                    items:
+                      type: object
+                      required:
+                        - id
+                        - resourceHandle
+                      properties:
+                        id:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        resourceHandle:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        extLinkPorts:
+                          description: |
+                            Link ports of this VL.
+                          type: array
+                          items:
+                            description: |
+                              This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.
+                            type: object
+                            required:
+                              - id
+                              - resourceHandle
+                            properties:
+                              id:
+                                description: |
+                                  An identifier with the intention of being globally unique.
+                                type: string
+                              resourceHandle:
+                                required:
+                                  - vimConnectionId
+                                  - resourceId
+                                type: object
+                                description: |
+                                  This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                                properties:
+                                  vimConnectionId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceProviderId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceId:
+                                    description: |
+                                      An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                                    type: string
+                                  vimLevelResourceType:
+                                    description: |
+                                      Type of the resource in the scope of the VIM or the resource provider.
+                                    type: string
+                              cpInstanceId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                  extManagedVirtualLinkInfo:
+                    description: |
+                      External virtual links the VNF instance is connected to.
+                    type: array
+                    items:
+                      type: object
+                      required:
+                        - id
+                        - vnfVirtualLinkDescId
+                      properties:
+                        id:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        vnfVirtualLinkDescId:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        networkResource:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        vnfLinkPorts:
+                          description: |
+                            Link ports of this VL.
+                          type: array
+                          items:
+                            type: object
+                            required:
+                              - id
+                              - resourceHandle
+                            properties:
+                              id:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                              resourceHandle:
+                                required:
+                                  - vimConnectionId
+                                  - resourceId
+                                type: object
+                                description: |
+                                  This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                                properties:
+                                  vimConnectionId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceProviderId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceId:
+                                    description: |
+                                      An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                                    type: string
+                                  vimLevelResourceType:
+                                    description: |
+                                      Type of the resource in the scope of the VIM or the resource provider.
+                                    type: string
+                              cpInstanceId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                  monitoringParameters:
+                    description: |
+                      Active monitoring parameters.
+                    type: array
+                    items:
+                      type: object
+                      required:
+                        - id
+                        - value
+                        - timeStamp
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        name:
+                          description: |
+                            Human readable name of the monitoring parameter, as defined in the VNFD.
+                          type: string
+                        value:
+                          description: |
+                            Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the "value" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.
+                          type: object
+                        timeStamp:
+                          description: |
+                            Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.
+                          type: string
+                  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:
+                      description: |
+                        This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.
+                      type: object
+                      required:
+                        - id
+                        - vduId
+                        - computeResource
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        vduId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        computeResource:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        storageResourceIds:
+                          description: |
+                            References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.
+                          type: array
+                          items:
+                            description: |
+                              An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                            type: string
+                        reservationId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        vnfcCpInfo:
+                          description: |
+                            CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.
+                          type: array
+                          items:
+                            type: object
+                            required:
+                              - id
+                              - cpdId
+                            properties:
+                              id:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                              cpdId:
+                                description: |
+                                  An identifier that is unique within a VNF descriptor.
+                                type: string
+                              vnfExtCpId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                              cpProtocolInfo:
+                                description: |
+                                  Network protocol information for this CP.
+                                type: array
+                                items:
+                                  description: |
+                                    This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.
+                                  required:
+                                    - layerProtocol
+                                  properties:
+                                    layerProtocol:
+                                      description: |
+                                        The identifier of layer(s) and protocol(s) associated to the network address information.  Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.
+                                      type: string
+                                      enum:
+                                        - IP_OVER_ETHERNET
+                                    ipOverEthernet:
+                                      description: |
+                                        This type represents information about a network address that has been assigned.
+                                      type: object
+                                      required:
+                                        - macAddress
+                                      properties:
+                                        macAddress:
+                                          description: |
+                                            A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.
+                                          type: string
+                                          format: MAC
+                                        ipAddresses:
+                                          description: |
+                                            Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.
+                                          type: array
+                                          items:
+                                            type: object
+                                            required:
+                                              - type
+                                            properties:
+                                              type:
+                                                description: |
+                                                  The type of the IP addresses. Permitted values: IPV4, IPV6.
+                                                type: string
+                                                enum:
+                                                  - IPV4
+                                                  - IPV6
+                                              addresses:
+                                                description: |
+                                                  Fixed addresses assigned (from the subnet defined by "subnetId" if provided).
+                                                type: array
+                                                items:
+                                                  description: |
+                                                    An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                  type: string
+                                                  format: IP
+                                              isDynamic:
+                                                description: |
+                                                  Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise.
+                                                type: boolean
+                                              addressRange:
+                                                description: |
+                                                  An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present.
+                                                type: object
+                                                required:
+                                                  - minAddress
+                                                  - maxAddress
+                                                properties:
+                                                  minAddress:
+                                                    description: |
+                                                      An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                    type: string
+                                                    format: IP
+                                                  maxAddress:
+                                                    description: |
+                                                      An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                    type: string
+                                                    format: IP
+                                              subnetId:
+                                                description: |
+                                                  An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                type: string
+                                                format: IP
+                              vnfLinkPortId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                        metadata:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+                  virtualLinkResourceInfo:
+                    description: |
+                      Information about the virtualised network resources used by the VLs of the VNF instance.
+                    type: array
+                    items:
+                      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
+                        - vnfVirtualLinkDescId
+                        - networkResource
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        vnfVirtualLinkDescId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        networkResource:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        reservationId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        vnfLinkPorts:
+                          description: |
+                            Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.
+                          type: array
+                          items:
+                            type: object
+                            required:
+                              - id
+                              - resourceHandle
+                            properties:
+                              id:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                              resourceHandle:
+                                required:
+                                  - vimConnectionId
+                                  - resourceId
+                                type: object
+                                description: |
+                                  This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                                properties:
+                                  vimConnectionId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceProviderId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceId:
+                                    description: |
+                                      An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                                    type: string
+                                  vimLevelResourceType:
+                                    description: |
+                                      Type of the resource in the scope of the VIM or the resource provider.
+                                    type: string
+                              cpInstanceId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                        metadata:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+                  virtualStorageResourceInfo:
+                    description: |
+                      Information on the virtualised storage resource(s) used as storage for the VNF instance.
+                    type: array
+                    items:
+                      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: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        virtualStorageDescId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        storageResource:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        reservationId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        metadata:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+              metadata:
+                description: |
+                  This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                type: object
+              extensions:
+                description: |
+                  This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                type: object
+              _links:
+                description: |
+                  Links to resources related to this resource.
+                type: object
+                required:
+                  - self
+                properties:
+                  self:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  indicators:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  instantiate:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  terminate:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  scale:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  scaleToLevel:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  changeFlavour:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  heal:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  operate:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  changeExtConn:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+        '400':
+          description: |
+            Bad Request
+            If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem.
+             ---
+
+            If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+             ---
+
+            If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code.The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '401':
+          description: |
+            Unauthorized
+            If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '403':
+          description: |
+            Forbidden
+            If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided.  It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '404':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '405':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '406':
+          description: |
+            Not Acceptable
+            If the "Accept" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted in that case.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '409':
+          description: |
+            Conflict
+            Another request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '416':
+          description: |
+            Requested Range Not Satisfiable
+            This code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '500':
+          description: |
+            Internal Server Error
+            If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond withthis response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '503':
+          description: |
+            Service Unavailable
+            If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+    delete:
+      description: |
+        Delete VNF Identifier
+
+        This method deletes an individual VNF instance resource.
+      tags:
+        - Sol003VnfLcm
+      parameters:
+        - name: Authorization
+          description: |
+            The authorization token for the request. Reference: IETF RFC 7235
+          in: header
+          required: false
+          type: string
+      responses:
+        '204':
+          description: |
+            No Content
+            The VNF instance resource and the associated VNF identifier were deleted successfully. The response body shall be empty.
+          headers:
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+        '400':
+          description: |
+            Bad Request
+            It fhe request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code.The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '401':
+          description: |
+            Unauthorized
+            If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '403':
+          description: |
+            Forbidden
+            If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided.  It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '404':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '405':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '406':
+          description: |
+            Not Acceptable
+            If the "Accept" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted in that case.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '409':
+          description: |
+            Conflict
+            The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in INSTANTIATED state. The response body shall contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '412':
+          description: |
+            Precondition Failed
+            A precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '500':
+          description: |
+            Internal Server Error
+            If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond withthis response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '503':
+          description: |
+            Service Unavailable
+            If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+  '/vnf_instances/{vnfInstanceId}/instantiate':
+    parameters:
+      - name: vnfInstanceId
+        description: |
+          Identifier of the VNF instance. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body of that response.
+        in: path
+        type: string
+        required: true
+    post:
+      description: |
+        Instantiate VNF
+
+        The POST method instantiates a VNF instance.
+      tags:
+        - Sol003VnfLcm
+      parameters:
+        - name: InstantiateVnfRequest
+          description: Parameters for the VNF instantiation.
+          in: body
+          required: true
+          schema:
+            type: object
+            required:
+              - flavourId
+            properties:
+              flavourId:
+                description: |
+                  An identifier that is unique within a VNF descriptor.
+                type: string
+              extVirtualLinks:
+                description: |
+                  Information about external VLs to connect the VNF to.
+                type: array
+                items:
+                  description: |
+                    This type represents an external VL.
+                  type: object
+                  required:
+                    - id
+                    - resourceId
+                    - extCps
+                  properties:
+                    id:
+                      description: |
+                        An identifier with the intention of being globally unique.
+                      type: string
+                    vimConnectionId:
+                      description: |
+                        An identifier with the intention of being globally unique.
+                      type: string
+                    resourceId:
+                      description: |
+                        An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                      type: string
+                    extCps:
+                      description: |
+                        External CPs of the VNF to be connected to this external VL.
+                      type: array
+                      items:
+                        description: |
+                          This type represents configuration information for external CPs created from a CPD.
+                        type: object
+                        required:
+                          - cpdId
+                        properties:
+                          cpdId:
+                            description: |
+                              An identifier that is unique within a VNF descriptor.
+                            type: string
+                          cpConfig:
+                            description: |
+                              List of instance data that need to be configured on the CP instances created from the respective CPD.
+                            type: array
+                            items:
+                              description: |
+                                This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.
+                              type: object
+                              properties:
+                                cpInstanceId:
+                                  description: |
+                                    An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                  type: string
+                                linkPortId:
+                                  description: |
+                                    An identifier with the intention of being globally unique.
+                                  type: string
+                                cpProtocolData:
+                                  description: |
+                                    Parameters for configuring the network protocols on the link port that connects the CP to a VL.  The following conditions apply to the attributes "linkPortId" and "cpProtocolData":  * The "linkPortId" and "cpProtocolData" attributes shall both be  absent for the deletion of an existing external CP instance
+                                      addressed by cpInstanceId. 
+                                    * At least one of these attributes shall be present for a  to-be-created external CP instance or an existing external
+                                      CP instance.
+                                    * If the "linkPortId" attribute is absent, the VNFM shall create a  link port.
+                                    * If the "cpProtocolData" attribute is absent, the "linkPortId"  attribute shall be provided referencing a pre-created link port,
+                                      and the VNFM can use means outside the scope of the present
+                                      document to obtain the pre-configured address information for the
+                                      connection point from the resource representing the link port.
+                                    * If both "cpProtocolData" and "linkportId" are provided, the API  consumer shall ensure that the cpProtocolData can be used with the
+                                      pre-created link port referenced by "linkPortId".
+                                  type: array
+                                  items:
+                                    description: |
+                                      This type represents network protocol data.
+                                    type: object
+                                    required:
+                                      - layerProtocol
+                                    properties:
+                                      layerProtocol:
+                                        description: |
+                                          Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.
+                                        type: string
+                                        enum:
+                                          - IP_OVER_ETHERNET
+                                      ipOverEthernet:
+                                        description: |
+                                          This type represents network address data for IP over Ethernet.
+                                        type: object
+                                        properties:
+                                          macAddress:
+                                            description: |
+                                              A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.
+                                            type: string
+                                            format: MAC
+                                          ipAddresses:
+                                            description: |
+                                              List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned.
+                                            type: array
+                                            items:
+                                              type: object
+                                              required:
+                                                - type
+                                              properties:
+                                                type:
+                                                  description: |
+                                                    The type of the IP addresses. Permitted values: IPV4, IPV6.
+                                                  type: string
+                                                  enum:
+                                                    - IPV4
+                                                    - IPV6
+                                                fixedAddresses:
+                                                  description: |
+                                                    Fixed addresses to assign (from the subnet defined by "subnetId" if provided). Exactly one of "fixedAddresses", "numDynamicAddresses" or "ipAddressRange" shall be present.
+                                                  type: array
+                                                  items:
+                                                    description: |
+                                                      An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                    type: string
+                                                    format: IP
+                                                numDynamicAddresses:
+                                                  description: |
+                                                    Number of dynamic addresses to assign (from the subnet defined by "subnetId" if provided). Exactly one of "fixedAddresses", "numDynamicAddresses" or "ipAddressRange" shall be present.
+                                                  type: integer
+                                                addressRange:
+                                                  description: |
+                                                    An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.
+                                                  type: object
+                                                  required:
+                                                    - minAddress
+                                                    - maxAddress
+                                                  properties:
+                                                    minAddress:
+                                                      description: |
+                                                        An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                      type: string
+                                                      format: IP
+                                                    maxAddress:
+                                                      description: |
+                                                        An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                      type: string
+                                                      format: IP
+                                                subnetId:
+                                                  description: |
+                                                    An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                                                  type: string
+                    extLinkPorts:
+                      description: |
+                        Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL.
+                      type: array
+                      items:
+                        description: |
+                          This type represents an externally provided link port to be used to connect an external connection point to an external VL.
+                        type: object
+                        required:
+                          - id
+                          - resourceHandle
+                        properties:
+                          id:
+                            description: |
+                              An identifier with the intention of being globally unique.
+                            type: string
+                          resourceHandle:
+                            required:
+                              - vimConnectionId
+                              - resourceId
+                            type: object
+                            description: |
+                              This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                            properties:
+                              vimConnectionId:
+                                description: |
+                                  An identifier with the intention of being globally unique.
+                                type: string
+                              resourceId:
+                                description: |
+                                  An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                                type: string
+                              vimLevelResourceType:
+                                description: |
+                                  Type of the resource in the scope of the VIM or the resource provider.
+                                type: string
+              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.
+                type: array
+                items:
+                  description: |
+                    This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.
+                  type: object
+                  required:
+                    - id
+                    - vimType
+                  properties:
+                    id:
+                      description: |
+                        An identifier with the intention of being globally unique.
+                      type: string
+                    vimId:
+                      description: |
+                        An identifier with the intention of being globally unique.
+                      type: string
+                    vimType:
+                      description: |
+                        Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.
+                      type: string
+                    interfaceInfo:
+                      description: |
+                        This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                      type: object
+                    accessInfo:
+                      description: |
+                        This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                      type: object
+              additionalParams:
+                description: |
+                  This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                type: object
+        - name: Accept
+          description: |
+            Content-Types that are acceptable for the response. Reference: IETF RFC 7231
+          in: header
+          required: true
+          type: string
+        - name: Authorization
+          description: |
+            The authorization token for the request. Reference: IETF RFC 7235
+          in: header
+          required: false
+          type: string
+        - name: Content-Type
+          description: |
+            The MIME type of the body of the request. Reference: IETF RFC 7231
+          in: header
+          required: true
+          type: string
+      responses:
+        '202':
+          description: |
+            Accepted
+            The request was accepted for processing, but the  processing has not been completed. The response body shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "VNF LCM operation occurrence" resource corresponding to the operation.
+          headers:
+            Location:
+              description: The resource URI of the created VNF instance
+              type: string
+              format: url
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+        '400':
+          description: |
+            Bad Request
+            If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem.
+             ---
+
+            If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+             ---
+
+            If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code.The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '401':
+          description: |
+            Unauthorized
+            If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '403':
+          description: |
+            Forbidden
+            If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided.  It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '404':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '405':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '406':
+          description: |
+            Not Acceptable
+            If the "Accept" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted in that case.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '409':
+          description: |
+            Conflict
+            The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in INSTANTIATED state. The response body shall contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '416':
+          description: |
+            Requested Range Not Satisfiable
+            This code is returned if the requested byte range in the Range HTTP header is not present in the requested resource.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '500':
+          description: |
+            Internal Server Error
+            If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond withthis response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '503':
+          description: |
+            Service Unavailable
+            If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+  '/vnf_instances/{vnfInstanceId}/terminate':
+    parameters:
+      - name: vnfInstanceId
+        description: |
+          The identifier of the VNF instance to be terminated. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body of that response.
+        in: path
+        type: string
+        required: true
+    post:
+      description: |
+        Terminate VNF
+
+        The POST method terminates a VNF instance.
+      tags:
+        - Sol003VnfLcm
+      parameters:
+        - name: TerminateVnfRequest
+          description: Parameters for the VNF termination.
+          in: body
+          required: true
+          schema:
+            type: object
+            required:
+              - terminationType
+            properties:
+              terminationType:
+                description: |
+                  Indicates whether forceful or graceful termination is requested. VNFM Adapter will only support FORCEFUL in Dublin.
+                type: string
+                enum:
+                  - FORCEFUL
+                  - GRACEFUL
+        - name: Accept
+          description: |
+            Content-Types that are acceptable for the response. Reference: IETF RFC 7231
+          in: header
+          required: true
+          type: string
+        - name: Authorization
+          description: |
+            The authorization token for the request. Reference: IETF RFC 7235
+          in: header
+          required: false
+          type: string
+        - name: Content-Type
+          description: |
+            The MIME type of the body of the request. Reference: IETF RFC 7231
+          in: header
+          required: true
+          type: string
+      responses:
+        '202':
+          description: |
+            Accepted
+            The request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "VNF LCM operation occurrence" resource corresponding to the operation.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            Location:
+              description: The resource URI of the created VNF instance
+              type: string
+              format: url
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              This type represents a VNF instance.
+            type: object
+            required:
+              - id
+              - vnfdId
+              - vnfProvider
+              - vnfProductName
+              - vnfSoftwareVersion
+              - vnfdVersion
+              - vnfPkgId
+              - instantiationState
+            properties:
+              id:
+                description: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              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: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              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: |
+                  A Version.
+                type: string
+              vnfdVersion:
+                description: |
+                  A Version.
+                type: string
+              vnfPkgId:
+                description: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              vnfConfigurableProperties:
+                description: |
+                  This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                type: object
+              vimConnectionInfo:
+                description: |
+                  Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method.
+                type: array
+                items:
+                  description: |
+                    This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.
+                  type: object
+                  required:
+                    - id
+                    - vimType
+                  properties:
+                    id:
+                      description: |
+                        An identifier with the intention of being globally unique.
+                      type: string
+                    vimId:
+                      description: |
+                        An identifier with the intention of being globally unique.
+                      type: string
+                    vimType:
+                      description: |
+                        Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.
+                      type: string
+                    interfaceInfo:
+                      description: |
+                        This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                      type: object
+                    accessInfo:
+                      description: |
+                        This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                      type: object
+                    extra:
+                      description: |
+                        This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                      type: object
+              instantiationState:
+                description: |
+                  The instantiation state of the VNF.
+                type: string
+                enum:
+                  - NOT_INSTANTIATED
+                  - INSTANTIATED
+              instantiatedVnfInfo:
+                description: |
+                  Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.
+                type: object
+                required:
+                  - flavourId
+                  - vnfState
+                properties:
+                  flavourId:
+                    description: |
+                      An identifier that is unique within a VNF descriptor.
+                    type: string
+                  vnfState:
+                    type: string
+                    enum:
+                      - STARTED
+                      - STOPPED
+                  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:
+                      required:
+                        - aspectId
+                        - scaleLevel
+                      type: object
+                      properties:
+                        aspectId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        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
+                  extCpInfo:
+                    description: |
+                      Information about the external CPs exposed by the VNF instance.
+                    type: array
+                    minItems: 1
+                    items:
+                      type: object
+                      required:
+                        - id
+                        - cpdId
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        cpdId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        cpProtocolInfo:
+                          description: |
+                            Network protocol information for this CP.
+                          type: array
+                          items:
+                            description: |
+                              This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.
+                            required:
+                              - layerProtocol
+                            properties:
+                              layerProtocol:
+                                description: |
+                                  The identifier of layer(s) and protocol(s) associated to the network address information.  Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.
+                                type: string
+                                enum:
+                                  - IP_OVER_ETHERNET
+                              ipOverEthernet:
+                                description: |
+                                  This type represents information about a network address that has been assigned.
+                                type: object
+                                required:
+                                  - macAddress
+                                properties:
+                                  macAddress:
+                                    description: |
+                                      A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.
+                                    type: string
+                                    format: MAC
+                                  ipAddresses:
+                                    description: |
+                                      Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.
+                                    type: array
+                                    items:
+                                      type: object
+                                      required:
+                                        - type
+                                      properties:
+                                        type:
+                                          description: |
+                                            The type of the IP addresses. Permitted values: IPV4, IPV6.
+                                          type: string
+                                          enum:
+                                            - IPV4
+                                            - IPV6
+                                        addresses:
+                                          description: |
+                                            Fixed addresses assigned (from the subnet defined by "subnetId" if provided).
+                                          type: array
+                                          items:
+                                            description: |
+                                              An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                            type: string
+                                            format: IP
+                                        isDynamic:
+                                          description: |
+                                            Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise.
+                                          type: boolean
+                                        addressRange:
+                                          description: |
+                                            An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present.
+                                          type: object
+                                          required:
+                                            - minAddress
+                                            - maxAddress
+                                          properties:
+                                            minAddress:
+                                              description: |
+                                                An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                              type: string
+                                              format: IP
+                                            maxAddress:
+                                              description: |
+                                                An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                              type: string
+                                              format: IP
+                                        subnetId:
+                                          description: |
+                                            An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                          type: string
+                                          format: IP
+                        extLinkPortId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                  extVirtualLinkInfo:
+                    description: |
+                      Information about the external VLs the VNF instance is connected to.
+                    type: array
+                    items:
+                      type: object
+                      required:
+                        - id
+                        - resourceHandle
+                      properties:
+                        id:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        resourceHandle:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        extLinkPorts:
+                          description: |
+                            Link ports of this VL.
+                          type: array
+                          items:
+                            description: |
+                              This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.
+                            type: object
+                            required:
+                              - id
+                              - resourceHandle
+                            properties:
+                              id:
+                                description: |
+                                  An identifier with the intention of being globally unique.
+                                type: string
+                              resourceHandle:
+                                required:
+                                  - vimConnectionId
+                                  - resourceId
+                                type: object
+                                description: |
+                                  This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                                properties:
+                                  vimConnectionId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceProviderId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceId:
+                                    description: |
+                                      An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                                    type: string
+                                  vimLevelResourceType:
+                                    description: |
+                                      Type of the resource in the scope of the VIM or the resource provider.
+                                    type: string
+                              cpInstanceId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                  extManagedVirtualLinkInfo:
+                    description: |
+                      External virtual links the VNF instance is connected to.
+                    type: array
+                    items:
+                      type: object
+                      required:
+                        - id
+                        - vnfVirtualLinkDescId
+                      properties:
+                        id:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        vnfVirtualLinkDescId:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        networkResource:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        vnfLinkPorts:
+                          description: |
+                            Link ports of this VL.
+                          type: array
+                          items:
+                            type: object
+                            required:
+                              - id
+                              - resourceHandle
+                            properties:
+                              id:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                              resourceHandle:
+                                required:
+                                  - vimConnectionId
+                                  - resourceId
+                                type: object
+                                description: |
+                                  This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                                properties:
+                                  vimConnectionId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceProviderId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceId:
+                                    description: |
+                                      An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                                    type: string
+                                  vimLevelResourceType:
+                                    description: |
+                                      Type of the resource in the scope of the VIM or the resource provider.
+                                    type: string
+                              cpInstanceId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                  monitoringParameters:
+                    description: |
+                      Active monitoring parameters.
+                    type: array
+                    items:
+                      type: object
+                      required:
+                        - id
+                        - value
+                        - timeStamp
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        name:
+                          description: |
+                            Human readable name of the monitoring parameter, as defined in the VNFD.
+                          type: string
+                        value:
+                          description: |
+                            Value of the monitoring parameter known to the VNFM (e.g. obtained for autoscaling purposes). The type of the "value" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures/Objects)) is assumed to be defined in an external measurement specification.
+                          type: object
+                        timeStamp:
+                          description: |
+                            Represents the point in time when the measurement has been performed, as known to the VNFM. Should be formatted according to ETF RFC 3339.
+                          type: string
+                  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:
+                      description: |
+                        This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.
+                      type: object
+                      required:
+                        - id
+                        - vduId
+                        - computeResource
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        vduId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        computeResource:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        storageResourceIds:
+                          description: |
+                            References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.
+                          type: array
+                          items:
+                            description: |
+                              An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                            type: string
+                        reservationId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        vnfcCpInfo:
+                          description: |
+                            CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise.
+                          type: array
+                          items:
+                            type: object
+                            required:
+                              - id
+                              - cpdId
+                            properties:
+                              id:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                              cpdId:
+                                description: |
+                                  An identifier that is unique within a VNF descriptor.
+                                type: string
+                              vnfExtCpId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                              cpProtocolInfo:
+                                description: |
+                                  Network protocol information for this CP.
+                                type: array
+                                items:
+                                  description: |
+                                    This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.
+                                  required:
+                                    - layerProtocol
+                                  properties:
+                                    layerProtocol:
+                                      description: |
+                                        The identifier of layer(s) and protocol(s) associated to the network address information.  Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.
+                                      type: string
+                                      enum:
+                                        - IP_OVER_ETHERNET
+                                    ipOverEthernet:
+                                      description: |
+                                        This type represents information about a network address that has been assigned.
+                                      type: object
+                                      required:
+                                        - macAddress
+                                      properties:
+                                        macAddress:
+                                          description: |
+                                            A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.
+                                          type: string
+                                          format: MAC
+                                        ipAddresses:
+                                          description: |
+                                            Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet.
+                                          type: array
+                                          items:
+                                            type: object
+                                            required:
+                                              - type
+                                            properties:
+                                              type:
+                                                description: |
+                                                  The type of the IP addresses. Permitted values: IPV4, IPV6.
+                                                type: string
+                                                enum:
+                                                  - IPV4
+                                                  - IPV6
+                                              addresses:
+                                                description: |
+                                                  Fixed addresses assigned (from the subnet defined by "subnetId" if provided).
+                                                type: array
+                                                items:
+                                                  description: |
+                                                    An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                  type: string
+                                                  format: IP
+                                              isDynamic:
+                                                description: |
+                                                  Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise.
+                                                type: boolean
+                                              addressRange:
+                                                description: |
+                                                  An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present.
+                                                type: object
+                                                required:
+                                                  - minAddress
+                                                  - maxAddress
+                                                properties:
+                                                  minAddress:
+                                                    description: |
+                                                      An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                    type: string
+                                                    format: IP
+                                                  maxAddress:
+                                                    description: |
+                                                      An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                    type: string
+                                                    format: IP
+                                              subnetId:
+                                                description: |
+                                                  An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that  consists of groups of zero to four hexadecimal digits, separated by colons.
+                                                type: string
+                                                format: IP
+                              vnfLinkPortId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                        metadata:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+                  virtualLinkResourceInfo:
+                    description: |
+                      Information about the virtualised network resources used by the VLs of the VNF instance.
+                    type: array
+                    items:
+                      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
+                        - vnfVirtualLinkDescId
+                        - networkResource
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        vnfVirtualLinkDescId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        networkResource:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        reservationId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        vnfLinkPorts:
+                          description: |
+                            Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.
+                          type: array
+                          items:
+                            type: object
+                            required:
+                              - id
+                              - resourceHandle
+                            properties:
+                              id:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                              resourceHandle:
+                                required:
+                                  - vimConnectionId
+                                  - resourceId
+                                type: object
+                                description: |
+                                  This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                                properties:
+                                  vimConnectionId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceProviderId:
+                                    description: |
+                                      An identifier with the intention of being globally unique.
+                                    type: string
+                                  resourceId:
+                                    description: |
+                                      An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                                    type: string
+                                  vimLevelResourceType:
+                                    description: |
+                                      Type of the resource in the scope of the VIM or the resource provider.
+                                    type: string
+                              cpInstanceId:
+                                description: |
+                                  An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                                type: string
+                        metadata:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+                  virtualStorageResourceInfo:
+                    description: |
+                      Information on the virtualised storage resource(s) used as storage for the VNF instance.
+                    type: array
+                    items:
+                      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: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        virtualStorageDescId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        storageResource:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        reservationId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        metadata:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+              metadata:
+                description: |
+                  This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                type: object
+              extensions:
+                description: |
+                  This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                type: object
+              _links:
+                description: |
+                  Links to resources related to this resource.
+                type: object
+                required:
+                  - self
+                properties:
+                  self:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  indicators:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  instantiate:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  terminate:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  scale:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  scaleToLevel:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  changeFlavour:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  heal:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  operate:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  changeExtConn:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+        '400':
+          description: |
+            Bad Request
+            If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem.
+             ---
+
+            If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+             ---
+
+            If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code.The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '401':
+          description: |
+            Unauthorized
+            If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '403':
+          description: |
+            Forbidden
+            If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided.  It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '404':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '405':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '406':
+          description: |
+            Not Acceptable
+            If the "Accept" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted in that case.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '409':
+          description: |
+            Conflict
+            The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '500':
+          description: |
+            Internal Server Error
+            If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond withthis response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '503':
+          description: |
+            Service Unavailable
+            If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+  '/vnf_lcm_op_occs/{vnfLcmOpOccId}':
+    parameters:
+      - name: vnfLcmOpOccId
+        description: |
+          Identifier of a VNF lifecycle management operation occurrence. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. It can also be retrieved from the "vnfLcmOpOccId" attribute in the VnfLcmOperationOccurrenceNotification.
+        in: path
+        required: true
+        type: string
+    get:
+      description: |
+        Get Operation Status
+
+        The client can use this method to retrieve status information about a VNF lifecycle management operation occurrence by reading an individual "VNF LCM operation occurrence" resource.
+      tags:
+        - Sol003VnfLcm
+      parameters:
+        - name: Accept
+          description: |
+            Content-Types that are acceptable for the response. Reference: IETF RFC 7231
+          in: header
+          required: true
+          type: string
+        - name: Authorization
+          description: |
+            The authorization token for the request. Reference: IETF RFC 7235
+          in: header
+          required: false
+          type: string
+      responses:
+        '200':
+          description: |
+            OK
+            Information about an individual VNF instance was queried successfully. The response body shall contain status information about a VNF lifecycle management operation occurrence.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              This type represents a VNF lifecycle management operation occurrence.
+            type: object
+            required:
+              - id
+              - operationState
+              - stateEnteredTime
+              - startTime
+              - vnfInstanceId
+              - operation
+              - isAutomaticInvocation
+              - operationParams
+              - isCancelPending
+            properties:
+              id:
+                description: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              operationState:
+                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
+              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: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              grantId:
+                description: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              operation:
+                description: |
+                  Value | Description ------|------------ INSTANTIATE | Represents the "Instantiate VNF" LCM operation.    SCALE | Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation. CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation. TERMINATE | Represents the "Terminate VNF" LCM operation. HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. MODIFY_INFO | Represents the "Modify VNF Information" LCM operation.
+                type: string
+                enum:
+                  - INSTANTIATE
+                  - SCALE
+                  - SCALE_TO_LEVEL
+                  - CHANGE_FLAVOUR
+                  - TERMINATE
+                  - HEAL
+                  - OPERATE
+                  - CHANGE_EXT_CONN
+                  - MODIFY_INFO
+              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: |
+                  This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                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.
+                type: boolean
+              cancelMode:
+                description: |
+                  Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or "ROLLING_BACK" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in "STARTING" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state.  FORCEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or "ROLLING_BACK" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state.  If the VNF LCM operation occurrence is in "STARTING" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state.
+                type: string
+                enum:
+                  - GRACEFUL
+                  - FORCEFUL
+              error:
+                description: |
+                  The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+                type: object
+                required:
+                  - status
+                  - detail
+                properties:
+                  type:
+                    description: |
+                      A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                    type: string
+                    format: URI
+                  title:
+                    description: |
+                      A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                    type: string
+                  status:
+                    description: |
+                      The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                    type: integer
+                  detail:
+                    description: |
+                      A human-readable explanation specific to this occurrence of the problem.
+                    type: string
+                  instance:
+                    description: |
+                      A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                    type: string
+                    format: URI
+              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:
+                      description: |
+                        This type provides information about added, deleted, modified and temporary VNFCs.
+                      type: object
+                      required:
+                        - id
+                        - vduId
+                        - changeType
+                        - computeResource
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        vduId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        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:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        metadata:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+                        affectedVnfcCpIds:
+                          description: |
+                            Identifiers of CP(s) of the VNFC instance that were affected by the change.  Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.
+                          type: array
+                          items:
+                            description: |
+                              An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                            type: string
+                        addedStorageResourceIds:
+                          description: |
+                            References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.
+                          type: array
+                          items:
+                            description: |
+                              An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                            type: string
+                        removedStorageResourceIds:
+                          description: |
+                            References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.
+                          type: array
+                          items:
+                            description: |
+                              An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                            type: string
+                  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:
+                      description: |
+                        This type provides information about added, deleted, modified and temporary VLs.
+                      type: object
+                      required:
+                        - id
+                        - virtualLinkDescId
+                        - changeType
+                        - networkResource
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        virtualLinkDescId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        changeType:
+                          description: |
+                            Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.
+                          type: string
+                          enum:
+                            - ADDED
+                            - REMOVED
+                            - MODIFIED
+                            - TEMPORARY
+                            - LINK_PORT_ADDED
+                            - LINK_PORT_REMOVED
+                        networkResource:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        metadata:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+                  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:
+                      description: |
+                        This type provides information about added, deleted, modified and temporary virtual storage resources.
+                      type: object
+                      required:
+                        - id
+                        - virtualStorageDescId
+                        - changeType
+                        - storageResource
+                      properties:
+                        id:
+                          description: |
+                            An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                          type: string
+                        virtualStorageDescId:
+                          description: |
+                            An identifier that is unique within a VNF descriptor.
+                          type: string
+                        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:
+                          required:
+                            - vimConnectionId
+                            - resourceId
+                          type: object
+                          description: |
+                            This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                          properties:
+                            vimConnectionId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceProviderId:
+                              description: |
+                                An identifier with the intention of being globally unique.
+                              type: string
+                            resourceId:
+                              description: |
+                                An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                              type: string
+                            vimLevelResourceType:
+                              description: |
+                                Type of the resource in the scope of the VIM or the resource provider.
+                              type: string
+                        metadata:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+              changedInfo:
+                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".
+                    type: string
+                  vnfInstanceDescription:
+                    description: |
+                      If present, this attribute signals modifications of the "vnfInstanceDescription" attribute in "VnfInstance".
+                    type: string
+                  vnfConfigurableProperties:
+                    description: |
+                      This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                    type: object
+                  metadata:
+                    description: |
+                      This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                    type: object
+                  extensions:
+                    description: |
+                      This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                    type: object
+                  vimConnectionInfo:
+                    description: |
+                      If present, this attribute signals modifications of certain entries in the "vimConnectionInfo" attribute array in "VnfInstance".
+                    type: array
+                    items:
+                      description: |
+                        This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.
+                      type: object
+                      required:
+                        - id
+                        - vimType
+                      properties:
+                        id:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        vimId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        vimType:
+                          description: |
+                            Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.
+                          type: string
+                        interfaceInfo:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+                        accessInfo:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+                        extra:
+                          description: |
+                            This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions  defined in clause 4 of IETF RFC 7159.
+                          type: object
+                  vnfPkgId:
+                    description: |
+                      An identifier with the intention of being globally unique.
+                    type: string
+                  vnfdId:
+                    description: |
+                      An identifier with the intention of being globally unique.
+                    type: string
+                  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.
+                    type: 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.
+                    type: string
+                  vnfSoftwareVersion:
+                    description: |
+                      A Version.
+                    type: string
+                  vnfdVersion:
+                    description: |
+                      A Version.
+                    type: string
+              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:
+                  type: object
+                  required:
+                    - id
+                    - resourceHandle
+                  properties:
+                    id:
+                      description: |
+                        An identifier with the intention of being globally unique.
+                      type: string
+                    resourceHandle:
+                      required:
+                        - vimConnectionId
+                        - resourceId
+                      type: object
+                      description: |
+                        This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                      properties:
+                        vimConnectionId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        resourceProviderId:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                        resourceId:
+                          description: |
+                            An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                          type: string
+                        vimLevelResourceType:
+                          description: |
+                            Type of the resource in the scope of the VIM or the resource provider.
+                          type: string
+                    extLinkPorts:
+                      description: |
+                        Link ports of this VL.
+                      type: array
+                      items:
+                        description: |
+                          This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.
+                        type: object
+                        required:
+                          - id
+                          - resourceHandle
+                        properties:
+                          id:
+                            description: |
+                              An identifier with the intention of being globally unique.
+                            type: string
+                          resourceHandle:
+                            required:
+                              - vimConnectionId
+                              - resourceId
+                            type: object
+                            description: |
+                              This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.
+                            properties:
+                              vimConnectionId:
+                                description: |
+                                  An identifier with the intention of being globally unique.
+                                type: string
+                              resourceProviderId:
+                                description: |
+                                  An identifier with the intention of being globally unique.
+                                type: string
+                              resourceId:
+                                description: |
+                                  An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.
+                                type: string
+                              vimLevelResourceType:
+                                description: |
+                                  Type of the resource in the scope of the VIM or the resource provider.
+                                type: string
+                          cpInstanceId:
+                            description: |
+                              An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.
+                            type: string
+              _links:
+                description: |
+                  Links to resources related to this resource.
+                type: object
+                required:
+                  - self
+                  - vnfInstance
+                properties:
+                  self:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  vnfInstance:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  grant:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  cancel:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  retry:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  rollback:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+                  fail:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+        '400':
+          description: |
+            Bad Request
+            If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem.
+             ---
+
+            If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+             ---
+
+            If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code.The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '401':
+          description: |
+            Unauthorized
+            If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '403':
+          description: |
+            Forbidden
+            If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided.  It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '404':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '405':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '406':
+          description: |
+            Not Acceptable
+            If the "Accept" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted in that case.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '409':
+          description: |
+            Conflict
+            Another request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '500':
+          description: |
+            Internal Server Error
+            If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond withthis response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '503':
+          description: |
+            Service Unavailable
+            If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+  /subscriptions:
+    post:
+      description: |
+        Subscribe
+
+        The POST method creates a new subscription. Creation of two subscription resources with the same callbackURI and the same filter can result in performance degradation and will provide duplicates of notifications to the NFVO, and might make sense only in very rare use cases. Consequently, the VNFM may either allow creating a subscription resource if another subscription resource with the same filter and callbackUri already exists (in which case it shall return the “201 Created” response code), or may decide to not create a duplicate subscription resource (in which case it shall return a “303 See Other” response code referencing the existing subscription resource with the same filter and callbackUri).
+      tags:
+        - Sol003VnfLcm
+      parameters:
+        - name: LccnSubscriptionRequest
+          description: |
+            Details of the subscription to be created.
+          in: body
+          required: true
+          schema:
+            description: |
+              This type represents a subscription request related to notifications about VNF lifecycle changes.
+            type: object
+            required:
+              - callbackUri
+            properties:
+              filter:
+                description: |
+                  This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical "and" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical "or" between the values of one filter attribute).
+                type: object
+                properties:
+                  vnfInstanceSubscriptionFilter:
+                    description: |
+                      This type represents subscription filter criteria to match VNF instances.
+                    type: object
+                    properties:
+                      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:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                  notificationTypes:
+                    description: |
+                      Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the "notificationTypes" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.
+                    type: array
+                    items:
+                      type: string
+                      enum:
+                        - VnfLcmOperationOccurrenceNotification
+                        - VnfIdentifierCreationNotification
+                        - VnfIdentifierDeletionNotification
+                  operationTypes:
+                    description: |
+                      Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise.
+                    type: array
+                    items:
+                      description: |
+                        Value | Description ------|------------ INSTANTIATE | Represents the "Instantiate VNF" LCM operation.    SCALE | Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation. CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation. TERMINATE | Represents the "Terminate VNF" LCM operation. HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. MODIFY_INFO | Represents the "Modify VNF Information" LCM operation.
+                      type: string
+                      enum:
+                        - INSTANTIATE
+                        - TERMINATE
+                  operationStates:
+                    description: |
+                      Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise.
+                    type: array
+                    items:
+                      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
+              callbackUri:
+                description: |
+                  String formatted according to IETF RFC 3986.
+                type: string
+              authentication:
+                type: object
+                required:
+                  - authType
+                properties:
+                  authType:
+                    description: |
+                      Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use  HTTP Basic authentication with the client credentials. 
+                      * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the  notification endpoint, use an OAuth 2.0 Bearer token, obtained
+                        using the client credentials grant type.
+                      * TLS_CERT: Every HTTP request to the notification endpoint is sent  over a mutually authenticated TLS session, i.e. not only the
+                        server is authenticated, but also the client is authenticated
+                        during the TLS tunnel setup.
+                    type: array
+                    items:
+                      type: string
+                      enum:
+                        - BASIC
+                        - OAUTH2_CLIENT_CREDENTIALS
+                        - TLS_CERT
+                  paramsBasic:
+                    description: |
+                      Parameters for authentication/authorization using BASIC. Shall be present if authType is "BASIC" and the contained information has not been provisioned out of band. Shall be absent otherwise.
+                    type: object
+                    properties:
+                      userName:
+                        description: |
+                          Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.
+                        type: string
+                      password:
+                        description: |
+                          Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.
+                        type: string
+                  paramsOauth2ClientCredentials:
+                    description: |
+                      Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is "OAUTH2_CLIENT_CREDENTIALS" and the contained information has not been provisioned out of band. Shall be absent otherwise.
+                    type: object
+                    properties:
+                      clientId:
+                        description: |
+                          Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type.  Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.
+                        type: string
+                      clientPassword:
+                        description: |
+                          Client password to be used in the access token request of the OAuth 2.0 client credentials grant type.  Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.
+                        type: string
+                      tokenEndpoint:
+                        description: |
+                          String formatted according to IETF RFC 3986.
+                        type: string
+        - name: Accept
+          description: |
+            Content-Types that are acceptable for the response. Reference: IETF RFC 7231
+          in: header
+          required: true
+          type: string
+        - name: Authorization
+          description: |
+            The authorization token for the request. Reference: IETF RFC 7235
+          in: header
+          required: false
+          type: string
+        - name: Content-Type
+          description: |
+            The MIME type of the body of the request. Reference: IETF RFC 7231
+          in: header
+          required: true
+          type: string
+      responses:
+        '201':
+          description: |
+            Created
+            The subscription was created successfully. The response body shall contain a representation of the created subscription resource. The HTTP response shall include a "Location" HTTP header that points to the created subscription resource.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            Location:
+              description: The resource URI of the created VNF instance
+              type: string
+              format: url
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              This type represents a subscription related to notifications about VNF lifecycle changes.
+            type: object
+            required:
+              - id
+              - callbackUri
+              - _links
+            properties:
+              id:
+                description: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              filter:
+                description: |
+                  This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical "and" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical "or" between the values of one filter attribute).
+                type: object
+                properties:
+                  vnfInstanceSubscriptionFilter:
+                    description: |
+                      This type represents subscription filter criteria to match VNF instances.
+                    type: object
+                    properties:
+                      vnfdIds:
+                        description: |
+                          If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes "vnfdIds" and "vnfProductsFromProviders" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.
+                        type: array
+                        items:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                      vnfProductsFromProviders:
+                        description: |
+                          If present, match VNF instances that belong to VNF products from certain providers. The attributes "vnfdIds" and "vnfProductsFromProviders" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.
+                        type: array
+                        items:
+                          type: object
+                          required:
+                            - vnfProvider
+                          properties:
+                            vnfProvider:
+                              description: |
+                                Name of the VNF provider to match.
+                              type: string
+                            vnfProducts:
+                              description: |
+                                If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.
+                              type: array
+                              items:
+                                type: object
+                                required:
+                                  - vnfProductName
+                                properties:
+                                  vnfProductName:
+                                    description: |
+                                      Name of the VNF product to match.
+                                    type: string
+                                  versions:
+                                    description: |
+                                      If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.
+                                    type: array
+                                    items:
+                                      type: object
+                                      required:
+                                        - vnfSoftwareVersion
+                                      properties:
+                                        vnfSoftwareVersion:
+                                          description: |
+                                            A version.
+                                          type: string
+                                        vnfdVersions:
+                                          description: |
+                                            If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.
+                                          type: array
+                                          items:
+                                            description: |
+                                              A version.
+                                            type: string
+                      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:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                      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
+                  notificationTypes:
+                    description: |
+                      Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the "notificationTypes" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.
+                    type: array
+                    items:
+                      type: string
+                      enum:
+                        - VnfLcmOperationOccurrenceNotification
+                        - VnfIdentifierCreationNotification
+                        - VnfIdentifierDeletionNotification
+                  operationTypes:
+                    description: |
+                      Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise.
+                    type: array
+                    items:
+                      description: |
+                        Value | Description ------|------------ INSTANTIATE | Represents the "Instantiate VNF" LCM operation.    SCALE | Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation. CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation. TERMINATE | Represents the "Terminate VNF" LCM operation. HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. MODIFY_INFO | Represents the "Modify VNF Information" LCM operation.
+                      type: string
+                      enum:
+                        - INSTANTIATE
+                        - SCALE
+                        - SCALE_TO_LEVEL
+                        - CHANGE_FLAVOUR
+                        - TERMINATE
+                        - HEAL
+                        - OPERATE
+                        - CHANGE_EXT_CONN
+                        - MODIFY_INFO
+                  operationStates:
+                    description: |
+                      Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise.
+                    type: array
+                    items:
+                      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
+              callbackUri:
+                description: |
+                  String formatted according to IETF RFC 3986.
+                type: string
+              _links:
+                description: |
+                  Links to resources related to this resource.
+                type: object
+                required:
+                  - self
+                properties:
+                  self:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+        '303':
+          description: |
+            See Other
+            A subscription with the same callbackURI and the same filter already exists and the policy of the VNFM is to not create redundant subscriptions. The HTTP response shall include a "Location" HTTP header that contains the resource URI of the existing subscription resource. The response body shall be empty.
+          headers:
+            Location:
+              description: The resource URI of the created VNF instance
+              type: string
+              format: url
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+        '400':
+          description: |
+            Bad Request
+            If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem.
+             ---
+
+            If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+             ---
+
+            If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code.The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '401':
+          description: |
+            Unauthorized
+            If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '403':
+          description: |
+            Forbidden
+            If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided.  It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '404':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '405':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '406':
+          description: |
+            Not Acceptable
+            If the "Accept" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted in that case.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '500':
+          description: |
+            Internal Server Error
+            If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond withthis response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '503':
+          description: |
+            Service Unavailable
+            If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+    get:
+      description: |
+        Query Subscription Information
+
+        The GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations.
+      tags:
+        - Sol003VnfLcm
+      parameters:
+        - name: Accept
+          description: |
+            Content-Types that are acceptable for the response. Reference: IETF RFC 7231
+          in: header
+          required: true
+          type: string
+        - name: Authorization
+          description: |
+            The authorization token for the request. Reference: IETF RFC 7235
+          in: header
+          required: false
+          type: string
+      responses:
+        '200':
+          description: |
+            OK
+            The list of subscriptions was queried successfully. The response body shall contain the representations of all active subscriptions of the functional block that invokes the method.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              This type represents a subscription related to notifications about VNF lifecycle changes.
+            type: object
+            required:
+              - id
+              - callbackUri
+              - _links
+            properties:
+              id:
+                description: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              filter:
+                description: |
+                  This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical "and" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical "or" between the values of one filter attribute).
+                type: object
+                properties:
+                  vnfInstanceSubscriptionFilter:
+                    description: |
+                      This type represents subscription filter criteria to match VNF instances.
+                    type: object
+                    properties:
+                      vnfdIds:
+                        description: |
+                          If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes "vnfdIds" and "vnfProductsFromProviders" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.
+                        type: array
+                        items:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                      vnfProductsFromProviders:
+                        description: |
+                          If present, match VNF instances that belong to VNF products from certain providers. The attributes "vnfdIds" and "vnfProductsFromProviders" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.
+                        type: array
+                        items:
+                          type: object
+                          required:
+                            - vnfProvider
+                          properties:
+                            vnfProvider:
+                              description: |
+                                Name of the VNF provider to match.
+                              type: string
+                            vnfProducts:
+                              description: |
+                                If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.
+                              type: array
+                              items:
+                                type: object
+                                required:
+                                  - vnfProductName
+                                properties:
+                                  vnfProductName:
+                                    description: |
+                                      Name of the VNF product to match.
+                                    type: string
+                                  versions:
+                                    description: |
+                                      If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.
+                                    type: array
+                                    items:
+                                      type: object
+                                      required:
+                                        - vnfSoftwareVersion
+                                      properties:
+                                        vnfSoftwareVersion:
+                                          description: |
+                                            A version.
+                                          type: string
+                                        vnfdVersions:
+                                          description: |
+                                            If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.
+                                          type: array
+                                          items:
+                                            description: |
+                                              A version.
+                                            type: string
+                      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:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                      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
+                  notificationTypes:
+                    description: |
+                      Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the "notificationTypes" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.
+                    type: array
+                    items:
+                      type: string
+                      enum:
+                        - VnfLcmOperationOccurrenceNotification
+                        - VnfIdentifierCreationNotification
+                        - VnfIdentifierDeletionNotification
+                  operationTypes:
+                    description: |
+                      Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise.
+                    type: array
+                    items:
+                      description: |
+                        Value | Description ------|------------ INSTANTIATE | Represents the "Instantiate VNF" LCM operation.    SCALE | Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation. CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation. TERMINATE | Represents the "Terminate VNF" LCM operation. HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. MODIFY_INFO | Represents the "Modify VNF Information" LCM operation.
+                      type: string
+                      enum:
+                        - INSTANTIATE
+                        - SCALE
+                        - SCALE_TO_LEVEL
+                        - CHANGE_FLAVOUR
+                        - TERMINATE
+                        - HEAL
+                        - OPERATE
+                        - CHANGE_EXT_CONN
+                        - MODIFY_INFO
+                  operationStates:
+                    description: |
+                      Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise.
+                    type: array
+                    items:
+                      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
+              callbackUri:
+                description: |
+                  String formatted according to IETF RFC 3986.
+                type: string
+              _links:
+                description: |
+                  Links to resources related to this resource.
+                type: object
+                required:
+                  - self
+                properties:
+                  self:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+        '400':
+          description: |
+            Bad Request
+            Invalid attribute-based filtering parameters. The response body shall contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '401':
+          description: |
+            Unauthorized
+            If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '403':
+          description: |
+            Forbidden
+            If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided.  It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '404':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '405':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '406':
+          description: |
+            Not Acceptable
+            If the "Accept" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted in that case.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '500':
+          description: |
+            Internal Server Error
+            If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond withthis response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '503':
+          description: |
+            Service Unavailable
+            If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+  '/subscriptions/{subscriptionId}':
+    parameters:
+      - name: subscriptionId
+        description: |
+          Identifier of this subscription. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the "id" attribute in the payload body of that response.
+        in: path
+        type: string
+        required: true
+    get:
+      description: |
+        Query Subscription Information
+
+        The GET method retrieves information about a subscription by reading an individual subscription resource.
+      tags:
+        - Sol003VnfLcm
+      parameters:
+        - name: Accept
+          description: |
+            Content-Types that are acceptable for the response. Reference: IETF RFC 7231
+          in: header
+          required: true
+          type: string
+        - name: Authorization
+          description: |
+            The authorization token for the request. Reference: IETF RFC 7235
+          in: header
+          required: false
+          type: string
+      responses:
+        '200':
+          description: |
+            OK
+            The operation has completed successfully. The response body shall contain a representation of the subscription resource.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              This type represents a subscription related to notifications about VNF lifecycle changes.
+            type: object
+            required:
+              - id
+              - callbackUri
+              - _links
+            properties:
+              id:
+                description: |
+                  An identifier with the intention of being globally unique.
+                type: string
+              filter:
+                description: |
+                  This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical "and" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical "or" between the values of one filter attribute).
+                type: object
+                properties:
+                  vnfInstanceSubscriptionFilter:
+                    description: |
+                      This type represents subscription filter criteria to match VNF instances.
+                    type: object
+                    properties:
+                      vnfdIds:
+                        description: |
+                          If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes "vnfdIds" and "vnfProductsFromProviders" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.
+                        type: array
+                        items:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                      vnfProductsFromProviders:
+                        description: |
+                          If present, match VNF instances that belong to VNF products from certain providers. The attributes "vnfdIds" and "vnfProductsFromProviders" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.
+                        type: array
+                        items:
+                          type: object
+                          required:
+                            - vnfProvider
+                          properties:
+                            vnfProvider:
+                              description: |
+                                Name of the VNF provider to match.
+                              type: string
+                            vnfProducts:
+                              description: |
+                                If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.
+                              type: array
+                              items:
+                                type: object
+                                required:
+                                  - vnfProductName
+                                properties:
+                                  vnfProductName:
+                                    description: |
+                                      Name of the VNF product to match.
+                                    type: string
+                                  versions:
+                                    description: |
+                                      If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.
+                                    type: array
+                                    items:
+                                      type: object
+                                      required:
+                                        - vnfSoftwareVersion
+                                      properties:
+                                        vnfSoftwareVersion:
+                                          description: |
+                                            A version.
+                                          type: string
+                                        vnfdVersions:
+                                          description: |
+                                            If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.
+                                          type: array
+                                          items:
+                                            description: |
+                                              A version.
+                                            type: string
+                      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:
+                          description: |
+                            An identifier with the intention of being globally unique.
+                          type: string
+                      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
+                  notificationTypes:
+                    description: |
+                      Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the "notificationTypes" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.
+                    type: array
+                    items:
+                      type: string
+                      enum:
+                        - VnfLcmOperationOccurrenceNotification
+                        - VnfIdentifierCreationNotification
+                        - VnfIdentifierDeletionNotification
+                  operationTypes:
+                    description: |
+                      Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise.
+                    type: array
+                    items:
+                      description: |
+                        Value | Description ------|------------ INSTANTIATE | Represents the "Instantiate VNF" LCM operation.    SCALE | Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation. CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation. TERMINATE | Represents the "Terminate VNF" LCM operation. HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. MODIFY_INFO | Represents the "Modify VNF Information" LCM operation.
+                      type: string
+                      enum:
+                        - INSTANTIATE
+                        - SCALE
+                        - SCALE_TO_LEVEL
+                        - CHANGE_FLAVOUR
+                        - TERMINATE
+                        - HEAL
+                        - OPERATE
+                        - CHANGE_EXT_CONN
+                        - MODIFY_INFO
+                  operationStates:
+                    description: |
+                      Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise.
+                    type: array
+                    items:
+                      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
+              callbackUri:
+                description: |
+                  String formatted according to IETF RFC 3986.
+                type: string
+              _links:
+                description: |
+                  Links to resources related to this resource.
+                type: object
+                required:
+                  - self
+                properties:
+                  self:
+                    description: |
+                      This type represents a link to a resource.
+                    type: object
+                    required:
+                      - href
+                    properties:
+                      href:
+                        description: |
+                          URI of the referenced resource.
+                        type: string
+                        format: url
+        '400':
+          description: |
+            Bad Request
+            If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem.
+             ---
+
+            If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+             ---
+
+            If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code.The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '401':
+          description: |
+            Unauthorized
+            If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '403':
+          description: |
+            Forbidden
+            If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided.  It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '404':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '405':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '406':
+          description: |
+            Not Acceptable
+            If the "Accept" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted in that case.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '500':
+          description: |
+            Internal Server Error
+            If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond withthis response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '503':
+          description: |
+            Service Unavailable
+            If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+    delete:
+      description: |
+        Terminate Subscription
+
+        The DELETE method terminates an individual subscription.
+      tags:
+        - Sol003VnfLcm
+      parameters:
+        - name: Authorization
+          description: |
+            The authorization token for the request. Reference: IETF RFC 7235
+          in: header
+          required: false
+          type: string
+      responses:
+        '204':
+          description: |
+            No Content
+            The subscription resource was deleted successfully. The response body shall be empty.
+          headers:
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+        '400':
+          description: |
+            Bad Request
+            If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or a syntactically incorrect payload body), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem.
+             ---
+
+            If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+             ---
+
+            If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code.The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '401':
+          description: |
+            Unauthorized
+            If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+            WWW-Authenticate:
+              description: |
+                Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
+              type: string
+              maximum: 1
+              minimum: 0
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '403':
+          description: |
+            Forbidden
+            If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided.  It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '404':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  Specifically in case of this task resource, the reason can also be that the task is not supported for the VNF LCM operation occurrence represented by the parent resource, and that the task resource consequently does not exist. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the sourceof the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '405':
+          description: |
+            Not Found
+            If the API producer did not find a current representation for the resource addressed by the URI passed in the request, or is not willing to disclose that one exists, it shall respond with this response code.  The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '406':
+          description: |
+            Not Acceptable
+            If the "Accept" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted in that case.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '500':
+          description: |
+            Internal Server Error
+            If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond withthis response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+        '503':
+          description: |
+            Service Unavailable
+            If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 [13] for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted.
+          headers:
+            Content-Type:
+              description: The MIME type of the body of the response.
+              type: string
+              maximum: 1
+              minimum: 1
+          schema:
+            description: |
+              The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].
+            type: object
+            required:
+              - status
+              - detail
+            properties:
+              type:
+                description: |
+                  A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank".
+                type: string
+                format: URI
+              title:
+                description: |
+                  A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type.  It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).
+                type: string
+              status:
+                description: |
+                  The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
+                type: integer
+              detail:
+                description: |
+                  A human-readable explanation specific to this occurrence of the problem.
+                type: string
+              instance:
+                description: |
+                  A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
+                type: string
+                format: URI
+
