diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-adapter-ext-clients/pom.xml b/adapters/mso-vnfm-adapter/mso-vnfm-adapter-ext-clients/pom.xml
index 0cf1ce7..8e5deaf 100644
--- a/adapters/mso-vnfm-adapter/mso-vnfm-adapter-ext-clients/pom.xml
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-adapter-ext-clients/pom.xml
@@ -11,7 +11,76 @@
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <swagger-core-version>1.5.15</swagger-core-version>
+        <okhttp-version>2.7.5</okhttp-version>
+        <gson-fire-version>1.8.2</gson-fire-version>
+        <threetenbp-version>1.3.5</threetenbp-version>
     </properties>
     <name>mso-vnfm-adapter-ext-clients</name>
     <description>Clients for the vnfm adpater to use towards REST endpoints which are external to the VNFM adapter/</description>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.swagger</groupId>
+                <artifactId>swagger-codegen-maven-plugin</artifactId>
+                <version>2.3.1</version>
+                <executions>
+                    <execution>
+                        <id>sol003-vnf-lcm-api</id>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                        <configuration>
+                            <inputSpec>${basedir}/src/main/resources/SOL003-VNFLifecycleManagement-API.json</inputSpec>
+                            <language>java</language>
+                            <library>okhttp-gson</library>
+                            <output>${project.build.directory}/generated-sources/sol003-vnf-lcm</output>
+                            <apiPackage>org.onap.so.adapters.vnfmadapter.extclients.vnfm.api</apiPackage>
+                            <modelPackage>org.onap.so.adapters.vnfmadapter.extclients.vnfm.model</modelPackage>
+                            <configOptions>
+                                <jackson>true</jackson>
+                                <sourceFolder>src/gen/java/main</sourceFolder>
+                                <withXml>true</withXml>
+                                <useRxJava2>true</useRxJava2>
+                                <serializableModel>true</serializableModel>
+                            </configOptions>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
+        <dependency>
+            <groupId>io.swagger</groupId>
+            <artifactId>swagger-annotations</artifactId>
+            <version>${swagger-core-version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.squareup.okhttp</groupId>
+            <artifactId>okhttp</artifactId>
+            <version>${okhttp-version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.squareup.okhttp</groupId>
+            <artifactId>logging-interceptor</artifactId>
+            <version>${okhttp-version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.google.code.gson</groupId>
+            <artifactId>gson</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.gsonfire</groupId>
+            <artifactId>gson-fire</artifactId>
+            <version>${gson-fire-version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.threeten</groupId>
+            <artifactId>threetenbp</artifactId>
+            <version>${threetenbp-version}</version>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-adapter-ext-clients/src/main/resources/SOL003-VNFLifecycleManagement-API.json b/adapters/mso-vnfm-adapter/mso-vnfm-adapter-ext-clients/src/main/resources/SOL003-VNFLifecycleManagement-API.json
new file mode 100644
index 0000000..2bc25a2
--- /dev/null
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-adapter-ext-clients/src/main/resources/SOL003-VNFLifecycleManagement-API.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/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/pom.xml b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/pom.xml
index 2e1fc97..d932c4e 100644
--- a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/pom.xml
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/pom.xml
@@ -81,5 +81,31 @@
             <artifactId>mso-vnfm-adapter-api</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.onap.so.adapters</groupId>
+            <artifactId>mso-vnfm-adapter-ext-clients</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.core</groupId>
+            <artifactId>jersey-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.core</groupId>
+            <artifactId>jersey-common</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.core</groupId>
+            <artifactId>jersey-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.inject</groupId>
+            <artifactId>jersey-hk2</artifactId>
+            <version>2.26</version>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-json-jackson</artifactId>
+        </dependency>
     </dependencies>
 </project>
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/VnfmAdapterApplication.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/VnfmAdapterApplication.java
index 024e936..d7021e7 100755
--- a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/VnfmAdapterApplication.java
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/VnfmAdapterApplication.java
@@ -29,8 +29,9 @@
 /**
  * The spring boot application for the VNFM (Virtual Network Function Manager) Adapter.
  * <p>
- * The VNFM Adapter receives requests through its REST API {@link VnfmAdapterController} which it adapts
- * into ETSI SOL003 compliant LCM (Life Cycle Management) calls towards an ETSI compliant VNFM.
+ * The VNFM Adapter receives requests through its REST API {@link VnfmAdapterController} which it
+ * adapts into ETSI SOL003 compliant LCM (Life Cycle Management) calls towards an ETSI compliant
+ * VNFM.
  *
  * @see <a href=
  *      "https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.05.01_60/gs_nfv-sol003v020501p.pdf">ETSI
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiClientProvider.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiClientProvider.java
new file mode 100644
index 0000000..674314d
--- /dev/null
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiClientProvider.java
@@ -0,0 +1,34 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.adapters.vnfmadapter.extclients.aai;
+
+import org.onap.so.client.aai.AAIResourcesClient;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class AaiClientProvider {
+
+    @Bean
+    public AAIResourcesClient getAaiClient() {
+        return new AAIResourcesClient();
+    }
+}
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiHelper.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiHelper.java
new file mode 100644
index 0000000..043d2d3
--- /dev/null
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiHelper.java
@@ -0,0 +1,152 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.adapters.vnfmadapter.extclients.aai;
+
+import java.util.Collections;
+import org.onap.aai.domain.yang.EsrSystemInfo;
+import org.onap.aai.domain.yang.EsrSystemInfoList;
+import org.onap.aai.domain.yang.EsrVnfm;
+import org.onap.aai.domain.yang.EsrVnfmList;
+import org.onap.aai.domain.yang.GenericVnf;
+import org.onap.aai.domain.yang.Relationship;
+import org.onap.aai.domain.yang.RelationshipData;
+import org.onap.aai.domain.yang.RelationshipList;
+import org.onap.so.adapters.vnfmadapter.rest.exceptions.VnfmNotFoundException;
+import org.onap.so.client.aai.AAIObjectType;
+import org.onap.so.client.aai.AAIVersion;
+import org.onap.so.client.aai.entities.uri.AAIUriFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * Provides helper methods for interactions with AAI.
+ */
+@Service
+public class AaiHelper {
+
+    private static final Logger logger = LoggerFactory.getLogger(AaiHelper.class);
+    private final AaiServiceProvider aaiServiceProvider;
+
+    @Autowired
+    public AaiHelper(final AaiServiceProvider aaiServiceProvider) {
+        this.aaiServiceProvider = aaiServiceProvider;
+    }
+
+    /**
+     * Add a relationship to the given generic VNF to the given VNFM.
+     *
+     * @param vnf the generic VNF
+     * @param vnfmId the ID of the VNFM
+     */
+    public void addRelationshipFromGenericVnfToVnfm(final GenericVnf vnf, final String vnfmId) {
+        if (vnf.getRelationshipList() == null) {
+            vnf.setRelationshipList(new RelationshipList());
+        }
+        final RelationshipList vnfmRelationshiplist = vnf.getRelationshipList();
+        vnfmRelationshiplist.getRelationship().add(createRelationshipToVnfm(vnfmId));
+
+        aaiServiceProvider.invokePutGenericVnf(vnf);
+    }
+
+    private Relationship createRelationshipToVnfm(final String vnfmId) {
+        final Relationship relationship = new Relationship();
+        relationship.setRelatedTo("esr-vnfm");
+        relationship.setRelationshipLabel("tosca.relationships.DependsOn");
+        relationship.setRelatedLink("/aai/" + AAIVersion.LATEST
+                + AAIUriFactory.createResourceUri(AAIObjectType.VNFM, vnfmId).build().toString());
+        relationship.getRelationshipData().add(createRelationshipData("esr-vnfm.vnfm-id", vnfmId));
+        return relationship;
+    }
+
+    private RelationshipData createRelationshipData(final String key, final String value) {
+        final RelationshipData data = new RelationshipData();
+        data.setRelationshipKey(key);
+        data.setRelationshipValue(value);
+        return data;
+    }
+
+    /**
+     * Get the VNFM assigned for use for the given generic VNF.
+     *
+     * @param vnf the generic VNF
+     * @return the VNFM to use, or <code>null</code> if no VNFM has been assigned yet
+     */
+    public EsrVnfm getAssignedVnfm(final GenericVnf vnf) {
+        for (final Relationship relationship : vnf.getRelationshipList() == null ? Collections.<Relationship>emptyList()
+                : vnf.getRelationshipList().getRelationship()) {
+            if ("esr-vnfm".equals(relationship.getRelatedTo())) {
+                return getRelatedVnfmId(relationship);
+            }
+        }
+        return null;
+    }
+
+    private EsrVnfm getRelatedVnfmId(final Relationship relationship) {
+        for (final RelationshipData relationshipData : relationship.getRelationshipData()) {
+            if ("esr-vnfm.vnfm-id".equals(relationshipData.getRelationshipKey())) {
+                logger.debug("VNFM URL from GenericVnf relataionship: " + relationshipData.getRelationshipValue());
+                return aaiServiceProvider.invokeGetVnfm(relationshipData.getRelationshipValue());
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Select a VNFM to use for the given generic VNF. Should only be used when no VNFM has already been
+     * assigned to the VNF.
+     *
+     * @param vnf the generic VNF
+     * @return the VNFM to use
+     */
+    public EsrVnfm selectVnfm(final GenericVnf vnf) {
+        final EsrVnfmList vnfmsInEsr = aaiServiceProvider.invokeGetVnfms();
+
+        if (vnfmsInEsr == null) {
+            throw new VnfmNotFoundException("No VNFMs found in AAI ESR");
+        }
+        logger.debug("VNFMs in ESR: " + vnfmsInEsr);
+
+        for (final EsrVnfm vnfm : vnfmsInEsr.getEsrVnfm()) {
+            if (vnfmHasMatchingEsrSystemInfoType(vnfm, vnf.getNfType())) {
+                return vnfm;
+            }
+        }
+        throw new VnfmNotFoundException("No matching VNFM found in AAI ESR");
+    }
+
+    private boolean vnfmHasMatchingEsrSystemInfoType(final EsrVnfm vnfm, final String type) {
+        logger.debug("Checking VNFM ID: " + vnfm + ": " + vnfm.getVnfmId());
+
+        final EsrSystemInfoList systemInfolist = aaiServiceProvider.invokeGetVnfmEsrSystemInfoList(vnfm.getVnfmId());
+        if (systemInfolist != null) {
+            for (final EsrSystemInfo esrSystemInfo : systemInfolist.getEsrSystemInfo()) {
+                if (esrSystemInfo.getType().equals(type)) {
+                    logger.debug("Matched VNFM ID: " + vnfm + ", based on type");
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+}
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiPropertiesImpl.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiPropertiesImpl.java
new file mode 100644
index 0000000..ea12c5a
--- /dev/null
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiPropertiesImpl.java
@@ -0,0 +1,68 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.adapters.vnfmadapter.extclients.aai;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import org.onap.so.client.aai.AAIProperties;
+import org.onap.so.client.aai.AAIVersion;
+import org.onap.so.spring.SpringContextHelper;
+import org.springframework.context.ApplicationContext;
+
+public class AaiPropertiesImpl implements AAIProperties {
+
+    private final String endpoint;
+    private final String encryptedBasicAuth;
+    private final String encrytptionKey;
+
+    public AaiPropertiesImpl() {
+
+        final ApplicationContext context = SpringContextHelper.getAppContext();
+        this.endpoint = context.getEnvironment().getProperty("aai.endpoint");
+        this.encryptedBasicAuth = context.getEnvironment().getProperty("aai.auth");
+        this.encrytptionKey = context.getEnvironment().getProperty("mso.key");
+    }
+
+    @Override
+    public URL getEndpoint() throws MalformedURLException {
+        return new URL(endpoint);
+    }
+
+    @Override
+    public String getSystemName() {
+        return "MSO";
+    }
+
+    @Override
+    public AAIVersion getDefaultVersion() {
+        return AAIVersion.LATEST;
+    }
+
+    @Override
+    public String getAuth() {
+        return encryptedBasicAuth;
+    }
+
+    @Override
+    public String getKey() {
+        return encrytptionKey;
+    }
+}
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiServiceProvider.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiServiceProvider.java
new file mode 100644
index 0000000..b8f0706
--- /dev/null
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiServiceProvider.java
@@ -0,0 +1,72 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.adapters.vnfmadapter.extclients.aai;
+
+import org.onap.aai.domain.yang.EsrSystemInfoList;
+import org.onap.aai.domain.yang.EsrVnfm;
+import org.onap.aai.domain.yang.EsrVnfmList;
+import org.onap.aai.domain.yang.GenericVnf;
+
+/**
+ * Provides methods for invoking REST calls to AAI.
+ */
+public interface AaiServiceProvider {
+
+    /**
+     * Invoke a get request for a generic VNF.
+     *
+     * @param vnfId the VNF id
+     * @return the generic VNF
+     */
+    GenericVnf invokeGetGenericVnf(final String vnfId);
+
+    /**
+     * Invoke a GET request for the VNFMs.
+     *
+     * @return the VNFMs
+     */
+    EsrVnfmList invokeGetVnfms();
+
+    /**
+     * Invoke a GET request for the esr system info list for a VNFM.
+     *
+     * @return the esr system info list for the VNFM
+     */
+    EsrSystemInfoList invokeGetVnfmEsrSystemInfoList(final String vnfmId);
+
+
+    /**
+     * Invoke a GET request for the a VNFM.
+     *
+     * @param vnfmId the ID of the VNFM
+     * @return the VNFM
+     */
+    EsrVnfm invokeGetVnfm(final String vnfmId);
+
+    /**
+     * Invoke a PUT request for a generic vnf.
+     *
+     * @param vnf the generic vnf
+     * @return
+     */
+    void invokePutGenericVnf(GenericVnf vnf);
+
+}
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiServiceProviderImpl.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiServiceProviderImpl.java
new file mode 100644
index 0000000..234748e
--- /dev/null
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiServiceProviderImpl.java
@@ -0,0 +1,90 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.adapters.vnfmadapter.extclients.aai;
+
+import org.onap.aai.domain.yang.EsrSystemInfoList;
+import org.onap.aai.domain.yang.EsrVnfm;
+import org.onap.aai.domain.yang.EsrVnfmList;
+import org.onap.aai.domain.yang.GenericVnf;
+import org.onap.so.client.aai.AAIObjectType;
+import org.onap.so.client.aai.entities.uri.AAIUriFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class AaiServiceProviderImpl implements AaiServiceProvider {
+
+    private static final Logger logger = LoggerFactory.getLogger(AaiServiceProviderImpl.class);
+    private final AaiClientProvider aaiClientProvider;
+
+    @Autowired
+    public AaiServiceProviderImpl(final AaiClientProvider aaiClientProvider) {
+        this.aaiClientProvider = aaiClientProvider;
+    }
+
+    @Override
+    public GenericVnf invokeGetGenericVnf(final String vnfId) {
+        return aaiClientProvider.getAaiClient()
+                .get(GenericVnf.class, AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId))
+                .orElseGet(() -> {
+                    logger.debug("No vnf found in AAI with ID: {}", vnfId);
+                    return null;
+                });
+    }
+
+    @Override
+    public EsrVnfmList invokeGetVnfms() {
+        return aaiClientProvider.getAaiClient()
+                .get(EsrVnfmList.class, AAIUriFactory.createResourceUri(AAIObjectType.VNFM_LIST)).orElseGet(() -> {
+                    logger.debug("No VNFMs in AAI");
+                    return null;
+                });
+    }
+
+    @Override
+    public EsrVnfm invokeGetVnfm(final String vnfmId) {
+        return aaiClientProvider.getAaiClient()
+                .get(EsrVnfm.class, AAIUriFactory.createResourceUri(AAIObjectType.VNFM, vnfmId)).orElseGet(() -> {
+                    logger.debug("VNFM not found in AAI");
+                    return null;
+                });
+    }
+
+    @Override
+    public EsrSystemInfoList invokeGetVnfmEsrSystemInfoList(final String vnfmId) {
+        return aaiClientProvider.getAaiClient()
+                .get(EsrSystemInfoList.class,
+                        AAIUriFactory.createResourceUri(AAIObjectType.VNFM_ESR_SYSTEM_INFO_LIST, vnfmId))
+                .orElseGet(() -> {
+                    logger.debug("VNFM ESR system info list not found in AAI");
+                    return null;
+                });
+    }
+
+    @Override
+    public void invokePutGenericVnf(final GenericVnf vnf) {
+        aaiClientProvider.getAaiClient()
+                .update(AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnf.getVnfId()), vnf);
+    }
+
+}
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/vnfm/VnfmServiceProvider.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/vnfm/VnfmServiceProvider.java
new file mode 100644
index 0000000..0b5b65e
--- /dev/null
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/vnfm/VnfmServiceProvider.java
@@ -0,0 +1,39 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.adapters.vnfmadapter.extclients.vnfm;
+
+import com.google.common.base.Optional;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201;
+
+/**
+ * Provides methods for invoking REST calls to a VNFM.
+ */
+public interface VnfmServiceProvider {
+
+    /**
+     * Invoke a get request for a VNF.
+     *
+     * @param vnfSelfLink the link to the VNF in the VNFM
+     * @return the VNF from the VNFM
+     */
+    Optional<InlineResponse201> getVnf(final String vnfSelfLink);
+
+}
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/vnfm/VnfmServiceProviderConfiguration.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/vnfm/VnfmServiceProviderConfiguration.java
new file mode 100644
index 0000000..28b0b14
--- /dev/null
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/vnfm/VnfmServiceProviderConfiguration.java
@@ -0,0 +1,51 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.adapters.vnfmadapter.extclients.vnfm;
+
+import static org.onap.so.client.RestTemplateConfig.CONFIGURABLE_REST_TEMPLATE;
+import org.onap.so.configuration.rest.BasicHttpHeadersProvider;
+import org.onap.so.configuration.rest.HttpHeadersProvider;
+import org.onap.so.rest.service.HttpRestServiceProvider;
+import org.onap.so.rest.service.HttpRestServiceProviderImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * Configures the HttpRestServiceProvider for REST call to a VNFM.
+ */
+@Configuration
+public class VnfmServiceProviderConfiguration {
+
+    @Bean(name = "vnfmServiceProvider")
+    public HttpRestServiceProvider httpRestServiceProvider(
+            @Qualifier(CONFIGURABLE_REST_TEMPLATE) @Autowired final RestTemplate restTemplate) {
+        return getHttpRestServiceProvider(restTemplate, new BasicHttpHeadersProvider());
+    }
+
+    private HttpRestServiceProvider getHttpRestServiceProvider(final RestTemplate restTemplate,
+            final HttpHeadersProvider httpHeadersProvider) {
+        return new HttpRestServiceProviderImpl(restTemplate, httpHeadersProvider);
+    }
+
+}
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/vnfm/VnfmServiceProviderImpl.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/vnfm/VnfmServiceProviderImpl.java
new file mode 100644
index 0000000..4a141ed
--- /dev/null
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/vnfm/VnfmServiceProviderImpl.java
@@ -0,0 +1,47 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.adapters.vnfmadapter.extclients.vnfm;
+
+import com.google.common.base.Optional;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201;
+import org.onap.so.rest.service.HttpRestServiceProvider;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Service;
+
+@Service
+public class VnfmServiceProviderImpl implements VnfmServiceProvider {
+
+    private final HttpRestServiceProvider httpServiceProvider;
+
+    @Autowired
+    public VnfmServiceProviderImpl(
+            @Qualifier("vnfmServiceProvider") final HttpRestServiceProvider httpServiceProvider) {
+        this.httpServiceProvider = httpServiceProvider;
+    }
+
+    @Override
+    public Optional<InlineResponse201> getVnf(final String vnfSelfLink) {
+        return httpServiceProvider.get(vnfSelfLink, InlineResponse201.class);
+    }
+
+
+}
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/lifecycle/LifecycleManager.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/lifecycle/LifecycleManager.java
new file mode 100644
index 0000000..4c54ded
--- /dev/null
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/lifecycle/LifecycleManager.java
@@ -0,0 +1,97 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.adapters.vnfmadapter.lifecycle;
+
+import com.google.common.base.Optional;
+import java.util.UUID;
+import org.onap.aai.domain.yang.EsrVnfm;
+import org.onap.aai.domain.yang.GenericVnf;
+import org.onap.so.adapters.vnfmadapter.extclients.aai.AaiClientProvider;
+import org.onap.so.adapters.vnfmadapter.extclients.aai.AaiHelper;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.VnfmServiceProvider;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201;
+import org.onap.so.client.aai.AAIObjectType;
+import org.onap.so.client.aai.entities.uri.AAIUriFactory;
+import org.onap.so.client.graphinventory.entities.uri.Depth;
+import org.onap.vnfmadapter.v1.model.CreateVnfRequest;
+import org.onap.vnfmadapter.v1.model.CreateVnfResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Component
+public class LifecycleManager {
+    private static final Logger logger = LoggerFactory.getLogger(LifecycleManager.class);
+    private final AaiClientProvider aaiClientProvider;
+    private final VnfmServiceProvider vnfmServiceProvider;
+    private final AaiHelper aaiHelper;
+
+    @Autowired
+    LifecycleManager(final AaiClientProvider aaiClientProvider, final AaiHelper aaiHelper,
+            final VnfmServiceProvider vnfmServiceProvider) {
+        this.aaiClientProvider = aaiClientProvider;
+        this.vnfmServiceProvider = vnfmServiceProvider;
+        this.aaiHelper = aaiHelper;
+    }
+
+    public CreateVnfResponse createVnf(final String vnfIdInAai, final CreateVnfRequest request) {
+        final GenericVnf genericVnf = getGenericVnfFromAai(vnfIdInAai);
+        checkIfVnfAlreadyExistsInVnfm(genericVnf);
+
+        EsrVnfm vnfm = aaiHelper.getAssignedVnfm(genericVnf);
+        if (vnfm == null) {
+            vnfm = aaiHelper.selectVnfm(genericVnf);
+            aaiHelper.addRelationshipFromGenericVnfToVnfm(genericVnf, vnfm.getVnfmId());
+        }
+
+        final CreateVnfResponse response = new CreateVnfResponse();
+        response.setJobId(UUID.randomUUID().toString());
+        return response;
+    }
+
+    private GenericVnf getGenericVnfFromAai(final String vnfIdInAai) {
+        final GenericVnf genericVnf = aaiClientProvider.getAaiClient()
+                .get(GenericVnf.class,
+                        AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfIdInAai).depth(Depth.ONE))
+                .orElseGet(() -> {
+                    logger.debug("No Generic Vnf matched by id");
+                    return null;
+                });
+        logger.debug("Retrieved generic VNF from AAI: " + genericVnf);
+        return genericVnf;
+    }
+
+    private void checkIfVnfAlreadyExistsInVnfm(final GenericVnf genericVnf) {
+        if (genericVnf.getSelflink() != null && !genericVnf.getSelflink().isEmpty()) {
+            Optional<InlineResponse201> response = Optional.absent();
+            try {
+                response = vnfmServiceProvider.getVnf(genericVnf.getSelflink());
+            } catch (final Exception exception) {
+                logger.debug("Ignoring invalid self link in generic vnf", exception);
+            }
+            if (response.isPresent()) {
+                throw new IllegalArgumentException("VNF " + genericVnf.getVnfId()
+                        + " is already defined on the VNFM, self link: " + genericVnf.getSelflink());
+            }
+        }
+    }
+}
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/rest/VnfmAdapterController.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/rest/VnfmAdapterController.java
index b14ead0..65d5478 100644
--- a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/rest/VnfmAdapterController.java
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/rest/VnfmAdapterController.java
@@ -25,12 +25,14 @@
 import javax.validation.Valid;
 import javax.ws.rs.core.MediaType;
 import org.onap.logging.ref.slf4j.ONAPLogConstants;
+import org.onap.so.adapters.vnfmadapter.lifecycle.LifecycleManager;
 import org.onap.vnfmadapter.v1.model.CreateVnfRequest;
 import org.onap.vnfmadapter.v1.model.CreateVnfResponse;
 import org.onap.vnfmadapter.v1.model.DeleteVnfResponse;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
@@ -51,6 +53,12 @@
 public class VnfmAdapterController {
 
     private static final Logger logger = LoggerFactory.getLogger(VnfmAdapterController.class);
+    private final LifecycleManager lifecycleManager;
+
+    @Autowired
+    VnfmAdapterController(final LifecycleManager lifecycleManager) {
+        this.lifecycleManager = lifecycleManager;
+    }
 
     @PostMapping(value = "/vnfs/{vnfId}")
     public ResponseEntity<CreateVnfResponse> vnfCreate(
@@ -75,10 +83,9 @@
 
         logger.info("REST request vnfCreate with body: {}", createVnfRequest);
 
-        final CreateVnfResponse response = new CreateVnfResponse();
-        response.setJobId(UUID.randomUUID().toString());
+        final CreateVnfResponse createVnfResponse = lifecycleManager.createVnf(vnfId, createVnfRequest);
         clearLoggingMDCs();
-        return new ResponseEntity<>(response, HttpStatus.ACCEPTED);
+        return new ResponseEntity<>(createVnfResponse, HttpStatus.ACCEPTED);
     }
 
     @DeleteMapping(value = "/vnfs/{vnfId}")
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/rest/exceptions/VnfmNotFoundException.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/rest/exceptions/VnfmNotFoundException.java
new file mode 100644
index 0000000..100aa17
--- /dev/null
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/rest/exceptions/VnfmNotFoundException.java
@@ -0,0 +1,35 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.adapters.vnfmadapter.rest.exceptions;
+
+/**
+ * Exception for VNFM not found.
+ */
+public class VnfmNotFoundException extends RuntimeException {
+
+    private static final long serialVersionUID = 6398018034431666933L;
+
+    public VnfmNotFoundException(final String message) {
+        super(message);
+    }
+
+}
+
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/resources/META-INF/services/org.onap.so.client.RestProperties b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/resources/META-INF/services/org.onap.so.client.RestProperties
new file mode 100644
index 0000000..86cc3f0
--- /dev/null
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/resources/META-INF/services/org.onap.so.client.RestProperties
@@ -0,0 +1 @@
+org.onap.so.adapters.vnfmadapter.extclients.aai.AaiPropertiesImpl
\ No newline at end of file
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/resources/application.yaml b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/resources/application.yaml
index 7719c0c..bbe1315 100644
--- a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/resources/application.yaml
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/resources/application.yaml
@@ -15,6 +15,14 @@
   port: 9092
   tomcat:
       max-threads: 50
+      
+mso:
+  key: 07a7159d3bf51a0e53be7a8f89699be7
+  
+aai:
+  auth: 2A11B07DB6214A839394AA1EC5844695F5114FC407FF5422625FB00175A3DCB8A1FF745F22867EFA72D5369D599BBD88DA8BED4233CF5586
+  version: v15
+  endpoint: https://aai.onap:8443
 
 #Actuator
 management:
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/java/org/onap/so/adapters/vnfmadapter/rest/HealthCheckTest.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/java/org/onap/so/adapters/vnfmadapter/rest/HealthCheckTest.java
index ee22e03..c25d825 100644
--- a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/java/org/onap/so/adapters/vnfmadapter/rest/HealthCheckTest.java
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/java/org/onap/so/adapters/vnfmadapter/rest/HealthCheckTest.java
@@ -42,7 +42,7 @@
     @LocalServerPort
     private int port;
 
-    private final TestRestTemplate restTemplate = new TestRestTemplate();
+    private final TestRestTemplate restTemplate = new TestRestTemplate("test", "test");
 
     @Test
     public void testHealthcheck() throws Exception {
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/java/org/onap/so/adapters/vnfmadapter/rest/VnfmAdapterControllerTest.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/java/org/onap/so/adapters/vnfmadapter/rest/VnfmAdapterControllerTest.java
index 071a330..e307a25 100644
--- a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/java/org/onap/so/adapters/vnfmadapter/rest/VnfmAdapterControllerTest.java
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/java/org/onap/so/adapters/vnfmadapter/rest/VnfmAdapterControllerTest.java
@@ -22,50 +22,303 @@
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.verify;
+import static org.onap.so.client.RestTemplateConfig.CONFIGURABLE_REST_TEMPLATE;
+import static org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo;
+import static org.springframework.test.web.client.response.MockRestResponseCreators.withSuccess;
+import com.google.gson.Gson;
 import java.net.URI;
+import java.util.Optional;
+import org.hamcrest.BaseMatcher;
+import org.hamcrest.Description;
+import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.hamcrest.MockitoHamcrest;
+import org.onap.aai.domain.yang.EsrSystemInfo;
+import org.onap.aai.domain.yang.EsrSystemInfoList;
+import org.onap.aai.domain.yang.EsrVnfm;
+import org.onap.aai.domain.yang.EsrVnfmList;
+import org.onap.aai.domain.yang.GenericVnf;
+import org.onap.aai.domain.yang.Relationship;
+import org.onap.aai.domain.yang.RelationshipData;
+import org.onap.aai.domain.yang.RelationshipList;
 import org.onap.so.adapters.vnfmadapter.VnfmAdapterApplication;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201;
+import org.onap.so.adapters.vnfmadapter.rest.exceptions.VnfmNotFoundException;
+import org.onap.so.client.aai.AAIResourcesClient;
+import org.onap.so.client.aai.entities.uri.AAIResourceUri;
 import org.onap.vnfmadapter.v1.model.CreateVnfRequest;
 import org.onap.vnfmadapter.v1.model.CreateVnfResponse;
 import org.onap.vnfmadapter.v1.model.DeleteVnfResponse;
+import org.onap.vnfmadapter.v1.model.Tenant;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
+import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.boot.test.web.client.TestRestTemplate;
 import org.springframework.boot.web.server.LocalServerPort;
+import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.http.RequestEntity;
 import org.springframework.http.ResponseEntity;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.web.client.MockRestServiceServer;
+import org.springframework.web.client.RestTemplate;
+
 
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = VnfmAdapterApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT)
 @ActiveProfiles("test")
+
 public class VnfmAdapterControllerTest {
 
     @LocalServerPort
     private int port;
+    @Autowired
+    @Qualifier(CONFIGURABLE_REST_TEMPLATE)
+    private RestTemplate testRestTemplate;
+    private MockRestServiceServer mockRestServer;
 
-    private final TestRestTemplate restTemplate = new TestRestTemplate("test", "test");
+    @MockBean
+    AAIResourcesClient aaiResourcesClient;
+
+    @Autowired
+    VnfmAdapterController controller;
+    Gson gson = new Gson();
+
+    @Before
+    public void setUp() throws Exception {
+        mockRestServer = MockRestServiceServer.bindTo(testRestTemplate).build();
+    }
 
     @Test
     public void createVnf_ValidRequest_Returns202AndJobId() throws Exception {
-        final CreateVnfRequest createVnfRequest = new CreateVnfRequest();
-        final RequestEntity<CreateVnfRequest> request =
-                RequestEntity.post(new URI("http://localhost:" + port + "/so/vnfm-adapter/v1/vnfs/myVnfId"))
-                        .accept(MediaType.APPLICATION_JSON).contentType(MediaType.APPLICATION_JSON)
-                        .header("X-ONAP-RequestId", "myRequestId").header("X-ONAP-InvocationID", "myInvocationId")
-                        .body(createVnfRequest);
-        final ResponseEntity<CreateVnfResponse> response = restTemplate.exchange(request, CreateVnfResponse.class);
-        assertEquals(202, response.getStatusCode().value());
+        final Tenant tenant =
+                new Tenant().cloudOwner("myTestCloudOwner").regionName("myTestRegion").tenantId("myTestTenantId");
+        final CreateVnfRequest createVnfRequest = new CreateVnfRequest().name("myTestName").tenant(tenant);
+
+        final GenericVnf genericVnf = new GenericVnf();
+        genericVnf.setVnfId("myTestVnfId");
+        genericVnf.setNfType("vnfmType2");
+
+        doReturn(Optional.of(genericVnf)).when(aaiResourcesClient).get(eq(GenericVnf.class), MockitoHamcrest
+                .argThat(new AaiResourceUriMatcher("/network/generic-vnfs/generic-vnf/myTestVnfId?depth=1")));
+
+        final EsrSystemInfo esrSystemInfo1 = new EsrSystemInfo();
+        esrSystemInfo1.setServiceUrl("http://vnfm1:8080");
+        esrSystemInfo1.setType("vnfmType1");
+        esrSystemInfo1.setSystemType("VNFM");
+        final EsrSystemInfoList esrSystemInfoList1 = new EsrSystemInfoList();
+        esrSystemInfoList1.getEsrSystemInfo().add(esrSystemInfo1);
+
+        final EsrVnfm esrVnfm1 = new EsrVnfm();
+        esrVnfm1.setVnfmId("vnfm1");
+        esrVnfm1.setEsrSystemInfoList(esrSystemInfoList1);
+        esrVnfm1.setResourceVersion("1234");
+
+        final EsrSystemInfo esrSystemInfo2 = new EsrSystemInfo();
+        esrSystemInfo2.setServiceUrl("http://vnfm2:8080");
+        esrSystemInfo2.setType("vnfmType2");
+        esrSystemInfo2.setSystemType("VNFM");
+        final EsrSystemInfoList esrSystemInfoList2 = new EsrSystemInfoList();
+        esrSystemInfoList2.getEsrSystemInfo().add(esrSystemInfo2);
+
+        final EsrVnfm esrVnfm2 = new EsrVnfm();
+        esrVnfm2.setVnfmId("vnfm2");
+        esrVnfm2.setEsrSystemInfoList(esrSystemInfoList2);
+        esrVnfm2.setResourceVersion("1234");
+
+        final EsrVnfmList esrVnfmList = new EsrVnfmList();
+        esrVnfmList.getEsrVnfm().add(esrVnfm1);
+        esrVnfmList.getEsrVnfm().add(esrVnfm2);
+
+        doReturn(Optional.of(esrVnfmList)).when(aaiResourcesClient).get(eq(EsrVnfmList.class),
+                MockitoHamcrest.argThat(new AaiResourceUriMatcher("/external-system/esr-vnfm-list")));
+
+        doReturn(Optional.of(esrSystemInfoList1)).when(aaiResourcesClient).get(eq(EsrSystemInfoList.class),
+                MockitoHamcrest.argThat(new AaiResourceUriMatcher(
+                        "/external-system/esr-vnfm-list/esr-vnfm/vnfm1/esr-system-info-list")));
+
+        doReturn(Optional.of(esrSystemInfoList2)).when(aaiResourcesClient).get(eq(EsrSystemInfoList.class),
+                MockitoHamcrest.argThat(new AaiResourceUriMatcher(
+                        "/external-system/esr-vnfm-list/esr-vnfm/vnfm2/esr-system-info-list")));
+
+
+        final ResponseEntity<CreateVnfResponse> response =
+                controller.vnfCreate("myTestVnfId", createVnfRequest, "asadas", "so", "1213");
+        assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());
+        assertNotNull(response.getBody().getJobId());
+
+        final ArgumentCaptor<GenericVnf> genericVnfArgument = ArgumentCaptor.forClass(GenericVnf.class);
+        final ArgumentCaptor<AAIResourceUri> uriArgument = ArgumentCaptor.forClass(AAIResourceUri.class);
+
+        verify(aaiResourcesClient).update(uriArgument.capture(), genericVnfArgument.capture());
+
+        assertEquals("/network/generic-vnfs/generic-vnf/myTestVnfId", uriArgument.getValue().build().toString());
+
+        assertEquals("myTestVnfId", genericVnfArgument.getValue().getVnfId());
+        assertEquals(1, genericVnfArgument.getValue().getRelationshipList().getRelationship().size());
+        final Relationship createdRelationship =
+                genericVnfArgument.getValue().getRelationshipList().getRelationship().get(0);
+        assertEquals("esr-vnfm", createdRelationship.getRelatedTo());
+        assertEquals("tosca.relationships.DependsOn", createdRelationship.getRelationshipLabel());
+        assertEquals("/aai/v15/external-system/esr-vnfm-list/esr-vnfm/vnfm2", createdRelationship.getRelatedLink());
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void createVnf_VnfAlreadyExistsOnVnfm_ThrowsIllegalArgumentException() throws Exception {
+        final Tenant tenant =
+                new Tenant().cloudOwner("myTestCloudOwner").regionName("myTestRegion").tenantId("myTestTenantId");
+        final CreateVnfRequest createVnfRequest = new CreateVnfRequest().name("myTestName").tenant(tenant);
+
+        final GenericVnf genericVnf = new GenericVnf();
+        genericVnf.setVnfId("myTestVnfId");
+        genericVnf.setNfType("vnfmType");
+        genericVnf.setSelflink("http://vnfm:8080/vnfs/myTestVnfIdOnVnfm");
+
+        doReturn(Optional.of(genericVnf)).when(aaiResourcesClient).get(eq(GenericVnf.class), MockitoHamcrest
+                .argThat(new AaiResourceUriMatcher("/network/generic-vnfs/generic-vnf/myTestVnfId?depth=1")));
+
+        final EsrSystemInfo esrSystemInfo = new EsrSystemInfo();
+        esrSystemInfo.setServiceUrl("http://vnfm:8080");
+        esrSystemInfo.setType("vnfmType");
+        esrSystemInfo.setSystemType("VNFM");
+        final EsrSystemInfoList esrSystemInfoList = new EsrSystemInfoList();
+        esrSystemInfoList.getEsrSystemInfo().add(esrSystemInfo);
+
+        final EsrVnfm esrVnfm = new EsrVnfm();
+        esrVnfm.setVnfmId("vnfm");
+        esrVnfm.setEsrSystemInfoList(esrSystemInfoList);
+        esrVnfm.setResourceVersion("1234");
+
+        final EsrVnfmList esrVnfmList = new EsrVnfmList();
+        esrVnfmList.getEsrVnfm().add(esrVnfm);
+
+        final InlineResponse201 reponse = new InlineResponse201();
+        mockRestServer.expect(requestTo(new URI("http://vnfm:8080/vnfs/myTestVnfIdOnVnfm")))
+                .andRespond(withSuccess(gson.toJson(reponse), MediaType.APPLICATION_JSON));
+
+        doReturn(Optional.of(esrVnfmList)).when(aaiResourcesClient).get(eq(EsrVnfmList.class),
+                MockitoHamcrest.argThat(new AaiResourceUriMatcher("/external-system/esr-vnfm-list")));
+
+        controller.vnfCreate("myTestVnfId", createVnfRequest, "asadas", "so", "1213");
+    }
+
+    @Test(expected = VnfmNotFoundException.class)
+    public void createVnf_NoMatchingVnfmFound_ThrowsException() throws Exception {
+        final Tenant tenant =
+                new Tenant().cloudOwner("myTestCloudOwner").regionName("myTestRegion").tenantId("myTestTenantId");
+        final CreateVnfRequest createVnfRequest = new CreateVnfRequest().name("myTestName").tenant(tenant);
+
+        final GenericVnf genericVnf = new GenericVnf();
+        genericVnf.setVnfId("myTestVnfId");
+        genericVnf.setNfType("anotherType");
+
+        doReturn(Optional.of(genericVnf)).when(aaiResourcesClient).get(eq(GenericVnf.class), MockitoHamcrest
+                .argThat(new AaiResourceUriMatcher("/network/generic-vnfs/generic-vnf/myTestVnfId?depth=1")));
+
+        final EsrSystemInfo esrSystemInfo1 = new EsrSystemInfo();
+        esrSystemInfo1.setServiceUrl("http://vnfm1:8080");
+        esrSystemInfo1.setType("vnfmType1");
+        esrSystemInfo1.setSystemType("VNFM");
+        final EsrSystemInfoList esrSystemInfoList1 = new EsrSystemInfoList();
+        esrSystemInfoList1.getEsrSystemInfo().add(esrSystemInfo1);
+
+        final EsrVnfm esrVnfm1 = new EsrVnfm();
+        esrVnfm1.setVnfmId("vnfm1");
+        esrVnfm1.setEsrSystemInfoList(esrSystemInfoList1);
+        esrVnfm1.setResourceVersion("1234");
+
+        final EsrSystemInfo esrSystemInfo2 = new EsrSystemInfo();
+        esrSystemInfo2.setServiceUrl("http://vnfm2:8080");
+        esrSystemInfo2.setType("vnfmType2");
+        esrSystemInfo2.setSystemType("VNFM");
+        final EsrSystemInfoList esrSystemInfoList2 = new EsrSystemInfoList();
+        esrSystemInfoList2.getEsrSystemInfo().add(esrSystemInfo2);
+
+        final EsrVnfm esrVnfm2 = new EsrVnfm();
+        esrVnfm2.setVnfmId("vnfm2");
+        esrVnfm2.setEsrSystemInfoList(esrSystemInfoList2);
+        esrVnfm2.setResourceVersion("1234");
+
+        final EsrVnfmList esrVnfmList = new EsrVnfmList();
+        esrVnfmList.getEsrVnfm().add(esrVnfm1);
+        esrVnfmList.getEsrVnfm().add(esrVnfm2);
+
+        doReturn(Optional.of(esrVnfmList)).when(aaiResourcesClient).get(eq(EsrVnfmList.class),
+                MockitoHamcrest.argThat(new AaiResourceUriMatcher("/external-system/esr-vnfm-list")));
+
+
+        doReturn(Optional.of(esrSystemInfoList1)).when(aaiResourcesClient).get(eq(EsrSystemInfoList.class),
+                MockitoHamcrest.argThat(new AaiResourceUriMatcher(
+                        "/external-system/esr-vnfm-list/esr-vnfm/vnfm1/esr-system-info-list")));
+
+        doReturn(Optional.of(esrSystemInfoList2)).when(aaiResourcesClient).get(eq(EsrSystemInfoList.class),
+                MockitoHamcrest.argThat(new AaiResourceUriMatcher(
+                        "/external-system/esr-vnfm-list/esr-vnfm/vnfm2/esr-system-info-list")));
+
+        controller.vnfCreate("myTestVnfId", createVnfRequest, "asadas", "so", "1213");
+    }
+
+    @Test
+    public void createVnf_VnfmAlreadyAssociatedWithVnf_Returns202AndJobId() throws Exception {
+        final Tenant tenant =
+                new Tenant().cloudOwner("myTestCloudOwner").regionName("myTestRegion").tenantId("myTestTenantId");
+        final CreateVnfRequest createVnfRequest = new CreateVnfRequest().name("myTestName").tenant(tenant);
+
+        final GenericVnf genericVnf = new GenericVnf();
+        genericVnf.setVnfId("myTestVnfId");
+        genericVnf.setNfType("vnfmType2");
+
+        final Relationship relationshipToVnfm = new Relationship();
+        relationshipToVnfm.setRelatedLink("/aai/v15/external-system/esr-vnfm-list/esr-vnfm/vnfm1");
+        relationshipToVnfm.setRelatedTo("esr-vnfm");
+        final RelationshipData relationshipData = new RelationshipData();
+        relationshipData.setRelationshipKey("esr-vnfm.vnfm-id");
+        relationshipData.setRelationshipValue("vnfm1");
+        relationshipToVnfm.getRelationshipData().add(relationshipData);
+
+        final RelationshipList relationshipList = new RelationshipList();
+        relationshipList.getRelationship().add(relationshipToVnfm);
+        genericVnf.setRelationshipList(relationshipList);
+
+        doReturn(Optional.of(genericVnf)).when(aaiResourcesClient).get(eq(GenericVnf.class), MockitoHamcrest
+                .argThat(new AaiResourceUriMatcher("/network/generic-vnfs/generic-vnf/myTestVnfId?depth=1")));
+
+        final EsrSystemInfo esrSystemInfo1 = new EsrSystemInfo();
+        esrSystemInfo1.setServiceUrl("http://vnfm1:8080");
+        esrSystemInfo1.setType("vnfmType1");
+        esrSystemInfo1.setSystemType("VNFM");
+        final EsrSystemInfoList esrSystemInfoList1 = new EsrSystemInfoList();
+        esrSystemInfoList1.getEsrSystemInfo().add(esrSystemInfo1);
+
+        final EsrVnfm esrVnfm1 = new EsrVnfm();
+        esrVnfm1.setVnfmId("vnfm1");
+        esrVnfm1.setEsrSystemInfoList(esrSystemInfoList1);
+        esrVnfm1.setResourceVersion("1234");
+
+        doReturn(Optional.of(esrVnfm1)).when(aaiResourcesClient).get(eq(EsrVnfm.class),
+                MockitoHamcrest.argThat(new AaiResourceUriMatcher("/external-system/esr-vnfm-list/esr-vnfm/vnfm1")));
+
+        final ResponseEntity<CreateVnfResponse> response =
+                controller.vnfCreate("myTestVnfId", createVnfRequest, "asadas", "so", "1213");
+        assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());
         assertNotNull(response.getBody().getJobId());
     }
 
     @Test
     public void createVnf_UnauthorizedUser_Returns401() throws Exception {
         final TestRestTemplate restTemplateWrongPassword = new TestRestTemplate("test", "wrongPassword");
-        final CreateVnfRequest createVnfRequest = new CreateVnfRequest();
+        final Tenant tenant =
+                new Tenant().cloudOwner("myTestCloudOwner").regionName("myTestRegion").tenantId("myTestTenantId");
+        final CreateVnfRequest createVnfRequest = new CreateVnfRequest().name("myTestName").tenant(tenant);
+
         final RequestEntity<CreateVnfRequest> request =
                 RequestEntity.post(new URI("http://localhost:" + port + "/so/vnfm-adapter/v1/vnfs/myVnfId"))
                         .accept(MediaType.APPLICATION_JSON).contentType(MediaType.APPLICATION_JSON)
@@ -78,6 +331,7 @@
 
     @Test
     public void deleteVnf_ValidRequest_Returns202AndJobId() throws Exception {
+        final TestRestTemplate restTemplate = new TestRestTemplate("test", "test");
         final RequestEntity<Void> request = RequestEntity
                 .delete(new URI("http://localhost:" + port + "/so/vnfm-adapter/v1/vnfs/myVnfId"))
                 .accept(MediaType.APPLICATION_JSON).header("X-ONAP-RequestId", "myRequestId")
@@ -87,4 +341,26 @@
         assertNotNull(response.getBody().getJobId());
     }
 
+    private class AaiResourceUriMatcher extends BaseMatcher<AAIResourceUri> {
+
+        final String uriAsString;
+
+        public AaiResourceUriMatcher(final String uriAsString) {
+            this.uriAsString = uriAsString;
+        }
+
+        @Override
+        public boolean matches(final Object item) {
+            if (item instanceof AAIResourceUri) {
+                return ((AAIResourceUri) item).build().toString().equals(uriAsString);
+            }
+            return false;
+        }
+
+        @Override
+        public void describeTo(final Description description) {}
+
+    }
+
+
 }
diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/resources/application-test.yaml b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/resources/application-test.yaml
index cc5a068..2b51181 100644
--- a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/resources/application-test.yaml
+++ b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/test/resources/application-test.yaml
@@ -16,4 +16,12 @@
     usercredentials:
     - username: test
       password: '$2a$12$Zi3AuYcZoZO/gBQyUtST2.F5N6HqcTtaNci2Et.ufsQhski56srIu'
-      role: BPEL-Client
\ No newline at end of file
+      role: BPEL-Client
+      
+mso:
+  key: 07a7159d3bf51a0e53be7a8f89699be7
+  
+aai:
+  auth: 2A11B07DB6214A839394AA1EC5844695F5114FC407FF5422625FB00175A3DCB8A1FF745F22867EFA72D5369D599BBD88DA8BED4233CF5586
+  endpoint: https://aai.onap:8443
+  version: v15
\ No newline at end of file
