swagger: '2.0' info: version: '1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' title: SOL003 - VNF Lifecycle Management interface description: > SOL003 - VNF Lifecycle Management interface definition IMPORTANT: Please note that this file might be not aligned to the current version of the ETSI Group Specification it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. In clause 4.3.2 of ETSI GS NFV-SOL 003 v2.4.1, an attribute-based filtering mechanism is defined. This mechanism is currently not included in the corresponding OpenAPI design for this GS version. Changes to the attribute-based filtering mechanism are being considered in v2.5.1 of this GS for inclusion in the corresponding future ETSI NFV OpenAPI design. Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= license: name: ETSI Forge copyright notice url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' externalDocs: description: ETSI GS NFV-SOL 003 V2.5.1 url: >- https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.05.01_60/gs_nfv-sol003v020501p.pdf basePath: /vnflcm/v1 schemes: - https consumes: - application/json produces: - application/json paths: /api-versions: parameters: - name: Version description: | Version of the API requested to use when responding to this request. in: header required: false type: string get: summary: Retrieve API version information description: > The GET method reads API version information. This method shall follow the provisions specified in table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not supported. responses: '200': description: > 200 OK API version information was read successfully. The response body shall contain 4.4 API version information, as defined in clause 4.4.1.13. schema: description: > This type represents API version information. It shall comply with the provisions defined in table 4.4.1.13-1 (SOL003). type: object required: - uriPrefix - apiVersions properties: uriPrefix: description: > Specifies the URI prefix for the API, in the following form {apiRoot}/{apiName}/{apiMajorVersion}/ type: string apiVersions: description: > Version(s) supported for the API signaled by the uriPrefix attribute. type: array items: type: object required: - version properties: version: description: > Identifies a supported version. The value of the version attribute shall be a version identifier as specified in clause 4.6.1. type: string isDeprecated: description: > If such information is available, this attribute indicates whether use of the version signaled by the version attribute is deprecated (true) or not (false). A deprecated version is still supported by the API producer but is recommended not to be used any longer. When a version is no longer supported, it does not appear in the response body. type: boolean retirementDate: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 Version: description: The used API version. type: string maximum: 1 minimum: 1 '400': description: > 400 BAD REQUEST 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the "ProblemDetails" structure to be returned. If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it 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 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. 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. The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '401': description: > 401 UNAUTHORIZED If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '403': description: > 403 FORBIDDEN If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '404': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '405': description: > 405 METHOD NOT ALLOWED If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '406': description: > 406 NOT ACCEPTABLE If the "Accept" 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. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '413': description: > 413 PAYLOAD TOO LARGE If the payload body of a request is larger than the amount of data the API producer is willing or able to process, it shall respond with this response code, following the provisions in IETF RFC 7231 for the use of the "Retry-After" HTTP header and for closing the connection. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '414': description: > 414 URI TOO LONG If the request URI of a request is longer than the API producer is willing or able to process, it shall respond with this response code. This condition can e.g. be caused by passing long queries in the request URI of a GET request. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '416': description: | 416 RANGE NOT SATISFIABLE headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '422': description: > 422 UNPROCESSABLE ENTITY If the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem. This error response code is only applicable for methods that have a request body. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '429': description: > 429 TOO MANY REQUESTS If the API consumer has sent too many requests in a defined period of time and the API producer is able to detect that condition ("rate limiting"), the API producer shall respond with this response code, following the provisions in IETF RFC 6585 [17] for the use of the "Retry-After" HTTP header. The "ProblemDetails" structure shall be provided and shall include in the "detail" attribute more information about the source of the problem. The period of time and allowed number of requests are configured within the API producer by means outside the scope of the present document. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '500': description: > 500 INTERNAL SERVER ERROR If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '503': description: > 503 SERVICE UNAVAILABLE If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '504': description: > 504 GATEWAY TIMEOUT If the API producer encounters a timeout while waiting for a response from an upstream server (i.e. a server that the API producer communicates with when fulfilling a request), it should respond with this response code. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI /vnf_instances: post: description: | Create VNF Identifier The POST method creates a new VNF instance resource. parameters: - name: createVnfRequest description: The VNF creation parameters in: body required: true schema: type: object required: - vnfdId properties: vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfInstanceName: description: | Human-readable name of the VNF instance to be created. type: string vnfInstanceDescription: description: | Human-readable description of the VNF instance to be created. type: string - name: Accept description: > Content-Types that are acceptable for the response. Reference: IETF RFC 7231 in: header required: true type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235 in: header required: false type: string - name: Content-Type description: | The MIME type of the body of the request. Reference: IETF RFC 7231 in: header required: true type: string - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true type: string responses: '201': description: A VNF Instance identifier was created successfully headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 Location: description: The resource URI of the created VNF instance type: string format: url WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: | This type represents a VNF instance. type: object required: - id - vnfdId - vnfProvider - vnfProductName - vnfSoftwareVersion - vnfdVersion - vnfPkgId - instantiationState properties: id: description: | An identifier with the intention of being globally unique. type: string vnfInstanceName: description: > Name of the VNF instance. This attribute can be modified with the PATCH method. type: string vnfInstanceDescription: description: > Human-readable description of the VNF instance. This attribute can be modified with the PATCH method. type: string vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfProvider: description: > Provider of the VNF and the VNFD. The value is copied from the VNFD. type: string vnfProductName: description: > Name to identify the VNF Product. The value is copied from the VNFD. type: string vnfSoftwareVersion: description: | A Version. type: string vnfdVersion: description: | A Version. type: string vnfPkgId: description: | An identifier with the intention of being globally unique. type: string vnfConfigurableProperties: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method. type: array items: description: > This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM. type: object required: - id - vimType properties: id: description: > An identifier with the intention of being globally unique. type: string vimId: description: > An identifier with the intention of being globally unique. type: string vimType: description: > Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003. type: string interfaceInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object accessInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extra: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object instantiationState: description: | The instantiation state of the VNF. type: string enum: - NOT_INSTANTIATED - INSTANTIATED instantiatedVnfInfo: description: > Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED. type: object required: - flavourId - vnfState properties: flavourId: description: | An identifier that is unique within a VNF descriptor. type: string vnfState: type: string enum: - STARTED - STOPPED scaleStatus: description: > Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect. type: array items: required: - aspectId - scaleLevel type: object properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string scaleLevel: description: > Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD. type: integer extCpInfo: description: > Information about the external CPs exposed by the VNF instance. type: array minItems: 1 items: description: > This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1. type: object required: - id - cpdId - cpProtocolInfo properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpProtocolInfo: description: | Network protocol information for this CP. type: array items: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents information about a network address that has been assigned. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). Exactly one of "addresses" or "addressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP extLinkPortId: description: > An identifier with the intention of being globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object associatedVnfcCpId: description: > An identifier with the intention of being globally unique. type: string associatedVnfVirtualLinkId: description: > An identifier with the intention of being globally unique. type: string extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string extLinkPorts: description: | Link ports of this VL. type: array items: description: > This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string extManagedVirtualLinkInfo: description: | External virtual links the VNF instance is connected to. type: array items: type: object required: - id - vnfVirtualLinkDescId properties: id: description: > An identifier with the intention of being globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string networkResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string vnfLinkPorts: description: | Link ports of this VL. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. type: string enum: - VNFC_CP - EXT_CP monitoringParameters: description: | Active monitoring parameters. type: array items: type: object required: - id - performanceMetric properties: id: description: > An identifier that is unique within a VNF descriptor. type: string name: description: > Human readable name of the monitoring parameter, as defined in the VNFD. type: string performanceMetric: description: > Performance metric that is monitored. This attribute shall contain the related "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027. type: string localizationLanguage: description: > Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646. type: string vnfcResourceInfo: description: > Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance. type: array items: description: > This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. type: object required: - id - vduId - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string computeResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string storageResourceIds: description: > References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string vnfcCpInfo: description: > CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. type: array items: type: object required: - id - cpdId properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpdId: description: > An identifier that is unique within a VNF descriptor. type: string vnfExtCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpProtocolInfo: description: | Network protocol information for this CP. type: array items: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents information about a network address that has been assigned. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). Exactly one of "addresses" or "addressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP vnfLinkPortId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object virtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. type: array items: description: > This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance. type: object required: - id - vnfVirtualLinkDescId - networkResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique within a VNF descriptor. type: string networkResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string vnfLinkPorts: description: > Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. type: string enum: - VNFC_CP - EXT_CP metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object virtualStorageResourceInfo: description: > Information on the virtualised storage resource(s) used as storage for the VNF instance. type: array items: description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. type: object required: - id - virtualStorageDescId - storageResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string virtualStorageDescId: description: > An identifier that is unique within a VNF descriptor. type: string storageResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extensions: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object _links: description: | Links to resources related to this resource. type: object required: - self properties: self: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string indicators: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string instantiate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string terminate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string scale: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string scaleToLevel: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeFlavour: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string heal: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string operate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeExtConn: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string '400': description: > 400 BAD REQUEST 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the "ProblemDetails" structure to be returned. If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it 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 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. 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. The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '401': description: > 401 UNAUTHORIZED If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '403': description: > 403 FORBIDDEN If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '404': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '405': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '406': description: > 406 NOT ACCEPTABLE If the "Accept" 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. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '409': description: > Conflict Another request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '416': description: | 416 RANGE NOT SATISFIABLE headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '422': description: > 422 UNPROCESSABLE ENTITY If the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem. This error response code is only applicable for methods that have a request body. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '500': description: > 500 INTERNAL SERVER ERROR If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '503': description: > 503 SERVICE UNAVAILABLE If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI get: description: | Query VNF The GET method queries information about multiple VNF instances. parameters: - name: Accept description: > Content-Types that are acceptable for the response. Reference: IETF RFC 7231 in: header required: true type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235 in: header required: false type: string - name: filter description: > Attribute-based filtering expression according to clause 4.3.2. The VNFM shall support receiving this parameter as part of the URI query string. The NFVO may supply this parameter. All attribute names that appear in the VnfInstance and in data types referenced from it shall be supported by the VNFM in the filter expression. in: query required: false type: string - name: all_fields description: > Include all complex attributes in the response. See clause 4.3.3 for details. The VNFM shall support this parameter. in: query required: false type: string - name: fields description: > Complex attributes to be included into the response. See clause 4.3.3 for details. The VNFM should support this parameter. in: query required: false type: string - name: exclude_fields description: > Complex attributes to be excluded from the response. See clause 4.3.3 for details. The VNFM should support this parameter. in: query required: false type: string - name: exclude_default description: "Indicates to exclude the following complex attributes from the response. See clause 4.3.3 for details. The VNFM shall support this parameter. The following attributes shall be excluded from the VnfInstance structure in the response body if this parameter is provided, or none of the parameters \"all_fields,\" \"fields\", \"exclude_fields\", \"exclude_default\" are provided: -\tvnfConfigurableProperties - vimConnectionInfo -\tinstantiatedVnfInfo -\tmetadata -\textensions\n" in: query required: false type: string - name: nextpage_opaque_marker description: > Marker to obtain the next page of a paged response. Shall be supported by the VNFM if the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource. in: query required: false type: string - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true type: string responses: '200': description: > OK Information about zero or more VNF instances was queried successfully. The response body shall contain in an array the representations of zero or more VNF instances, as defined in clause 5.5.2.2. If the VNFM supports alternative 2 (paging) according to clause 4.7.2.1 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 4.7.2.3. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 Link: description: > Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. type: string maximum: 1 minimum: 0 schema: type: array items: description: | This type represents a VNF instance. type: object required: - id - vnfdId - vnfProvider - vnfProductName - vnfSoftwareVersion - vnfdVersion - vnfPkgId - instantiationState properties: id: description: | An identifier with the intention of being globally unique. type: string vnfInstanceName: description: > Name of the VNF instance. This attribute can be modified with the PATCH method. type: string vnfInstanceDescription: description: > Human-readable description of the VNF instance. This attribute can be modified with the PATCH method. type: string vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfProvider: description: > Provider of the VNF and the VNFD. The value is copied from the VNFD. type: string vnfProductName: description: > Name to identify the VNF Product. The value is copied from the VNFD. type: string vnfSoftwareVersion: description: | A Version. type: string vnfdVersion: description: | A Version. type: string vnfPkgId: description: | An identifier with the intention of being globally unique. type: string vnfConfigurableProperties: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method. type: array items: description: > This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM. type: object required: - id - vimType properties: id: description: > An identifier with the intention of being globally unique. type: string vimId: description: > An identifier with the intention of being globally unique. type: string vimType: description: > Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003. type: string interfaceInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object accessInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extra: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object instantiationState: description: | The instantiation state of the VNF. type: string enum: - NOT_INSTANTIATED - INSTANTIATED instantiatedVnfInfo: description: > Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED. type: object required: - flavourId - vnfState properties: flavourId: description: | An identifier that is unique within a VNF descriptor. type: string vnfState: type: string enum: - STARTED - STOPPED scaleStatus: description: > Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect. type: array items: required: - aspectId - scaleLevel type: object properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string scaleLevel: description: > Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD. type: integer extCpInfo: description: > Information about the external CPs exposed by the VNF instance. type: array minItems: 1 items: description: > This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1. type: object required: - id - cpdId - cpProtocolInfo properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpProtocolInfo: description: | Network protocol information for this CP. type: array items: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents information about a network address that has been assigned. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). Exactly one of "addresses" or "addressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP extLinkPortId: description: > An identifier with the intention of being globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object associatedVnfcCpId: description: > An identifier with the intention of being globally unique. type: string associatedVnfVirtualLinkId: description: > An identifier with the intention of being globally unique. type: string extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string extLinkPorts: description: | Link ports of this VL. type: array items: description: > This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string extManagedVirtualLinkInfo: description: | External virtual links the VNF instance is connected to. type: array items: type: object required: - id - vnfVirtualLinkDescId properties: id: description: > An identifier with the intention of being globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string networkResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string vnfLinkPorts: description: | Link ports of this VL. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. type: string enum: - VNFC_CP - EXT_CP monitoringParameters: description: | Active monitoring parameters. type: array items: type: object required: - id - performanceMetric properties: id: description: > An identifier that is unique within a VNF descriptor. type: string name: description: > Human readable name of the monitoring parameter, as defined in the VNFD. type: string performanceMetric: description: > Performance metric that is monitored. This attribute shall contain the related "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027. type: string localizationLanguage: description: > Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646. type: string vnfcResourceInfo: description: > Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance. type: array items: description: > This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. type: object required: - id - vduId - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string computeResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string storageResourceIds: description: > References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string vnfcCpInfo: description: > CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. type: array items: type: object required: - id - cpdId properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpdId: description: > An identifier that is unique within a VNF descriptor. type: string vnfExtCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpProtocolInfo: description: | Network protocol information for this CP. type: array items: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents information about a network address that has been assigned. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). Exactly one of "addresses" or "addressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP vnfLinkPortId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object virtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. type: array items: description: > This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance. type: object required: - id - vnfVirtualLinkDescId - networkResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique within a VNF descriptor. type: string networkResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string vnfLinkPorts: description: > Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. type: string enum: - VNFC_CP - EXT_CP metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object virtualStorageResourceInfo: description: > Information on the virtualised storage resource(s) used as storage for the VNF instance. type: array items: description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. type: object required: - id - virtualStorageDescId - storageResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string virtualStorageDescId: description: > An identifier that is unique within a VNF descriptor. type: string storageResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extensions: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object _links: description: | Links to resources related to this resource. type: object required: - self properties: self: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string indicators: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string instantiate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string terminate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string scale: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string scaleToLevel: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeFlavour: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string heal: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string operate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeExtConn: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string '400': description: > 400 BAD REQUEST 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the "ProblemDetails" structure to be returned. If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it 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 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. 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. The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '401': description: > 401 UNAUTHORIZED If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '403': description: > 403 FORBIDDEN If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '404': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '405': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '406': description: > 406 NOT ACCEPTABLE If the "Accept" 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. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '409': description: > Conflict Another request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '416': description: | 416 RANGE NOT SATISFIABLE headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '500': description: > 500 INTERNAL SERVER ERROR If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '503': description: > 503 SERVICE UNAVAILABLE If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '/vnf_instances/{vnfInstanceId}': parameters: - name: vnfInstanceId description: > Identifier of the VNF instance. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body of that response. in: path type: string required: true get: description: > Query VNF The GET method retrieves information about a VNF instance by reading an individual VNF instance resource. parameters: - name: Accept description: > Content-Types that are acceptable for the response. Reference: IETF RFC 7231 in: header required: true type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235 in: header required: false type: string - name: Content-Type description: | The MIME type of the body of the request. Reference: IETF RFC 7231 in: header required: true type: string - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true type: string responses: '200': description: > OK Information about zero or more VNF instances was queried successfully. The response body shall contain representations of zero or more VNF instances. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: | This type represents a VNF instance. type: object required: - id - vnfdId - vnfProvider - vnfProductName - vnfSoftwareVersion - vnfdVersion - vnfPkgId - instantiationState properties: id: description: | An identifier with the intention of being globally unique. type: string vnfInstanceName: description: > Name of the VNF instance. This attribute can be modified with the PATCH method. type: string vnfInstanceDescription: description: > Human-readable description of the VNF instance. This attribute can be modified with the PATCH method. type: string vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfProvider: description: > Provider of the VNF and the VNFD. The value is copied from the VNFD. type: string vnfProductName: description: > Name to identify the VNF Product. The value is copied from the VNFD. type: string vnfSoftwareVersion: description: | A Version. type: string vnfdVersion: description: | A Version. type: string vnfPkgId: description: | An identifier with the intention of being globally unique. type: string vnfConfigurableProperties: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method. type: array items: description: > This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM. type: object required: - id - vimType properties: id: description: > An identifier with the intention of being globally unique. type: string vimId: description: > An identifier with the intention of being globally unique. type: string vimType: description: > Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003. type: string interfaceInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object accessInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extra: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object instantiationState: description: | The instantiation state of the VNF. type: string enum: - NOT_INSTANTIATED - INSTANTIATED instantiatedVnfInfo: description: > Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED. type: object required: - flavourId - vnfState properties: flavourId: description: | An identifier that is unique within a VNF descriptor. type: string vnfState: type: string enum: - STARTED - STOPPED scaleStatus: description: > Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect. type: array items: required: - aspectId - scaleLevel type: object properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string scaleLevel: description: > Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD. type: integer extCpInfo: description: > Information about the external CPs exposed by the VNF instance. type: array minItems: 1 items: description: > This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1. type: object required: - id - cpdId - cpProtocolInfo properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpProtocolInfo: description: | Network protocol information for this CP. type: array items: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents information about a network address that has been assigned. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). Exactly one of "addresses" or "addressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP extLinkPortId: description: > An identifier with the intention of being globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object associatedVnfcCpId: description: > An identifier with the intention of being globally unique. type: string associatedVnfVirtualLinkId: description: > An identifier with the intention of being globally unique. type: string extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string extLinkPorts: description: | Link ports of this VL. type: array items: description: > This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string extManagedVirtualLinkInfo: description: | External virtual links the VNF instance is connected to. type: array items: type: object required: - id - vnfVirtualLinkDescId properties: id: description: > An identifier with the intention of being globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string networkResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string vnfLinkPorts: description: | Link ports of this VL. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. type: string enum: - VNFC_CP - EXT_CP monitoringParameters: description: | Active monitoring parameters. type: array items: type: object required: - id - performanceMetric properties: id: description: > An identifier that is unique within a VNF descriptor. type: string name: description: > Human readable name of the monitoring parameter, as defined in the VNFD. type: string performanceMetric: description: > Performance metric that is monitored. This attribute shall contain the related "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027. type: string localizationLanguage: description: > Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646. type: string vnfcResourceInfo: description: > Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance. type: array items: description: > This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. type: object required: - id - vduId - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string computeResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string storageResourceIds: description: > References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string vnfcCpInfo: description: > CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. type: array items: type: object required: - id - cpdId properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpdId: description: > An identifier that is unique within a VNF descriptor. type: string vnfExtCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpProtocolInfo: description: | Network protocol information for this CP. type: array items: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents information about a network address that has been assigned. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). Exactly one of "addresses" or "addressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP vnfLinkPortId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object virtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. type: array items: description: > This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance. type: object required: - id - vnfVirtualLinkDescId - networkResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique within a VNF descriptor. type: string networkResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string vnfLinkPorts: description: > Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. type: string enum: - VNFC_CP - EXT_CP metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object virtualStorageResourceInfo: description: > Information on the virtualised storage resource(s) used as storage for the VNF instance. type: array items: description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. type: object required: - id - virtualStorageDescId - storageResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string virtualStorageDescId: description: > An identifier that is unique within a VNF descriptor. type: string storageResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extensions: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object _links: description: | Links to resources related to this resource. type: object required: - self properties: self: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string indicators: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string instantiate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string terminate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string scale: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string scaleToLevel: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeFlavour: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string heal: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string operate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeExtConn: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string '400': description: > 400 BAD REQUEST 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the "ProblemDetails" structure to be returned. If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it 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 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. 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. The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '401': description: > 401 UNAUTHORIZED If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '403': description: > 403 FORBIDDEN If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '404': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '405': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '406': description: > 406 NOT ACCEPTABLE If the "Accept" 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. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '409': description: > Conflict Another request is in progress that prohibits the fulfilment of the current request, or the current resource state is inconsistent with the request. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '416': description: | 416 RANGE NOT SATISFIABLE headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '500': description: > 500 INTERNAL SERVER ERROR If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '503': description: > 503 SERVICE UNAVAILABLE If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI patch: description: > Modify VNF Information This method modifies an individual VNF instance resource. Changes to the VNF configurable properties are applied to the configuration in the VNF instance, and are reflected in the representation of this resource. Other changes are applied to the VNF instance information managed by the VNFM, and are reflected in the representation of this resource parameters: - name: VnfInfoModificationRequest description: | Input parameters for VNF info modification. required: true in: body schema: description: > This type represents attribute modifications for an "Individual VNF instance" resource, i.e. modifications to a resource representation based on the "VnfInstance" data type. type: object properties: vnfInstanceName: description: > New value of the "vnfInstanceName" attribute in "VnfInstance", or "null" to remove the attribute. type: string vnfInstanceDescription: description: > New value of the "vnfInstanceDescription" attribute in "VnfInstance", or "null" to remove the attribute. type: string vnfPkgId: description: | An identifier with the intention of being globally unique. type: string vnfConfigurableProperties: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extensions: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object vimConnectionInfo: description: > New content of certain entries in the "vimConnectionInfo" attribute array in "VnfInstance", as defined below this table. type: array items: description: > This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM. type: object required: - id - vimType properties: id: description: > An identifier with the intention of being globally unique. type: string vimId: description: > An identifier with the intention of being globally unique. type: string vimType: description: > Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003. type: string interfaceInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object accessInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extra: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object vimConnectionInfoDeleteIds: description: > List of identifiers entries to be deleted from the "vimConnectionInfo" attribute array in "VnfInstance", to be used as "deleteIdList" as defined below this table. type: array items: description: | An identifier with the intention of being globally unique. type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235 in: header required: false type: string - name: Content-Type description: > The Content-Type header shall be set to "application/merge-patch+json" according to IETF RFC 7396. in: header required: true type: string enum: - application/merge-patch+json - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true type: string responses: '202': description: > Accepted The request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "VNF LCM operation occurrence" resource corresponding to the operation. The response body shall be empty. headers: Location: description: The resource URI of the created VNF instance type: string format: url WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 '400': description: > 400 BAD REQUEST 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the "ProblemDetails" structure to be returned. If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it 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 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. 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. The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '401': description: > 401 UNAUTHORIZED If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '403': description: > 403 FORBIDDEN If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '404': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '405': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '406': description: > 406 NOT ACCEPTABLE If the "Accept" 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. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '409': description: > Conflict The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that another LCM operation is ongoing. The response body shall contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '412': description: > 412 PRECONDITION FAILED Error: A precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '500': description: > 500 INTERNAL SERVER ERROR If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '503': description: > 503 SERVICE UNAVAILABLE If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI delete: description: | Delete VNF Identifier This method deletes an individual VNF instance resource. parameters: - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235 in: header required: false type: string - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true type: string responses: '204': description: > No Content The VNF instance resource and the associated VNF identifier were deleted successfully. The response body shall be empty. headers: WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 '400': description: > 400 BAD REQUEST 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the "ProblemDetails" structure to be returned. If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it 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 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. 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. The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '401': description: > 401 UNAUTHORIZED If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '403': description: > 403 FORBIDDEN If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '404': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '405': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '406': description: > 406 NOT ACCEPTABLE If the "Accept" 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. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '409': description: > Conflict The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in INSTANTIATED state. The response body shall contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '412': description: > 412 PRECONDITION FAILED Error: A precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity. The response body should contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '500': description: > 500 INTERNAL SERVER ERROR If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '503': description: > 503 SERVICE UNAVAILABLE If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '/vnf_instances/{vnfInstanceId}/instantiate': parameters: - name: vnfInstanceId description: > Identifier of the VNF instance. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body of that response. in: path type: string required: true post: description: | Instantiate VNF The POST method instantiates a VNF instance. parameters: - name: InstantiateVnfRequest description: Parameters for the VNF instantiation. in: body required: true schema: type: object required: - flavourId properties: flavourId: description: | An identifier that is unique within a VNF descriptor. type: string instantiationLevelId: description: | An identifier that is unique within a VNF descriptor. type: string extVirtualLinks: description: | Information about external VLs to connect the VNF to. type: array items: description: | This type represents an external VL. type: object required: - id - resourceId - extCps properties: id: description: > An identifier with the intention of being globally unique. type: string vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string extCps: description: > External CPs of the VNF to be connected to this external VL. type: array items: description: > This type represents configuration information for external CPs created from a CPD. type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > List of instance data that need to be configured on the CP instances created from the respective CPD. type: array items: description: > This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. type: object properties: cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string linkPortId: description: > An identifier with the intention of being globally unique. type: string cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes "linkPortId" and "cpProtocolData": * The "linkPortId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. * At least one of these attributes shall be present for a to-be-created external CP instance or an existing external CP instance. * If the "linkPortId" attribute is absent, the VNFM shall create a link port. * If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a pre-created link port, and the VNFM can use means outside the scope of the present document to obtain the pre-configured address information for the connection point from the resource representing the link port. * If both "cpProtocolData" and "linkportId" are provided, the API consumer shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". type: array items: description: > This type represents network protocol data. type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents network address data for IP over Ethernet. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 fixedAddresses: description: > Fixed addresses to assign (from the subnet defined by "subnetId" if provided). Exactly one of "fixedAddresses", "numDynamicAddresses" or "ipAddressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP numDynamicAddresses: description: > Number of dynamic addresses to assign (from the subnet defined by "subnetId" if provided). Exactly one of "fixedAddresses", "numDynamicAddresses" or "ipAddressRange" shall be present. type: integer addressRange: description: > An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string extLinkPorts: description: > Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL. type: array items: description: > This type represents an externally provided link port to be used to connect an external connection point to an external VL. type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string extManagedVirtualLinks: description: | Information about internal VLs that are managed by the NFVO. type: array items: type: object required: - id - virtualLinkDescId - resourceId properties: id: description: > An identifier with the intention of being globally unique. type: string vnfVirtualLinkDescId: description: | An identifier that is unique within a VNF descriptor. type: string vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. type: array items: description: > This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM. type: object required: - id - vimType properties: id: description: > An identifier with the intention of being globally unique. type: string vimId: description: > An identifier with the intention of being globally unique. type: string vimType: description: > Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003. type: string interfaceInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object accessInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extra: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object localizationLanguage: description: > Localization language of the VNF to be instantiated. The value shall comply with the format defined in IETF RFC 5646. type: string additionalParams: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object - name: Accept description: > Content-Types that are acceptable for the response. Reference: IETF RFC 7231 in: header required: true type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235 in: header required: false type: string - name: Content-Type description: | The MIME type of the body of the request. Reference: IETF RFC 7231 in: header required: true type: string - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true type: string responses: '202': description: > Accepted The request was accepted for processing, but the processing has not been completed. The response body shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "VNF LCM operation occurrence" resource corresponding to the operation. headers: Location: description: The resource URI of the created VNF instance type: string format: url WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 '400': description: > 400 BAD REQUEST 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the "ProblemDetails" structure to be returned. If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it 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 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. 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. The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '401': description: > 401 UNAUTHORIZED If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '403': description: > 403 FORBIDDEN If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '404': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '405': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '406': description: > 406 NOT ACCEPTABLE If the "Accept" 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. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '409': description: > Conflict The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in INSTANTIATED state. The response body shall contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '416': description: | 416 RANGE NOT SATISFIABLE headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '500': description: > 500 INTERNAL SERVER ERROR If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '503': description: > 503 SERVICE UNAVAILABLE If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '/vnf_instances/{vnfInstanceId}/scale': parameters: - name: vnfInstanceId description: > Identifier of the VNF instance to be scaled. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body of that response. in: path type: string required: true post: description: | Scale VNF The POST method requests to scale a VNF instance resource incrementally. parameters: - name: ScaleVnfRequest description: Parameters for the scale VNF operation. in: body required: true schema: type: object required: - type - aspectId properties: type: description: > Indicates the type of the scale operation requested. Permitted values: * SCALE_OUT: adding additional VNFC instances to the VNF to increase capacity * SCALE_IN: removing VNFC instances from the VNF in order to release unused capacity. type: string enum: - SCALE_OUT - SCALE_IN aspectId: description: | An identifier that is unique within a VNF descriptor. type: string numberOfSteps: description: > Number of scaling steps to be executed as part of this Scale VNF operation. It shall be a positive number and the default value shall be 1. type: integer default: 1 additionalParams: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object - name: Accept description: > Content-Types that are acceptable for the response. Reference: IETF RFC 7231 in: header required: true type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235 in: header required: false type: string - name: Content-Type description: | The MIME type of the body of the request. Reference: IETF RFC 7231 in: header required: true type: string - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true type: string responses: '202': description: > Accepted The request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "VNF LCM operation occurrence" resource corresponding to the operation. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 Location: description: The resource URI of the created VNF instance type: string format: url WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 schema: description: | This type represents a VNF instance. type: object required: - id - vnfdId - vnfProvider - vnfProductName - vnfSoftwareVersion - vnfdVersion - vnfPkgId - instantiationState properties: id: description: | An identifier with the intention of being globally unique. type: string vnfInstanceName: description: > Name of the VNF instance. This attribute can be modified with the PATCH method. type: string vnfInstanceDescription: description: > Human-readable description of the VNF instance. This attribute can be modified with the PATCH method. type: string vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfProvider: description: > Provider of the VNF and the VNFD. The value is copied from the VNFD. type: string vnfProductName: description: > Name to identify the VNF Product. The value is copied from the VNFD. type: string vnfSoftwareVersion: description: | A Version. type: string vnfdVersion: description: | A Version. type: string vnfPkgId: description: | An identifier with the intention of being globally unique. type: string vnfConfigurableProperties: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method. type: array items: description: > This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM. type: object required: - id - vimType properties: id: description: > An identifier with the intention of being globally unique. type: string vimId: description: > An identifier with the intention of being globally unique. type: string vimType: description: > Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003. type: string interfaceInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object accessInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extra: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object instantiationState: description: | The instantiation state of the VNF. type: string enum: - NOT_INSTANTIATED - INSTANTIATED instantiatedVnfInfo: description: > Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED. type: object required: - flavourId - vnfState properties: flavourId: description: | An identifier that is unique within a VNF descriptor. type: string vnfState: type: string enum: - STARTED - STOPPED scaleStatus: description: > Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect. type: array items: required: - aspectId - scaleLevel type: object properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string scaleLevel: description: > Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD. type: integer extCpInfo: description: > Information about the external CPs exposed by the VNF instance. type: array minItems: 1 items: description: > This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1. type: object required: - id - cpdId - cpProtocolInfo properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpProtocolInfo: description: | Network protocol information for this CP. type: array items: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents information about a network address that has been assigned. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). Exactly one of "addresses" or "addressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP extLinkPortId: description: > An identifier with the intention of being globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object associatedVnfcCpId: description: > An identifier with the intention of being globally unique. type: string associatedVnfVirtualLinkId: description: > An identifier with the intention of being globally unique. type: string extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string extLinkPorts: description: | Link ports of this VL. type: array items: description: > This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string extManagedVirtualLinkInfo: description: | External virtual links the VNF instance is connected to. type: array items: type: object required: - id - vnfVirtualLinkDescId properties: id: description: > An identifier with the intention of being globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string networkResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string vnfLinkPorts: description: | Link ports of this VL. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. type: string enum: - VNFC_CP - EXT_CP monitoringParameters: description: | Active monitoring parameters. type: array items: type: object required: - id - performanceMetric properties: id: description: > An identifier that is unique within a VNF descriptor. type: string name: description: > Human readable name of the monitoring parameter, as defined in the VNFD. type: string performanceMetric: description: > Performance metric that is monitored. This attribute shall contain the related "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027. type: string localizationLanguage: description: > Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646. type: string vnfcResourceInfo: description: > Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance. type: array items: description: > This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. type: object required: - id - vduId - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string computeResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string storageResourceIds: description: > References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string vnfcCpInfo: description: > CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. type: array items: type: object required: - id - cpdId properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpdId: description: > An identifier that is unique within a VNF descriptor. type: string vnfExtCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpProtocolInfo: description: | Network protocol information for this CP. type: array items: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents information about a network address that has been assigned. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). Exactly one of "addresses" or "addressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP vnfLinkPortId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object virtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. type: array items: description: > This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance. type: object required: - id - vnfVirtualLinkDescId - networkResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique within a VNF descriptor. type: string networkResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string vnfLinkPorts: description: > Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. type: string enum: - VNFC_CP - EXT_CP metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object virtualStorageResourceInfo: description: > Information on the virtualised storage resource(s) used as storage for the VNF instance. type: array items: description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. type: object required: - id - virtualStorageDescId - storageResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string virtualStorageDescId: description: > An identifier that is unique within a VNF descriptor. type: string storageResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extensions: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object _links: description: | Links to resources related to this resource. type: object required: - self properties: self: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string indicators: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string instantiate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string terminate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string scale: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string scaleToLevel: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeFlavour: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string heal: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string operate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeExtConn: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string '400': description: > 400 BAD REQUEST 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the "ProblemDetails" structure to be returned. If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it 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 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. 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. The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '401': description: > 401 UNAUTHORIZED If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '403': description: > 403 FORBIDDEN If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '404': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '405': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '406': description: > 406 NOT ACCEPTABLE If the "Accept" 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. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '409': description: > Conflict The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '500': description: > 500 INTERNAL SERVER ERROR If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '503': description: > 503 SERVICE UNAVAILABLE If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '/vnf_instances/{vnfInstanceId}/scale_to_level': parameters: - name: vnfInstanceId description: > Identifier of the VNF instance to be scaled to a target level. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body of that response. in: path type: string required: true post: description: > Scale VNF to Level The POST method requests to scale a VNF instance resource to a target level. parameters: - name: ScaleVnfToLevelRequest description: Parameters for the scale VNF to Level operation. in: body required: true schema: description: > This type represents request parameters for the "Scale VNF to Level" operation. type: object properties: instantiationLevelId: description: | An identifier that is unique within a VNF descriptor. type: string scaleInfo: description: > For each scaling aspect of the current deployment flavour, indicates the target scale level to which the VNF is to be scaled. Either the instantiationLevelId attribute or the scaleInfo attribute shall be included. type: array items: required: - aspectId - scaleLevel type: object properties: aspectId: description: | An identifier that is unique within a VNF descriptor. type: string scaleLevel: description: > Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD. type: integer additionalParams: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object - name: Accept description: > Content-Types that are acceptable for the response. Reference: IETF RFC 7231 in: header required: true type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235 in: header required: false type: string - name: Content-Type description: | The MIME type of the body of the request. Reference: IETF RFC 7231 in: header required: true type: string - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true type: string responses: '202': description: > Accepted The request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "VNF LCM operation occurrence" resource corresponding to the operation. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 Location: description: The resource URI of the created VNF instance type: string format: url WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 schema: description: | This type represents a VNF instance. type: object required: - id - vnfdId - vnfProvider - vnfProductName - vnfSoftwareVersion - vnfdVersion - vnfPkgId - instantiationState properties: id: description: | An identifier with the intention of being globally unique. type: string vnfInstanceName: description: > Name of the VNF instance. This attribute can be modified with the PATCH method. type: string vnfInstanceDescription: description: > Human-readable description of the VNF instance. This attribute can be modified with the PATCH method. type: string vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfProvider: description: > Provider of the VNF and the VNFD. The value is copied from the VNFD. type: string vnfProductName: description: > Name to identify the VNF Product. The value is copied from the VNFD. type: string vnfSoftwareVersion: description: | A Version. type: string vnfdVersion: description: | A Version. type: string vnfPkgId: description: | An identifier with the intention of being globally unique. type: string vnfConfigurableProperties: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method. type: array items: description: > This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM. type: object required: - id - vimType properties: id: description: > An identifier with the intention of being globally unique. type: string vimId: description: > An identifier with the intention of being globally unique. type: string vimType: description: > Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003. type: string interfaceInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object accessInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extra: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object instantiationState: description: | The instantiation state of the VNF. type: string enum: - NOT_INSTANTIATED - INSTANTIATED instantiatedVnfInfo: description: > Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED. type: object required: - flavourId - vnfState properties: flavourId: description: | An identifier that is unique within a VNF descriptor. type: string vnfState: type: string enum: - STARTED - STOPPED scaleStatus: description: > Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect. type: array items: required: - aspectId - scaleLevel type: object properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string scaleLevel: description: > Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD. type: integer extCpInfo: description: > Information about the external CPs exposed by the VNF instance. type: array minItems: 1 items: description: > This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1. type: object required: - id - cpdId - cpProtocolInfo properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpProtocolInfo: description: | Network protocol information for this CP. type: array items: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents information about a network address that has been assigned. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). Exactly one of "addresses" or "addressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP extLinkPortId: description: > An identifier with the intention of being globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object associatedVnfcCpId: description: > An identifier with the intention of being globally unique. type: string associatedVnfVirtualLinkId: description: > An identifier with the intention of being globally unique. type: string extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string extLinkPorts: description: | Link ports of this VL. type: array items: description: > This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string extManagedVirtualLinkInfo: description: | External virtual links the VNF instance is connected to. type: array items: type: object required: - id - vnfVirtualLinkDescId properties: id: description: > An identifier with the intention of being globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string networkResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string vnfLinkPorts: description: | Link ports of this VL. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. type: string enum: - VNFC_CP - EXT_CP monitoringParameters: description: | Active monitoring parameters. type: array items: type: object required: - id - performanceMetric properties: id: description: > An identifier that is unique within a VNF descriptor. type: string name: description: > Human readable name of the monitoring parameter, as defined in the VNFD. type: string performanceMetric: description: > Performance metric that is monitored. This attribute shall contain the related "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027. type: string localizationLanguage: description: > Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646. type: string vnfcResourceInfo: description: > Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance. type: array items: description: > This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. type: object required: - id - vduId - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string computeResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string storageResourceIds: description: > References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string vnfcCpInfo: description: > CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. type: array items: type: object required: - id - cpdId properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpdId: description: > An identifier that is unique within a VNF descriptor. type: string vnfExtCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpProtocolInfo: description: | Network protocol information for this CP. type: array items: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents information about a network address that has been assigned. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). Exactly one of "addresses" or "addressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP vnfLinkPortId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object virtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. type: array items: description: > This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance. type: object required: - id - vnfVirtualLinkDescId - networkResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique within a VNF descriptor. type: string networkResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string vnfLinkPorts: description: > Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. type: string enum: - VNFC_CP - EXT_CP metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object virtualStorageResourceInfo: description: > Information on the virtualised storage resource(s) used as storage for the VNF instance. type: array items: description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. type: object required: - id - virtualStorageDescId - storageResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string virtualStorageDescId: description: > An identifier that is unique within a VNF descriptor. type: string storageResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extensions: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object _links: description: | Links to resources related to this resource. type: object required: - self properties: self: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string indicators: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string instantiate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string terminate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string scale: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string scaleToLevel: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeFlavour: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string heal: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string operate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeExtConn: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string '400': description: > 400 BAD REQUEST 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the "ProblemDetails" structure to be returned. If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it 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 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. 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. The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '401': description: > 401 UNAUTHORIZED If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '403': description: > 403 FORBIDDEN If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '404': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '405': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '406': description: > 406 NOT ACCEPTABLE If the "Accept" 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. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '409': description: > Conflict The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '500': description: > 500 INTERNAL SERVER ERROR If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '503': description: > 503 SERVICE UNAVAILABLE If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '/vnf_instances/{vnfInstanceId}/change_flavour': parameters: - name: vnfInstanceId description: > The identifier of the VNF instance of which the deployment flavour is requested to be changed. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body of that response. in: path type: string required: true post: description: | Change VNF Flavour The POST method changes the deployment flavour of a VNF instance. parameters: - name: ChangeVnfFlavourRequest description: Parameters for the Change VNF Flavour operation. in: body required: true schema: description: > This type represents request parameters for the "Change VNF flavour" operation. type: object required: - newFlavourId properties: newFlavourId: description: | An identifier that is unique within a VNF descriptor. type: string instantiationLevelId: description: | An identifier that is unique within a VNF descriptor. type: string extVirtualLinks: description: | Information about external VLs to connect the VNF to. type: array items: description: | This type represents an external VL. type: object required: - id - resourceId - extCps properties: id: description: > An identifier with the intention of being globally unique. type: string vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string extCps: description: > External CPs of the VNF to be connected to this external VL. type: array items: description: > This type represents configuration information for external CPs created from a CPD. type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > List of instance data that need to be configured on the CP instances created from the respective CPD. type: array items: description: > This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. type: object properties: cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string linkPortId: description: > An identifier with the intention of being globally unique. type: string cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. The following conditions apply to the attributes "linkPortId" and "cpProtocolData": * The "linkPortId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. * At least one of these attributes shall be present for a to-be-created external CP instance or an existing external CP instance. * If the "linkPortId" attribute is absent, the VNFM shall create a link port. * If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a pre-created link port, and the VNFM can use means outside the scope of the present document to obtain the pre-configured address information for the connection point from the resource representing the link port. * If both "cpProtocolData" and "linkportId" are provided, the API consumer shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". type: array items: description: > This type represents network protocol data. type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents network address data for IP over Ethernet. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 fixedAddresses: description: > Fixed addresses to assign (from the subnet defined by "subnetId" if provided). Exactly one of "fixedAddresses", "numDynamicAddresses" or "ipAddressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP numDynamicAddresses: description: > Number of dynamic addresses to assign (from the subnet defined by "subnetId" if provided). Exactly one of "fixedAddresses", "numDynamicAddresses" or "ipAddressRange" shall be present. type: integer addressRange: description: > An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string extLinkPorts: description: > Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL. type: array items: description: > This type represents an externally provided link port to be used to connect an external connection point to an external VL. type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string extManagedVirtualLinks: description: | Information about internal VLs that are managed by the NFVO. type: array items: type: object required: - id - virtualLinkDescId - resourceId properties: id: description: > An identifier with the intention of being globally unique. type: string vnfVirtualLinkDescId: description: | An identifier that is unique within a VNF descriptor. type: string vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. type: array items: description: > This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM. type: object required: - id - vimType properties: id: description: > An identifier with the intention of being globally unique. type: string vimId: description: > An identifier with the intention of being globally unique. type: string vimType: description: > Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003. type: string interfaceInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object accessInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extra: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object additionalParams: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object - name: Accept description: > Content-Types that are acceptable for the response. Reference: IETF RFC 7231 in: header required: true type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235 in: header required: false type: string - name: Content-Type description: | The MIME type of the body of the request. Reference: IETF RFC 7231 in: header required: true type: string - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true type: string responses: '202': description: > Accepted The request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "VNF LCM operation occurrence" resource corresponding to the operation. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 Location: description: The resource URI of the created VNF instance type: string format: url WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 schema: description: | This type represents a VNF instance. type: object required: - id - vnfdId - vnfProvider - vnfProductName - vnfSoftwareVersion - vnfdVersion - vnfPkgId - instantiationState properties: id: description: | An identifier with the intention of being globally unique. type: string vnfInstanceName: description: > Name of the VNF instance. This attribute can be modified with the PATCH method. type: string vnfInstanceDescription: description: > Human-readable description of the VNF instance. This attribute can be modified with the PATCH method. type: string vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfProvider: description: > Provider of the VNF and the VNFD. The value is copied from the VNFD. type: string vnfProductName: description: > Name to identify the VNF Product. The value is copied from the VNFD. type: string vnfSoftwareVersion: description: | A Version. type: string vnfdVersion: description: | A Version. type: string vnfPkgId: description: | An identifier with the intention of being globally unique. type: string vnfConfigurableProperties: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method. type: array items: description: > This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM. type: object required: - id - vimType properties: id: description: > An identifier with the intention of being globally unique. type: string vimId: description: > An identifier with the intention of being globally unique. type: string vimType: description: > Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003. type: string interfaceInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object accessInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extra: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object instantiationState: description: | The instantiation state of the VNF. type: string enum: - NOT_INSTANTIATED - INSTANTIATED instantiatedVnfInfo: description: > Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED. type: object required: - flavourId - vnfState properties: flavourId: description: | An identifier that is unique within a VNF descriptor. type: string vnfState: type: string enum: - STARTED - STOPPED scaleStatus: description: > Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect. type: array items: required: - aspectId - scaleLevel type: object properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string scaleLevel: description: > Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD. type: integer extCpInfo: description: > Information about the external CPs exposed by the VNF instance. type: array minItems: 1 items: description: > This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1. type: object required: - id - cpdId - cpProtocolInfo properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpProtocolInfo: description: | Network protocol information for this CP. type: array items: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents information about a network address that has been assigned. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). Exactly one of "addresses" or "addressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP extLinkPortId: description: > An identifier with the intention of being globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object associatedVnfcCpId: description: > An identifier with the intention of being globally unique. type: string associatedVnfVirtualLinkId: description: > An identifier with the intention of being globally unique. type: string extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string extLinkPorts: description: | Link ports of this VL. type: array items: description: > This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string extManagedVirtualLinkInfo: description: | External virtual links the VNF instance is connected to. type: array items: type: object required: - id - vnfVirtualLinkDescId properties: id: description: > An identifier with the intention of being globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string networkResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string vnfLinkPorts: description: | Link ports of this VL. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. type: string enum: - VNFC_CP - EXT_CP monitoringParameters: description: | Active monitoring parameters. type: array items: type: object required: - id - performanceMetric properties: id: description: > An identifier that is unique within a VNF descriptor. type: string name: description: > Human readable name of the monitoring parameter, as defined in the VNFD. type: string performanceMetric: description: > Performance metric that is monitored. This attribute shall contain the related "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027. type: string localizationLanguage: description: > Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646. type: string vnfcResourceInfo: description: > Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance. type: array items: description: > This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. type: object required: - id - vduId - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string computeResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string storageResourceIds: description: > References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string vnfcCpInfo: description: > CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. type: array items: type: object required: - id - cpdId properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpdId: description: > An identifier that is unique within a VNF descriptor. type: string vnfExtCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpProtocolInfo: description: | Network protocol information for this CP. type: array items: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents information about a network address that has been assigned. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). Exactly one of "addresses" or "addressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP vnfLinkPortId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object virtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. type: array items: description: > This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance. type: object required: - id - vnfVirtualLinkDescId - networkResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique within a VNF descriptor. type: string networkResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string vnfLinkPorts: description: > Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. type: string enum: - VNFC_CP - EXT_CP metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object virtualStorageResourceInfo: description: > Information on the virtualised storage resource(s) used as storage for the VNF instance. type: array items: description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. type: object required: - id - virtualStorageDescId - storageResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string virtualStorageDescId: description: > An identifier that is unique within a VNF descriptor. type: string storageResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extensions: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object _links: description: | Links to resources related to this resource. type: object required: - self properties: self: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string indicators: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string instantiate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string terminate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string scale: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string scaleToLevel: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeFlavour: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string heal: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string operate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeExtConn: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string '400': description: > 400 BAD REQUEST 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the "ProblemDetails" structure to be returned. If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it 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 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. 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. The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '401': description: > 401 UNAUTHORIZED If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '403': description: > 403 FORBIDDEN If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '404': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '405': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '406': description: > 406 NOT ACCEPTABLE If the "Accept" 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. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '409': description: > Conflict The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, or that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the "detail" attribute should convey more information about the error. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '500': description: > 500 INTERNAL SERVER ERROR If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '503': description: > 503 SERVICE UNAVAILABLE If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '/vnf_instances/{vnfInstanceId}/terminate': parameters: - name: vnfInstanceId description: > The identifier of the VNF instance to be terminated. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved from the "id" attribute in the payload body of that response. in: path type: string required: true post: description: | Terminate VNF The POST method terminates a VNF instance. 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. Permitted values: * FORCEFUL: The VNFM will shut down the VNF and release the resources immediately after accepting the request. * GRACEFUL: The VNFM will first arrange to take the VNF out of service after accepting the request. Once the operation of taking the VNF out of service finishes (irrespective of whether it has succeeded or failed) or once the timer value specified in the "gracefulTerminationTimeout" attribute expires, the VNFM will shut down the VNF and release the resources. type: string enum: - FORCEFUL - GRACEFUL gracefulTerminationTimeout: description: > This attribute is only applicable in case of graceful termination. It defines the time to wait for the VNF to be taken out of service before shutting down the VNF and releasing the resources. The unit is seconds. If not given and the "terminationType" attribute is set to "GRACEFUL", it is expected that the VNFM waits for the successful taking out of service of the VNF, no matter how long it takes, before shutting down the VNF and releasing the resources. type: integer additionalParams: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object - name: Accept description: > Content-Types that are acceptable for the response. Reference: IETF RFC 7231 in: header required: true type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235 in: header required: false type: string - name: Content-Type description: | The MIME type of the body of the request. Reference: IETF RFC 7231 in: header required: true type: string - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true type: string responses: '202': description: > Accepted The request was accepted for processing, but the processing has not been completed. On success, the HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "VNF LCM operation occurrence" resource corresponding to the operation. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 Location: description: The resource URI of the created VNF instance type: string format: url WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 schema: description: | This type represents a VNF instance. type: object required: - id - vnfdId - vnfProvider - vnfProductName - vnfSoftwareVersion - vnfdVersion - vnfPkgId - instantiationState properties: id: description: | An identifier with the intention of being globally unique. type: string vnfInstanceName: description: > Name of the VNF instance. This attribute can be modified with the PATCH method. type: string vnfInstanceDescription: description: > Human-readable description of the VNF instance. This attribute can be modified with the PATCH method. type: string vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfProvider: description: > Provider of the VNF and the VNFD. The value is copied from the VNFD. type: string vnfProductName: description: > Name to identify the VNF Product. The value is copied from the VNFD. type: string vnfSoftwareVersion: description: | A Version. type: string vnfdVersion: description: | A Version. type: string vnfPkgId: description: | An identifier with the intention of being globally unique. type: string vnfConfigurableProperties: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object vimConnectionInfo: description: > Information about VIM connections to be used for managing the resources for the VNF instance. This attribute shall only be supported and present if VNF-related resource management in direct mode is applicable. This attribute can be modified with the PATCH method. type: array items: description: > This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM. type: object required: - id - vimType properties: id: description: > An identifier with the intention of being globally unique. type: string vimId: description: > An identifier with the intention of being globally unique. type: string vimType: description: > Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the "interfaceInfo" and "accessInfo" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003. type: string interfaceInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object accessInfo: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extra: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object instantiationState: description: | The instantiation state of the VNF. type: string enum: - NOT_INSTANTIATED - INSTANTIATED instantiatedVnfInfo: description: > Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED. type: object required: - flavourId - vnfState properties: flavourId: description: | An identifier that is unique within a VNF descriptor. type: string vnfState: type: string enum: - STARTED - STOPPED scaleStatus: description: > Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect. type: array items: required: - aspectId - scaleLevel type: object properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string scaleLevel: description: > Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD. type: integer extCpInfo: description: > Information about the external CPs exposed by the VNF instance. type: array minItems: 1 items: description: > This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1. type: object required: - id - cpdId - cpProtocolInfo properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpProtocolInfo: description: | Network protocol information for this CP. type: array items: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents information about a network address that has been assigned. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). Exactly one of "addresses" or "addressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP extLinkPortId: description: > An identifier with the intention of being globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object associatedVnfcCpId: description: > An identifier with the intention of being globally unique. type: string associatedVnfVirtualLinkId: description: > An identifier with the intention of being globally unique. type: string extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string extLinkPorts: description: | Link ports of this VL. type: array items: description: > This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string extManagedVirtualLinkInfo: description: | External virtual links the VNF instance is connected to. type: array items: type: object required: - id - vnfVirtualLinkDescId properties: id: description: > An identifier with the intention of being globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string networkResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string vnfLinkPorts: description: | Link ports of this VL. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. type: string enum: - VNFC_CP - EXT_CP monitoringParameters: description: | Active monitoring parameters. type: array items: type: object required: - id - performanceMetric properties: id: description: > An identifier that is unique within a VNF descriptor. type: string name: description: > Human readable name of the monitoring parameter, as defined in the VNFD. type: string performanceMetric: description: > Performance metric that is monitored. This attribute shall contain the related "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027. type: string localizationLanguage: description: > Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646. type: string vnfcResourceInfo: description: > Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance. type: array items: description: > This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. type: object required: - id - vduId - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string computeResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string storageResourceIds: description: > References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string vnfcCpInfo: description: > CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. type: array items: type: object required: - id - cpdId properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpdId: description: > An identifier that is unique within a VNF descriptor. type: string vnfExtCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpProtocolInfo: description: | Network protocol information for this CP. type: array items: description: > This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses. required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: IP_OVER_ETHERNET This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported. type: string enum: - IP_OVER_ETHERNET ipOverEthernet: description: > This type represents information about a network address that has been assigned. type: object properties: macAddress: description: > A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons. type: string format: MAC ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. type: array items: type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 addresses: description: > Fixed addresses assigned (from the subnet defined by "subnetId" if provided). Exactly one of "addresses" or "addressRange" shall be present. type: array items: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP isDynamic: description: > Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if "addresses" is present and shall be absent otherwise. type: boolean addressRange: description: > An IP address range used, e.g., in case of egress connections. Exactly one of "addresses" or "addressRange" shall be present. type: object required: - minAddress - maxAddress properties: minAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP maxAddress: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP subnetId: description: > An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons. type: string format: IP vnfLinkPortId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object virtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. type: array items: description: > This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance. type: object required: - id - vnfVirtualLinkDescId - networkResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique within a VNF descriptor. type: string networkResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string vnfLinkPorts: description: > Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise. type: array items: type: object required: - id - resourceHandle properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string cpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string cpInstanceType: description: > Type of the CP instance that is identified by cpInstanceId. Shall be present if "cpInstanceId" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. type: string enum: - VNFC_CP - EXT_CP metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object virtualStorageResourceInfo: description: > Information on the virtualised storage resource(s) used as storage for the VNF instance. type: array items: description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. type: object required: - id - virtualStorageDescId - storageResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string virtualStorageDescId: description: > An identifier that is unique within a VNF descriptor. type: string storageResource: required: - vimConnectionId - resourceId type: object description: > This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM. properties: vimConnectionId: description: > An identifier with the intention of being globally unique. type: string resourceProviderId: description: > An identifier with the intention of being globally unique. type: string resourceId: description: > An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. type: string vimLevelResourceType: description: > Type of the resource in the scope of the VIM or the resource provider. type: string reservationId: description: > An identifier with the intention of being globally unique. type: string metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object metadata: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object extensions: description: > This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159. type: object _links: description: | Links to resources related to this resource. type: object required: - self properties: self: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string indicators: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string instantiate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string terminate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string scale: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string scaleToLevel: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeFlavour: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string heal: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string operate: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeExtConn: description: > This type represents a link to a resource using an absolute URI. It shall comply with the provisions defined in table 4.4.1.3-1. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string '400': description: > 400 BAD REQUEST 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the "ProblemDetails" structure to be returned. If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it 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 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. 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. The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '401': description: > 401 UNAUTHORIZED If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '403': description: > 403 FORBIDDEN If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '404': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '405': description: > 404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. type: string maximum: 1 minimum: 1 schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19]. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '406': description: > 406 NOT ACCEPTABLE If the "Accept" 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. headers: Content-Type: description: The MIME type of the body of the response. type: string maximum: 1 minimum: 1 WWW-Authenticate: description: > Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token. type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in 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 78