openapi: 3.0.2 info: title: SOL002 - VNF Lifecycle Management interface description: | SOL002 - VNF Lifecycle Management interface 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. Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues contact: name: NFV-SOL WG license: name: ETSI Forge copyright notice url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' version: '2.10.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' externalDocs: description: ETSI GS NFV-SOL 002 V4.3.1 url: >- https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/04.03.01_60/gs_NFV-SOL002v040301p.pdf servers: - url: 'http://127.0.0.1/vnflcm/v2' - url: 'https://127.0.0.1/vnflcm/v2' paths: /api_versions: get: description: > The GET method reads API version information. This method shall follow the provisions specified in SOL013 table 9.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not supported. responses: '200': description: > API version information was read successfully. The response body shall contain API version information, as defined in clause 7.1.6. headers: Content-Type: description: The MIME type of the body of the response. schema: type: string maximum: 1 minimum: 1 Version: description: The used API version. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: | This type represents API version information. 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 9.1 (SOL013). 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 '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 post: description: > This method is not supported. When this method is requested on this resource, the API producer shall return a "405 Method Not Allowed" response as defined in SOL013 clause 6.4. responses: '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 put: description: > This method is not supported. When this method is requested on this resource, the API producer shall return a "405 Method Not Allowed" response as defined in SOL013 clause 6.4. responses: '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: > This method is not supported. When this method is requested on this resource, the API producer shall return a "405 Method Not Allowed" response as defined in SOL013 clause 6.4. responses: '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: > This method is not supported. When this method is requested on this resource, the API producer shall return a "405 Method Not Allowed" response as defined in SOL013 clause 6.4. responses: '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: parameters: - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string get: description: > The GET method queries information about multiple VNF instances. See clause 5.4.2.3.2. parameters: - name: Accept description: > Content-Types that are acceptable for the response. Reference: IETF RFC 7231. in: header required: true schema: type: string - $ref: '#/components/parameters/filter_vnf_instances' - name: all_fields description: > Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. The VNFM shall support this parameter. in: query required: false schema: type: string - name: fields description: > Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. The VNFM should support this parameter. in: query required: false schema: type: string - name: exclude_fields description: > Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. The VNFM should support this parameter. in: query required: false schema: type: string - $ref: '#/components/parameters/exclude_default_vnf_instances' - 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 5.4.2.1 of ETSI GS NFV-SOL 013 [6] for this resource. in: query required: false schema: type: string responses: '200': $ref: '#/components/responses/VnfInstances.Get.200' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 post: description: > The POST method creates a new VNF instance resource based on a VNF package that is onboarded and in "ENABLED" state. See clause 5.4.2.3.1. parameters: - name: Accept description: > Content-Types that are acceptable for the response. Reference: IETF RFC 7231. in: header required: true schema: type: string - name: Content-Type description: | The MIME type of the body of the request. Reference: IETF RFC 7231 in: header required: true schema: type: string requestBody: $ref: '#/components/requestBodies/VnfInstanceCreationRequest' responses: '201': $ref: '#/components/responses/VnfInstances.Post.201' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: - $ref: '#/components/parameters/VnfInstanceId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string get: description: > Information about a VNF instance by reading an "Individual VNF instance". See clause 5.4.3.3.2. responses: '200': $ref: '#/components/responses/IndividualVnfInstance.Get.200' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: > This method deletes an "Individual VNF instance" resource. See clause 5.4.3.3.5. responses: '204': $ref: '#/components/responses/IndividualVnfInstance.Delete.204' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/IndividualVnfInstance.Delete.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: > This method modifies an "Individual VNF instance" resource. See clause 5.4.3.3.4. parameters: - name: If-Unmodified-Since description: > Used to make the request method conditional on the selected resource representation's last modification date being earlier than or equal to the date provided in the field-value. If the condition is not met, the request fails with a "412 Precondition Failed" response. required: false in: header schema: type: string format: date-time - name: If-Match description: > Used to make the request method conditional on the recipient origin server either having at least one current representation of the target resource, when the field-value is "*", or having a current representation of the target resource that has an entity-tag matching a member of the list of entity-tags provided in the field-value. If the condition is not met, the request fails with a "412 Precondition Failed" response. required: false in: header schema: type: string requestBody: $ref: '#/components/requestBodies/VnfInstanceModificationRequest' responses: '202': $ref: '#/components/responses/IndividualVnfInstance.Patch.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/IndividualVnfInstance.Patch.409' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: - $ref: '#/components/parameters/VnfInstanceId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: | The POST method instantiates a VNF instance. See clause 5.4.4.3.1. requestBody: $ref: '#/components/requestBodies/VnfInstanceInstantiationRequest' responses: '202': $ref: '#/components/responses/InstantiateVnfInstance.Post.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/InstantiateVnfInstance.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: - $ref: '#/components/parameters/VnfInstanceId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: > The POST method requests to scale a VNF instance resource incrementally. See clause 5.4.5.3.1. requestBody: $ref: '#/components/requestBodies/VnfInstanceScaleRequest' responses: '202': $ref: '#/components/responses/ScaleVnfInstance.Post.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/ScaleVnfInstance.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: - $ref: '#/components/parameters/VnfInstanceId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: > The POST method requests to scale a VNF instance resource to a target level. See clause 5.4.6.3.1. requestBody: $ref: '#/components/requestBodies/VnfInstanceScaleToLevelRequest' responses: '202': $ref: '#/components/responses/ScaleVnfInstanceToLevel.Post.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/ScaleVnfInstanceToLevel.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: - $ref: '#/components/parameters/VnfInstanceId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: > The POST method changes the deployment flavour of a VNF instance. See clause 5.4.7.3.1. requestBody: $ref: '#/components/requestBodies/VnfInstanceChangeFlavourRequest' responses: '202': $ref: '#/components/responses/VnfInstanceChangeFlavour.Post.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/VnfInstanceChangeFlavour.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: - $ref: '#/components/parameters/VnfInstanceId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: > The POST method triggers the VNFM to terminate a VNF instance and to request to the VIM the release of its used virtualised resources. See clause 5.4.8.3.1. requestBody: $ref: '#/components/requestBodies/VnfInstanceTerminationRequest' responses: '202': $ref: '#/components/responses/TerminateVnfInstance.Post.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/TerminateVnfInstance.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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}/heal': parameters: - $ref: '#/components/parameters/VnfInstanceId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: | The POST method requests to heal a VNF instance. See clause 5.4.9.3.1. requestBody: $ref: '#/components/requestBodies/VnfInstanceHealRequest' responses: '202': $ref: '#/components/responses/HealVnfInstance.Post.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/HealVnfInstance.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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}/operate': parameters: - $ref: '#/components/parameters/VnfInstanceId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: > The POST method changes the operational state of a VNF instance. See clause 5.4.10.3.1. requestBody: $ref: '#/components/requestBodies/VnfInstanceOperateRequest' responses: '202': $ref: '#/components/responses/OperateVnfInstance.Post.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/OperateVnfInstance.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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_ext_conn': parameters: - $ref: '#/components/parameters/VnfInstanceId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: > The POST method changes the external connectivity of a VNF instance. See clause 5.4.11.3.1. requestBody: $ref: '#/components/requestBodies/VnfInstanceChangeExtConnRequest' responses: '202': $ref: '#/components/responses/VnfInstanceChangeExtConn.Post.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/VnfInstanceChangeExtConn.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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_vnfpkg': parameters: - $ref: '#/components/parameters/VnfInstanceId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: > The POST method changes the current VNF package on which the VNF instance is based. See clause 5.4.11a.3.1. requestBody: $ref: '#/components/requestBodies/VnfInstanceChangeVnfPkgRequest' responses: '202': $ref: '#/components/responses/VnfInstanceChangeVnfPkg.Post.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/VnfInstanceChangeVnfPkg.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI /vnf_lcm_op_occs: parameters: - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string get: description: > The client can use this method to query status information about multiple VNF lifecycle management operation occurrences. See clause 5.4.12.3.2. parameters: - $ref: '#/components/parameters/filter_vnf_lcm_op_occs' - name: all_fields description: > Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. The VNFM shall support this parameter. in: query required: false schema: type: string - name: fields description: > Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. The VNFM should support this parameter. in: query required: false schema: type: string - name: exclude_fields description: > Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. The VNFM should support this parameter. in: query required: false schema: type: string - $ref: '#/components/parameters/exclude_default_vnf_lcm_op_occs' - 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 5.4.2.1 of ETSI GS NFV-SOL 013 [6] for this resource. in: query required: false schema: type: string responses: '200': $ref: '#/components/responses/VnfLcmOpOccs.Get.200' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '/vnf_lcm_op_occs/{vnfLcmOpOccId}': parameters: - $ref: '#/components/parameters/VnfLcmOpOccId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string get: description: > The client can use this method to retrieve status information about a VNF lifecycle management operation occurrence by reading an "Individual VNF LCM operation occurrence" resource. See clause 5.4.13.3.2. responses: '200': $ref: '#/components/responses/IndividualVnfLcmOpOcc.Get.200' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry': parameters: - $ref: '#/components/parameters/VnfLcmOpOccId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: > The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related "Individual VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. See clause 5.4.14.3.1. responses: '202': $ref: '#/components/responses/VnfLcmOpOccRetry.Post.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/VnfLcmOpOccRetry.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback': parameters: - $ref: '#/components/parameters/VnfLcmOpOccId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: > The POST method initiates rolling back a VNF lifecycle operation if that operation has experienced a temporary failure, i.e. the related "Individual VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. See clause 5.4.15.3.1. responses: '202': $ref: '#/components/responses/VnfLcmOpOccRollback.Post.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/VnfLcmOpOccRollback.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail': parameters: - $ref: '#/components/parameters/VnfLcmOpOccId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: > The POST method marks a VNF lifecycle management operation occurrence as "finally failed" if that operation occurrence is in "FAILED_TEMP" state. See clause 5.4.16.3.1. responses: '200': $ref: '#/components/responses/VnfLcmOpOccFail.Post.200' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/VnfLcmOpOccFail.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel': parameters: - $ref: '#/components/parameters/VnfLcmOpOccId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: > The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the related "Individual VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. See clause 5.4.17.3.1. responses: '202': $ref: '#/components/responses/VnfLcmOpOccCancel.Post.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/VnfLcmOpOccCancel.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI /subscriptions: parameters: - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string get: description: > The GET method queries the list of active subscriptions of the functional block that invokes the method. It can be used e.g. for resynchronization after error situations. See clause 5.4.18.3.2. parameters: - $ref: '#/components/parameters/filter_subscriptions' - 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 5.4.2.1 of ETSI GS NFV-SOL 013 [6] for this resource. in: query required: false schema: type: string responses: '200': $ref: '#/components/responses/Subscriptions.Get.200' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 post: description: | The POST method creates a new subscription. See clause 5.4.18.3.1. requestBody: $ref: '#/components/requestBodies/VnfLcmSubscriptionRequest' responses: '201': $ref: '#/components/responses/Subscriptions.Post.201' '303': description: | 303 See Other headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI '/subscriptions/{subscriptionId}': parameters: - $ref: '#/components/parameters/SubscriptionId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string get: description: > The GET method retrieves information about a subscription by reading an "Individual subscription" resource. See clause 5.4.19.3.2. responses: '200': $ref: '#/components/responses/IndividualSubscription.Get.200' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: > The DELETE method terminates an individual subscription. See clause 5.4.19.3.5. responses: '204': $ref: '#/components/responses/IndividualSubscription.Delete.204' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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}/create_snapshot': parameters: - $ref: '#/components/parameters/VnfInstanceId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: > The POST method requests tacking a VNF instance snapshot and populating a previously created VNF snapshot resource (refer to clause 5.4.23.3.1) with the snapshot content. See clause 5.4.21.3.1. requestBody: $ref: '#/components/requestBodies/VnfInstanceCreateSnapshotRequest' responses: '202': $ref: '#/components/responses/VnfInstanceCreateSnapshot.Post.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/VnfInstanceCreateSnapshot.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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}/revert_to_snapshot': parameters: - $ref: '#/components/parameters/VnfInstanceId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: > The POST method requests reverting a VNF/VNFC instance to a VNF/VNFC snapshot. See clause 5.4.22.3.1. requestBody: $ref: '#/components/requestBodies/VnfInstanceRevertToSnapshotRequest' responses: '202': $ref: '#/components/responses/VnfInstanceRevertToSnapshot.Post.202' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/VnfInstanceRevertToSnapshot.Post.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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_snapshots: parameters: - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string post: description: > The POST method creates a new individual VNF snapshot resource. See clause 5.4.23.3.1. requestBody: $ref: '#/components/requestBodies/VnfSnapshotsRequest' responses: '201': $ref: '#/components/responses/VnfSnapshots.Post.201' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: | 409 CONFLICT headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: > The GET method queries information about multiple VNF/VNFC snapshots. See clause 5.4.23.3.2. parameters: - name: Accept description: > Content-Types that are acceptable for the response. Reference: IETF RFC 7231. in: header required: true schema: type: string - $ref: '#/components/parameters/filter_vnf_snapshots' - name: all_fields description: > Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. The VNFM shall support this parameter. in: query required: false schema: type: string - name: fields description: > Complex attributes to be included into the response. See clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. The VNFM should support this parameter. in: query required: false schema: type: string - name: exclude_fields description: > Complex attributes to be excluded from the response. See clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. The VNFM should support this parameter. in: query required: false schema: type: string - $ref: '#/components/parameters/exclude_default_vnf_snapshots' - 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 5.4.2.1 of ETSI GS NFV-SOL 013 [6] for this resource. in: query required: false schema: type: string responses: '200': $ref: '#/components/responses/VnfSnapshots.Get.200' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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_snapshots/{vnfSnapshotInfoId}': parameters: - $ref: '#/components/parameters/VnfSnapshotInfoId' - name: Version description: | Version of the API requested to use when responding to this request. in: header required: true schema: type: string - name: Authorization description: | The authorization token for the request. Reference: IETF RFC 7235. in: header required: false schema: type: string get: description: > The GET method retrieves information about a VNF /VNFC snapshot by reading an individual VNF snapshot resource. See clause 5.4.24.3.2. responses: '200': $ref: '#/components/responses/IndividualVnfSnapshot.Get.200' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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: > This method deletes an individual VNF snapshot resource and the associated VNF snapshot information managed by the VNFM, and any resource associated to the VNF/VNFC snapshot managed by the VIM. See clause 5.4.24.3.5. responses: '204': $ref: '#/components/responses/IndividualVnfSnapshot.Delete.204' '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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted. headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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': $ref: '#/components/responses/IndividualVnfSnapshot.Delete.409' '416': description: | 416 Range Not Satisfiable headers: Content-Type: description: The MIME type of the body of the response. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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. schema: 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. schema: type: string maximum: 1 minimum: 0 Version: description: | Version of the API used in the response. schema: type: string maximum: 1 minimum: 1 content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 components: parameters: filter_vnf_snapshots: name: filter description: > Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013 [6]. The VNFM shall support receiving this parameter as part of the URI query string. The EM may supply this parameter. All attribute names that appear in the VnfSnapshot and in data types referenced from it shall be supported by the VNFM in the filter expression. in: query required: false schema: type: string exclude_default_vnf_snapshots: name: exclude_default in: query description: >- Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. The VNFM shall support this parameter. The following attributes shall be excluded from the VnfSnapshot structure in the response body if this parameter is provided, or none of the parameters "all_fields," "fields", "exclude_fields", "exclude_default" are provided: - vnfInstance - vnfcSnapshots required: false schema: type: string filter_subscriptions: name: filter description: > Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013 [6]. The VNFM shall support receiving this parameter as part of the URI query string. The EM may supply this parameter. All attribute names that appear in the LccnSubscription and in data types referenced from it shall be supported by the VNFM in the filter expression. in: query required: false schema: type: string filter_vnf_lcm_op_occs: name: filter description: > Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013 [6]. The VNFM shall support receiving this parameter as part of the URI query string. The EM/VNF may supply this parameter. All attribute names that appear in the VnfLcmOpOcc and in data types referenced from it shall be supported by the VNFM in the filter expression. in: query required: false schema: type: string exclude_default_vnf_lcm_op_occs: name: exclude_default in: query description: > Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. The VNFM shall support this parameter. The following attributes shall be excluded from the VnfLcmOpOcc structure in the response body if this parameter is provided, or none of the parameters "all_fields", "fields", "exclude_fields", "exclude_default" are provided: - operationParams - error - resourceChanges - changedInfo - changedExtConnectivity - lcmCoordinations - modificationsTriggeredByVnfPkgChange - warnings required: false schema: type: string filter_vnf_instances: name: filter description: > Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013 [6]. The VNFM shall support receiving this parameter as part of the URI query string. The EM 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 schema: type: string exclude_default_vnf_instances: name: exclude_default in: query description: >- Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 [6] 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: - vnfConfigurableProperties - instantiatedVnfInfo - metadata - extensions required: false schema: type: string VnfInstanceId: name: vnfInstanceId in: path 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. required: true style: simple explode: false schema: type: string VnfLcmOpOccId: name: vnfLcmOpOccId in: path description: > Identifier of a VNF lifecycle management operation occurrence. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation. It can also be retrieved from the "vnfLcmOpOccId" attribute in the VnfLcmOperationOccurrenceNotification. required: true style: simple explode: false schema: type: string SubscriptionId: name: subscriptionId in: path description: > Identifier of this subscription. This identifier can be retrieved from the resource referenced by the "Location" HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from the "id" attribute in the payload body of that response. required: true style: simple explode: false schema: type: string VnfSnapshotInfoId: name: vnfSnapshotInfoId in: path description: > Identifier of the individual VNF snapshot resource. 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 snapshot resource. It can also be retrieved from the "id" attribute in the payload body of that response. required: true style: simple explode: false schema: type: string requestBodies: VnfInstanceCreationRequest: description: | The VNF creation parameters, as defined in clause 5.5.2.3. content: application/json: schema: description: > This type represents request parameters for the "Create VNF identifier" operation. 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 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object required: true VnfInstanceModificationRequest: description: Input parameters for VNF info modification content: application/json: 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. The attributes of "VnfInstance" that can be modified according to the provisions in clause 5.5.2.2 are included in the "VnfInfoModificationRequest" 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 vnfdId: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfcInfoModifications: description: > Modifications of certain entries in the "vnfcInfo" attribute array in the "instantiatedVnfInfo" attribute of "VnfInstance" to be used as "newList" as defined below this table. The following provisions shall apply when modifying an attribute that is an array of objects of type "VnfcInfo" by supplying an array of objects of type "VnfcInfoModifications". Assumptions: 1) "oldList" is the "VnfcInfo" array to be modified and "newList" is the "VnfcInfoModifications" array that contains the changes. 2) "oldEntry" is an entry in "oldList" and "newEntry" is an entry in "newList". 3) A "newEntry" has a "corresponding entry" if there exists an "oldEntry" that has the same content of the "id" attribute as the "newEntry"; a "newEntry" has no corresponding entry if no such "oldEntry" exists. 4) In any array of "VnfcInfo" resp. "VnfcInfoModifications" structures, the content of "id" is unique (i.e. there are no two entries with the same content of "id"). Provisions: 1) For each "newEntry" in "newList" that has no corresponding entry in "oldList", the "oldList" array shall be modified by adding that "newEntry". 2) For each "newEntry" in "newList" that has a corresponding "oldEntry" in "oldList", the value of "oldEntry" shall be updated with the content of "newEntry" as specified for the data type of "newEntry (refer to clause 5.5.3.24 for the data type "VnfcInfoModifications"). type: array items: description: "This type represents modifications of an entry in an array of \"VnfcInfo\" objects. * NOTE:\tThe attribute \"id\" in this data type represents the same identifier as the attribute\n \"vnfcInstanceId\" in other related data types in the present document. For reasons of backward\n compatibility, this misalignment is not corrected.\n" type: object required: - id - vnfcConfigurableProperties properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcConfigurableProperties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object required: true VnfInstanceInstantiationRequest: description: Parameters for the VNF instantiation. content: application/json: schema: description: > This type represents request parameters for the "Instantiate VNF" operation. * NOTE 1: The indication of externally-managed internal VLs is needed in case networks have been pre-configured for use with certain VNFs, for instance to ensure that these networks have certain properties such as security or acceleration features, or to address particular network topologies. The present document assumes that externally-managed internal VLs are managed by the NFVO and created towards the VIM. NOTE 2: The target size for VNF instantiation may be specified in either instantiationLevelId or targetScaleLevelInfo, but not both. If none of the two attributes (instantiationLevelId or targetScaleLevelInfo) are present, the default instantiation level as declared in the VNFD shall be used. NOTE 3: If targetScaleLevelInfo is specified, information provided in targetScaleLevelInfo shall be used for instantiating scalable constituents of the VNF (e.g, VDUs/VLs). For scaling aspects not specified in targetScaleLevelInfo or for the VNF constituents (e.g., VDUs/VLs) that are not scalable, the default instantiation level as declared in the VNFD shall be used for instantiation. anyOf: - required: - instantiationLevelId - required: - targetScaleLevelInfo 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 targetScaleLevelInfo: description: > This attribute is applicable if VNF supports target scale level instantiation. For each scaling aspect of the current deployment flavour, the attribute specifies the scale level of VNF constituents (e.g., VDU level) to be instantiated. See notes 2 and 3. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: | An identifier that is unique within a VNF descriptor. type: string vnfdId: description: | An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. type: string extVirtualLinks: description: > Information about external VLs to connect the VNF to, including configuration information for the CPs via which the VNF instance can attach to this VL. The following applies to the "ExtVirtualLinkData" information provided in this request: Even if the VNF is not instantiated in fully scaled-out state, the API consumer shall provide enough CP configuration records to allow connecting the VNF instance, fully scaled out in all scaling aspects, to the external VLs. type: array items: description: "This type represents an external VL. * NOTE 1: The information about the VIM connection referenced by the VIM connection id is known to the VNFM. \n Moreover, the identifier of the VIM connection provides scope to the resourceId.\n\n* NOTE 2:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases:\n 1) For a VIP CP directly exposed as an external CP:\n 1.1) No dedicated IP address is allocated as VIP address, as indicated in the VNFD.\n 1.2) A dedicated IP address is allocated as VIP address, but the NFVO indicates that no port is needed\n (createExtLinkPort in VnfExtCpConfig set to false).\n 2) For a VIP CP exposed as an external CP via a floating IP address:\n 2.1) No dedicated IP address is allocated as VIP address, as indicated in the VNFD, and the VNFC CP\n associated to the VIP CP is also exposed via a floating IP address.\n 3) For a VIRTUAL CP exposed as an external CP.\n 4) For a VNFC CP exposed as an external CP in a secondary container cluster external network.\n\n* NOTE 3: An example of the network attachment definition resource when the container infrastructure service\n management is a Kubernetes® instance is a network attachment definition (NAD).\n" 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 the CISM 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. Entries in the list of external CP data that are unchanged need not be supplied if the ExtVirtualLinkData structure is part of a request or response that modifies the external connectivity. type: array items: description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n* NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value \n is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig\n map entry may be used by an external CP instance different than the one that has used it before the\n operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\"\n operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n" type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4. type: object additionalProperties: description: > This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. 2. In case 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. In the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. * NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" for an external CP instance connected or to be connected to a virtual network not categorized as secondary container cluster network: 1) Void. 2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing external CP instance that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a precreated 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. 5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: - linkPortId - required: - cpProtocolData - required: - netAttDefResourceId type: object properties: parentCpConfigId: 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 createExtLinkPort: description: > Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise. type: boolean cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2. type: array items: description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET. - IP_FOR_VIRTUAL_CP See note type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI's transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange 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 segmentationType: description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n" type: string enum: - VLAN - INHERIT segmentationId: description: > Identification of the network segment to which the CP instance connects to. See note 3 and note 4. type: string 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. See note 1. 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). See note 2. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: 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. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 netAttDefResourceId: description: > Identifier of the “NetAttDefResourceData” structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 2, 3 and 4. type: array items: description: > An identifier with the intention of being globally unique. 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 except in the cases defined below. See note 2. 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. * NOTE:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n" type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string extNetAttDefResourceData: description: > Externally provided network attachment definition resource(s) that provide the specification of the interface to attach external CPs to this external VL. See note 3. It is only applicable if the external VL is realized by a secondary container cluster network. It shall not be present otherwise. type: array items: description: > This type represents a network attachment definition resource that provides the specification of the interface to be used to connect one or multiple connection points to a secondary container cluster network realizing a VL. type: object required: - netAttDefResourceId - resourceHandle properties: netAttDefResourceId: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string extManagedVirtualLinks: description: > Information about external VLs to connect the VNF to. See note 1. type: array items: description: "This type represents an externally-managed internal VL. * NOTE:\tThe information about the VIM connection referenced by the VIM connection id is known to the VNFM.\n Moreover, the identifier of the VIM connection provides scope to the resourceId.\n" 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object required: true VnfInstanceScaleRequest: description: Parameters for the scale VNF operation. content: application/json: schema: description: > This type represents request parameters for the "Scale VNF" operation. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object required: true VnfInstanceScaleToLevelRequest: description: Parameters for the scale VNF to Level operation. content: application/json: schema: description: "This type represents request parameters for the \"Scale VNF to Level\" operation.\nNOTE:\tEither the instantiationLevelId attribute or the scaleInfo attribute shall \n be included.\n" type: object anyOf: - oneOf: - required: - instantiationLevelId - required: - scaleInfo 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. See note. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: | An identifier that is unique within a VNF descriptor. type: string vnfdId: description: | An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object required: true VnfInstanceChangeFlavourRequest: description: Parameters for the Change VNF Flavour operation. content: application/json: schema: description: "This type represents request parameters for the \"Change VNF flavour\" operation. * NOTE 1:\tThe indication of externally-managed internal VLs is needed in case networks have been\n pre-configured for use with certain VNFs, for instance to ensure that these networks have certain\n properties such as security or acceleration features, or to address particular network topologies.\n The present document assumes that externally-managed internal VLs are managed by the NFVO and\n created towards the VIM.\n NOTE 2: The target size for VNF instantiation may be specified in either instantiationLevelId or \n targetScaleLevelInfo, but not both. If none of the two attributes (instantiationLevelId \n or targetScaleLevelInfo) are present, the default instantiation level as declared in the \n VNFD shall be used.\n NOTE 3: If targetScaleLevelInfo is specified, information provided in targetScaleLevelInfo shall \n be used for instantiating scalable constituents of the VNF (e.g, VDUs/VLs). For scaling \n aspects not specified in targetScaleLevelInfo or for the VNF constituents (e.g., VDUs/VLs) \n that are not scalable, the default instantiation level as declared in the VNFD shall be used \n for instantiation.\n" 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 targetScaleLevelInfo: description: > This attribute is applicable if VNF supports target scale level instantiation. For each scaling aspect of the current deployment flavour, the attribute specifies the scale level of VNF constituents (e.g., VDU level) to be instantiated. See notes 2 and 3. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: | An identifier that is unique within a VNF descriptor. type: string vnfdId: description: | An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. type: string extVirtualLinks: description: > Information about external VLs to connect the VNF to, including configuration information for the CPs via which the VNF instance can attach to this VL. Entries in the list of external VLs that are unchanged need not be supplied as part of this request. The following applies to the "ExtVirtualLinkData" information provided in this request, together with the related "ExtVirtualLinkInfo" information known to the VNFM represented in the "VnfInstance" structure (see clause 5.5.2.2): Even if the VNF is not in fully scaled-out state after changing the flavour, the API consumer shall provide enough CP configuration records to allow connecting the VNF instance, fully scaled out in all scaling aspects, to the external VLs. type: array items: description: "This type represents an external VL. * NOTE 1: The information about the VIM connection referenced by the VIM connection id is known to the VNFM. \n Moreover, the identifier of the VIM connection provides scope to the resourceId.\n\n* NOTE 2:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases:\n 1) For a VIP CP directly exposed as an external CP:\n 1.1) No dedicated IP address is allocated as VIP address, as indicated in the VNFD.\n 1.2) A dedicated IP address is allocated as VIP address, but the NFVO indicates that no port is needed\n (createExtLinkPort in VnfExtCpConfig set to false).\n 2) For a VIP CP exposed as an external CP via a floating IP address:\n 2.1) No dedicated IP address is allocated as VIP address, as indicated in the VNFD, and the VNFC CP\n associated to the VIP CP is also exposed via a floating IP address.\n 3) For a VIRTUAL CP exposed as an external CP.\n 4) For a VNFC CP exposed as an external CP in a secondary container cluster external network.\n\n* NOTE 3: An example of the network attachment definition resource when the container infrastructure service\n management is a Kubernetes® instance is a network attachment definition (NAD).\n" 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 the CISM 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. Entries in the list of external CP data that are unchanged need not be supplied if the ExtVirtualLinkData structure is part of a request or response that modifies the external connectivity. type: array items: description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n* NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value \n is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig\n map entry may be used by an external CP instance different than the one that has used it before the\n operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\"\n operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n" type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4. type: object additionalProperties: description: > This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. 2. In case 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. In the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. * NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" for an external CP instance connected or to be connected to a virtual network not categorized as secondary container cluster network: 1) Void. 2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing external CP instance that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a precreated 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. 5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: - linkPortId - required: - cpProtocolData - required: - netAttDefResourceId type: object properties: parentCpConfigId: 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 createExtLinkPort: description: > Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise. type: boolean cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2. type: array items: description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET. - IP_FOR_VIRTUAL_CP See note type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI's transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange 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 segmentationType: description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n" type: string enum: - VLAN - INHERIT segmentationId: description: > Identification of the network segment to which the CP instance connects to. See note 3 and note 4. type: string 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. See note 1. 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). See note 2. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: 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. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 netAttDefResourceId: description: > Identifier of the “NetAttDefResourceData” structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 2, 3 and 4. type: array items: description: > An identifier with the intention of being globally unique. 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 except in the cases defined below. See note 2. 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. * NOTE:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n" type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string extNetAttDefResourceData: description: > Externally provided network attachment definition resource(s) that provide the specification of the interface to attach external CPs to this external VL. See note 3. It is only applicable if the external VL is realized by a secondary container cluster network. It shall not be present otherwise. type: array items: description: > This type represents a network attachment definition resource that provides the specification of the interface to be used to connect one or multiple connection points to a secondary container cluster network realizing a VL. type: object required: - netAttDefResourceId - resourceHandle properties: netAttDefResourceId: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string extManagedVirtualLinks: description: > Information about external VLs to connect the VNF to. See note 1. type: array items: description: "This type represents an externally-managed internal VL. * NOTE:\tThe information about the VIM connection referenced by the VIM connection id is known to the VNFM.\n Moreover, the identifier of the VIM connection provides scope to the resourceId.\n" 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object required: true VnfInstanceTerminationRequest: description: Parameters for the VNF termination. content: application/json: schema: description: "This type represents request parameters for the \"Terminate VNF\" operation. * NOTE:\tIn case of forceful termination, the VNF instance is terminated immediately.\n If the VNF is still in service, this can adversely impact the network service,\n and therefore, the EM needs to determine if forceful termination is applicable\n in the particular situation.\n" type: object required: - terminationType properties: terminationType: description: > Indicates the type of termination is requested. See note. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object required: true VnfInstanceHealRequest: description: Parameters for the Heal VNF operation. content: application/json: schema: type: object properties: vnfcInstanceId: description: > List of identifiers of VNFC instances for which a healing action is requested. Each identifier references the "id" attribute in a "VnfcInfo" structure. Cardinality can be "0" to denote that the request applies to the whole VNF and not a specific VNFC instance. type: array items: description: | An identifier with the intention of being globally unique. type: string cause: description: | Indicates the reason why a healing procedure is required. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object healScript: description: > Provides link to a script that should be executed as part of the healing action or a set of rules for healing procedure. type: string required: true VnfInstanceOperateRequest: description: Parameters for the Operate VNF operation. content: application/json: schema: description: "This type represents request parameters for the \"Operate VNF\" operation. * NOTE:\tThe \"stopType\" and \"gracefulStopTimeout\" attributes shall be absent, when the \"changeStateTo\"\n attribute is equal to \"STARTED\". The \"gracefulStopTimeout\" attribute shall be present, when the\n \"changeStateTo\" is equal to \"STOPPED\" and the \"stopType\" attribute is equal to \"GRACEFUL\".\n The \"gracefulStopTimeout\" attribute shall be absent, when the \"changeStateTo\" attribute is equal to\n \"STOPPED\" and the \"stopType\" attribute is equal to \"FORCEFUL\". The request shall be treated as if\n the \"stopType\" attribute has been set to \"FORCEFUL\", when the \"changeStateTo\" attribute is equal\n to \"STOPPED\" and the \"stopType\" attribute is absent.\n" type: object required: - changeStateTo properties: vnfcInstanceId: description: > List of identifiers of VNFC instances. Each identifier references the "id" attribute in a "VnfcInfo" structure. Cardinality can be "0" to denote that the request applies to the whole VNF and not a specific VNFC instance. type: array items: description: | An identifier with the intention of being globally unique. type: string changeStateTo: description: > STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down. type: string enum: - STARTED - STOPPED stopType: description: > It signals whether forceful or graceful stop is requested. See note type: string enum: - FORCEFUL - GRACEFUL gracefulStopTimeout: description: > The time interval (in seconds) to wait for the VNF to be taken out of service during graceful stop, before stopping the VNF. See note. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object required: true VnfInstanceChangeExtConnRequest: description: | Parameters for the Change external VNF connectivity operation. content: application/json: schema: description: > This type represents request parameters for the "Change external VNF connectivity" operation to modify the external connectivity of a VNF instance. type: object required: - extVirtualLinks properties: extVirtualLinks: description: > Information about external VLs to change (e.g. connect the VNF to) including configuration information for the CPs via which the VNF instance can attach to this VL. Entries in the list of external VLs that are unchanged need not be supplied as part of this request. The following applies to the "ExtVirtualLinkData" information provided in this request, together with the related "ExtVirtualLinkInfo" information known to the VNFM represented in the "VnfInstance" structure (see clause 5.5.2.2): Even if the VNF is not in fully scaled-out state, the API consumer shall provide enough CP configuration records to allow connecting the VNF instance, fully scaled out in all scaling aspects, to the external VLs. type: array items: description: "This type represents an external VL. * NOTE 1: The information about the VIM connection referenced by the VIM connection id is known to the VNFM. \n Moreover, the identifier of the VIM connection provides scope to the resourceId.\n\n* NOTE 2:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases:\n 1) For a VIP CP directly exposed as an external CP:\n 1.1) No dedicated IP address is allocated as VIP address, as indicated in the VNFD.\n 1.2) A dedicated IP address is allocated as VIP address, but the NFVO indicates that no port is needed\n (createExtLinkPort in VnfExtCpConfig set to false).\n 2) For a VIP CP exposed as an external CP via a floating IP address:\n 2.1) No dedicated IP address is allocated as VIP address, as indicated in the VNFD, and the VNFC CP\n associated to the VIP CP is also exposed via a floating IP address.\n 3) For a VIRTUAL CP exposed as an external CP.\n 4) For a VNFC CP exposed as an external CP in a secondary container cluster external network.\n\n* NOTE 3: An example of the network attachment definition resource when the container infrastructure service\n management is a Kubernetes® instance is a network attachment definition (NAD).\n" 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 the CISM 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. Entries in the list of external CP data that are unchanged need not be supplied if the ExtVirtualLinkData structure is part of a request or response that modifies the external connectivity. type: array items: description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n* NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value \n is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig\n map entry may be used by an external CP instance different than the one that has used it before the\n operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\"\n operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n" type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4. type: object additionalProperties: description: > This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. 2. In case 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. In the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. * NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" for an external CP instance connected or to be connected to a virtual network not categorized as secondary container cluster network: 1) Void. 2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing external CP instance that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a precreated 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. 5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: - linkPortId - required: - cpProtocolData - required: - netAttDefResourceId type: object properties: parentCpConfigId: 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 createExtLinkPort: description: > Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise. type: boolean cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2. type: array items: description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET. - IP_FOR_VIRTUAL_CP See note type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI's transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange 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 segmentationType: description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n" type: string enum: - VLAN - INHERIT segmentationId: description: > Identification of the network segment to which the CP instance connects to. See note 3 and note 4. type: string 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. See note 1. 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). See note 2. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: 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. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 netAttDefResourceId: description: > Identifier of the “NetAttDefResourceData” structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 2, 3 and 4. type: array items: description: > An identifier with the intention of being globally unique. 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 except in the cases defined below. See note 2. 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. * NOTE:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n" type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string extNetAttDefResourceData: description: > Externally provided network attachment definition resource(s) that provide the specification of the interface to attach external CPs to this external VL. See note 3. It is only applicable if the external VL is realized by a secondary container cluster network. It shall not be present otherwise. type: array items: description: > This type represents a network attachment definition resource that provides the specification of the interface to be used to connect one or multiple connection points to a secondary container cluster network realizing a VL. type: object required: - netAttDefResourceId - resourceHandle properties: netAttDefResourceId: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object required: true VnfInstanceChangeVnfPkgRequest: description: | Parameters for the Change current VNF package operation. content: application/json: schema: description: "This type represents request parameters for the \"Change current VNF package\" operation to replace the VNF package on which a VNF instance is based. * NOTE:\tThe indication of externally-managed internal VLs is needed in case networks have been\n pre-configured for use with certain VNFs, for instance to ensure that these networks have certain\n properties such as security or acceleration features, or to address particular network topologies.\n The present document assumes that externally-managed internal VLs are managed by the NFVO and created\n towards the VIM.\n" type: object required: - vnfdId properties: vnfdId: description: | An identifier with the intention of being globally unique. type: string extVirtualLinks: description: > Information about external VLs to connect the VNF to, including configuration information for the CPs via which the VNF instance can attach to this VL. Entries in the list that are unchanged need not be supplied as part of this request. The following applies to the "ExtVirtualLinkData" information provided in this request, together with the related "ExtVirtualLinkInfo" information known to the VNFM represented in the "VnfInstance" structure (see clause 5.5.2.2): Even if the VNF is not in fully scaled-out state after the change of the VNF package, the API consumer shall provide enough CP configuration records to allow connecting the VNF instance, fully scaled out in all scaling aspects, to the external VLs. type: array items: description: "This type represents an external VL. * NOTE 1: The information about the VIM connection referenced by the VIM connection id is known to the VNFM. \n Moreover, the identifier of the VIM connection provides scope to the resourceId.\n\n* NOTE 2:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases:\n 1) For a VIP CP directly exposed as an external CP:\n 1.1) No dedicated IP address is allocated as VIP address, as indicated in the VNFD.\n 1.2) A dedicated IP address is allocated as VIP address, but the NFVO indicates that no port is needed\n (createExtLinkPort in VnfExtCpConfig set to false).\n 2) For a VIP CP exposed as an external CP via a floating IP address:\n 2.1) No dedicated IP address is allocated as VIP address, as indicated in the VNFD, and the VNFC CP\n associated to the VIP CP is also exposed via a floating IP address.\n 3) For a VIRTUAL CP exposed as an external CP.\n 4) For a VNFC CP exposed as an external CP in a secondary container cluster external network.\n\n* NOTE 3: An example of the network attachment definition resource when the container infrastructure service\n management is a Kubernetes® instance is a network attachment definition (NAD).\n" 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 the CISM 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. Entries in the list of external CP data that are unchanged need not be supplied if the ExtVirtualLinkData structure is part of a request or response that modifies the external connectivity. type: array items: description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n* NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value \n is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig\n map entry may be used by an external CP instance different than the one that has used it before the\n operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\"\n operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n" type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4. type: object additionalProperties: description: > This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. 2. In case 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. In the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. * NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" for an external CP instance connected or to be connected to a virtual network not categorized as secondary container cluster network: 1) Void. 2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing external CP instance that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a precreated 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. 5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: - linkPortId - required: - cpProtocolData - required: - netAttDefResourceId type: object properties: parentCpConfigId: 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 createExtLinkPort: description: > Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise. type: boolean cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2. type: array items: description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET. - IP_FOR_VIRTUAL_CP See note type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI's transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange 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 segmentationType: description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n" type: string enum: - VLAN - INHERIT segmentationId: description: > Identification of the network segment to which the CP instance connects to. See note 3 and note 4. type: string 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. See note 1. 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). See note 2. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: 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. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 netAttDefResourceId: description: > Identifier of the “NetAttDefResourceData” structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 2, 3 and 4. type: array items: description: > An identifier with the intention of being globally unique. 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 except in the cases defined below. See note 2. 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. * NOTE:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n" type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string extNetAttDefResourceData: description: > Externally provided network attachment definition resource(s) that provide the specification of the interface to attach external CPs to this external VL. See note 3. It is only applicable if the external VL is realized by a secondary container cluster network. It shall not be present otherwise. type: array items: description: > This type represents a network attachment definition resource that provides the specification of the interface to be used to connect one or multiple connection points to a secondary container cluster network realizing a VL. type: object required: - netAttDefResourceId - resourceHandle properties: netAttDefResourceId: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string extManagedVirtualLinks: description: > Information about internal VLs that are managed by other entities than the VNFM. See note. type: array items: description: "This type represents an externally-managed internal VL. * NOTE:\tThe information about the VIM connection referenced by the VIM connection id is known to the VNFM.\n Moreover, the identifier of the VIM connection provides scope to the resourceId.\n" 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object required: true VnfLcmSubscriptionRequest: description: | Details of the subscription to be created. content: application/json: schema: description: > This type represents a subscription request related to notifications about VNF lifecycle changes. type: object required: - callbackUri properties: filter: description: "This type represents a subscription filter related to notifications about VNF lifecycle changes.\nAt a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of \n the notification types to facilitate automated code generation systems.\n" type: object properties: vnfInstanceSubscriptionFilter: description: "This type represents subscription filter criteria to match VNF instances. * NOTE 1:\tThe attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances\n that are based on certain VNFDs in a filter. They should not be used both in the same filter instance,\n but one alternative should be chosen.\n NOTE 2:\tThe attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF\n instances in a filter. They should not be used both in the same filter instance, but one alternative\n should be chosen.\n" type: object anyOf: - oneOf: - required: - vnfdId - required: - vnfProductsFromProviders - oneOf: - required: - vnfInstanceIds - required: - vnfInstanceNames properties: vnfdIds: description: > If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See note 1. type: array items: description: > An identifier with the intention of being globally unique. type: string vnfProductsFromProviders: description: > If present, match VNF instances that belong to VNF products from certain providers. See note 1. type: array items: type: object required: - vnfProvider properties: vnfProvider: description: | Name of the VNF provider to match. type: string vnfProducts: description: > If present, match VNF instances that belong to VNF products with certain product names, from one particular provider. type: array items: type: object required: - vnfProductName properties: vnfProductName: description: | Name of the VNF product to match. type: string versions: description: > If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider. type: array items: type: object required: - vnfSoftwareVersion properties: vnfSoftwareVersion: description: | A version. type: string vnfdVersions: description: > If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider. type: array items: description: | A version. type: string vnfInstanceIds: description: > If present, match VNF instances with an instance identifier listed in this attribute. See note 2. type: array items: description: > An identifier with the intention of being globally unique. type: string vnfInstanceNames: description: > If present, match VNF instances with a VNF Instance Name listed in this attribute. See note 2. type: array items: type: string notificationTypes: description: "Match particular notification types. \nPermitted values: -\tVnfLcmOperationOccurrenceNotification -\tVnfIdentifierCreationNotification -\tVnfIdentifierDeletionNotification See note.\n" type: array items: type: string enum: - VnfLcmOperationOccurrenceNotification - VnfIdentifierCreationNotification - VnfIdentifierDeletionNotification operationTypes: description: > Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise. type: array items: description: > The enumeration LcmOpType defines the permitted values to represent VNF lifecycle operation types in VNF lifecycle management operation occurrence resources and VNF lifecycle management operation occurrence notifications. Value | Description ------|------------ INSTANTIATE | Represents the "Instantiate VNF" LCM operation. SCALE | Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation. CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation. TERMINATE | Represents the "Terminate VNF" LCM operation. HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. MODIFY_INFO | Represents the "Modify VNF Information" LCM operation. CREATE_SNAPSHOT | Represents the "Create VNF Snapshot" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot" LCM operation. CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation. type: string enum: - INSTANTIATE - SCALE - SCALE_TO_LEVEL - CHANGE_FLAVOUR - TERMINATE - HEAL - OPERATE - CHANGE_EXT_CONN - MODIFY_INFO - CREATE_SNAPSHOT - REVERT_TO_SNAPSHOT - CHANGE_VNFPKG operationStates: description: > Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise. type: array items: description: > STARTING: The LCM operation is starting. PROCESSING: The LCM operation is currently in execution. COMPLETED: The LCM operation has been completed successfully. FAILED_TEMP: The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED: The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK: The LCM operation is currently being rolled back. ROLLED_BACK: The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible. type: string enum: - STARTING - PROCESSING - COMPLETED - FAILED_TEMP - FAILED - ROLLING_BACK - ROLLED_BACK callbackUri: description: | String formatted according to IETF RFC 3986. type: string authentication: description: > * NOTE: The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process type: object required: - authType properties: authType: description: > Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use HTTP Basic authentication with the client credentials. * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the notification endpoint, use an OAuth 2.0 Bearer token, obtained using the client credentials grant type. * TLS_CERT: Every HTTP request to the notification endpoint is sent over a mutually authenticated TLS session, i.e. not only the server is authenticated, but also the client is authenticated during the TLS tunnel setup. type: array items: type: string enum: - BASIC - OAUTH2_CLIENT_CREDENTIALS - TLS_CERT paramsBasic: description: > Parameters for authentication/authorization using BASIC. Shall be present if authType is "BASIC" and the contained information has not been provisioned out of band. Shall be absent otherwise. type: object properties: userName: description: > Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band. type: string password: description: > Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band. type: string paramsOauth2ClientCredentials: description: > Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is "OAUTH2_CLIENT_CREDENTIALS" and the contained information has not been provisioned out of band. Shall be absent otherwise. type: object properties: clientId: description: > Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. See note. type: string clientPassword: description: > Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. See note. type: string tokenEndpoint: description: | String formatted according to IETF RFC 3986. type: string verbosity: description: > The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation occurrence notifications. * FULL: This signals a full notification which contains all change details. * SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to be sent via the notification mechanism. type: string enum: - FULL - SHORT required: true VnfInstanceCreateSnapshotRequest: description: | Parameters for the “Create VNF/VNFC Snapshot” operation. content: application/json: schema: description: > This type represents request parameters for the "Create VNF Snapshot" operation. type: object required: - vnfSnapshotResId properties: vnfSnapshotInfoId: description: | An identifier with the intention of being globally unique. type: string vnfcInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object userDefinedData: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object required: true VnfInstanceRevertToSnapshotRequest: description: | Parameters for the Revert-to VNF/VNFC snapshot operation. content: application/json: schema: description: > This type represents request parameters for the "Revert-to VNF Snapshot" operation. type: object properties: vnfSnapshotInfoId: description: | An identifier with the intention of being globally unique. type: string vnfcInstanceId: description: | An identifier with the intention of being globally unique. type: string vnfcSnapshotInfoId: description: | An identifier with the intention of being globally unique. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object required: true VnfSnapshotsRequest: description: | The VNF snapshot resource creation parameters. content: application/json: schema: description: > This type represents request parameters for the creation of an "Individual VNF snapshot" resource which can be populated with content obtained by invoking the "Create VNF snapshot" LCM operation or extracted from a VNF snapshot package. * NOTE: The present attribute shall be provided if the "Individual VNF snapshot" resource is requested to be created and be filled from a VNF snapshot package extraction. type: object properties: vnfSnapshotPkgId: description: | An identifier with the intention of being globally unique. type: string required: true responses: VnfInstances.Get.200: description: > 200 OK Information about zero or more VNF instances has been queried successfully. The response body shall contain in an array the representations of zero or more VNF instances. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: application/json: schema: type: array items: description: "This type represents a VNF instance. * NOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist\n between the previous and the newly referred VNF package, i.e. when the new VNFD is\n changed with respect to the previous VNFD in other aspects than merely referencing\n to other VNF software images. In order to avoid misalignment of the VnfInstance with\n the current VNF's on-boarded VNF package, the values of attributes in the VnfInstance\n that have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD.\n* NOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters\n applicable to a VNF. Some of these are set prior to instantiation and cannot be modified\n if the VNF is instantiated, some are set prior to instantiation (are part of initial configuration)\n and can be modified later, and others can be set only after instantiation.\n The applicability of certain configuration may depend on the VNF and the required operation of\n the VNF at a certain point in time.\n* NOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child\n attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared\n in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD,\n and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of\n \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defined initial value shall\n not be created, in order to be consistent with the semantics of the JSON Merge Patch method\n (see IETF RFC 7396) that interprets null values as deletion request.\n* NOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case\n of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding\n to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc\n and externally-managed multi-site VL instance (refer to clause 5.5.3.5).\n* NOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity,\n they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n" type: object required: - id - vnfdId - vnfProvider - vnfProductName - vnfSoftwareVersion - vnfdVersion - instantiationState - _links 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 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 - extCpInfo properties: flavourId: description: | An identifier that is unique within a VNF descriptor. type: string vnfState: description: > STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down. 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. This attribute shall be present if the VNF supports scaling. See clause B.2 for an explanation of VNF scaling. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. type: string maxScaleLevels: description: > Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. type: string extCpInfo: description: > Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk. type: array minItems: 1 items: description: "This type represents information about an external CP of a VNF.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n attachment definition resource is needed to fulfil the connectivity requirements of the external \n CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n" type: object required: - id - cpdId - cpConfigId - cpProtocolInfo oneOf: - required: - associatedVnfcCpId - required: - associatedVipCpId - required: - associatedVnfVirtualLinkId 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 cpConfigId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfdId: description: > An identifier with the intention of being 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.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object associatedVnfcCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string associatedVipCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string associatedVirtualCpId: description: > An identifier that is unique within a VNF descriptor. type: string associatedVnfVirtualLinkId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string netAttDefResourceId: description: > Identifier of the “NetAttDefResourceInfo” structure that provides the specification of the interface to attach the connection point to a secondary container cluster network. See notes 3 and 4. It shall be present if the external CP is associated to a VNFC realized by one or a set of OS containers and is connected to a secondary container cluster network. It shall not be present otherwise. type: array items: description: > An identifier with the intention of being globally unique. type: string vipCpInfo: description: > VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. type: array items: description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n" type: object required: - cpInstanceId - cpdId properties: cpInstanceId: 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 vnfdId: description: > An identifier with the intention of being globally unique. 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: > Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 associatedVnfcCpIds: description: > Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note. 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 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object virtualCpInfo: description: > Virtual CPs that are part of the VNF instance. Shall be present when a particular virtual CP is associated to an external CP of the VNF instance. May be present otherwise. type: array items: description: > This type provides information related to a virtual CP instance of a VNF. NOTE: A consumer of the VNF LCM interface can learn the actual VNFC instances implementing the service accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" and filtering by corresponding "vduIds" values. type: object required: - cpInstanceId - cpdId - resourceHandle - vduIds properties: cpInstanceId: 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 resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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: > Protocol information for this CP. There shall be one cpProtocolInfo for each layer protocol supported. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 vduIds: description: > Reference to the VDU(s) which implement the service accessible via the virtual CP instance. See note. type: array minItems: 1 items: description: > An identifier that is unique within a VNF descriptor. type: string additionalServiceInfo: description: > Additional service identification information of the virtual CP instance. type: array items: description: > This type provides additional service information of the virtual CP instance used to expose properties of the virtual CP to NFV-MANO. NOTE: This attribute shall only be present if additional information is needed to identify the service termination within the VNF, such as for example a URL path information in an HTTP request required to allow a single virtual CP IP address to be used for several HTTP based services that use the same port number. type: object required: - portInfo properties: portInfo: description: > Service port numbers exposed by the virtual CP instance. minItems: 1 type: array items: description: > This type describes the service identifying port properties exposed by the virtual CP instance. type: object required: - name - port - portConfigurable properties: name: description: > The name of the port exposed by the virtual CP instance. type: string protocol: description: > The L4 protocol for this port exposed by the virtual CP instance. Permitted values: - TCP - UDP - SCTP type: string enum: - TCP - UDP - SCTP port: description: > The L4 port number exposed by the virtual CP instance. type: integer portConfigurable: description: > The Boolean is a data type having two values (true and false). type: boolean serviceInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. type: array items: description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n" type: object required: - id - resourceHandle - currentVnfExtCpData properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n" type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 secondaryCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string currentVnfExtCpData: description: > Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note. type: array items: description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n* NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value \n is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig\n map entry may be used by an external CP instance different than the one that has used it before the\n operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\"\n operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n" type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4. type: object additionalProperties: description: > This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. 2. In case 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. In the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. * NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" for an external CP instance connected or to be connected to a virtual network not categorized as secondary container cluster network: 1) Void. 2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing external CP instance that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a precreated 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. 5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: - linkPortId - required: - cpProtocolData - required: - netAttDefResourceId type: object properties: parentCpConfigId: 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 createExtLinkPort: description: > Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise. type: boolean cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2. type: array items: description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET. - IP_FOR_VIRTUAL_CP See note type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI's transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange 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 segmentationType: description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n" type: string enum: - VLAN - INHERIT segmentationId: description: > Identification of the network segment to which the CP instance connects to. See note 3 and note 4. type: string 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. See note 1. 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). See note 2. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: 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. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 netAttDefResourceId: description: > Identifier of the “NetAttDefResourceData” structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 2, 3 and 4. type: array items: description: > An identifier with the intention of being globally unique. type: string extNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 extManagedVirtualLinkInfo: description: > Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5). Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. type: array items: description: > This type provides information about an externally-managed virtual link. type: object required: - id - vnfVirtualLinkDescId - networkResource 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string vnfLinkPorts: description: | Link ports of this VL. type: array items: description: > This type represents a link port of an internal VL of a VNF. NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, the two different CP instances share the linkport. NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only vipCpInstanceId is present (UC6 and UC#6-b). NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. 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: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n" type: string enum: - VNFC_CP - EXT_CP vipCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string vnfNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 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 vnfdId: description: > An identifier with the intention of being globally unique. 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. Depending on the form of virtualisation container of the VNFC:\n - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure \n of information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n - For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n - For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\n\n* NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that\n exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly\n to an external VL.\n* NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. * NOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\" structure by \n an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVnfc\"\n structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to \n this LCM operation occurrence.\n* NOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment \n definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build \n a link redundant mated pair in SR-IOV cases.\n* NOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n" type: object required: - id - vduId - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string computeResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string storageResourceIds: description: > References to the VirtualStorage resources or references to Storage MCIO(s). 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: | All the CPs of the VNFC instance. 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. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information. See note 3. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 parentCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string netAttDefResourceId: description: > Identifier of the “NetAttDefResourceInfo” structure that provides the specification of the interface to attach the connection point to a secondary container cluster network. See notes 5 and 6. It shall be present if the internal CP is associated to a VNFC realized by one or a set of OS containers and is connected to a secondary container cluster network. It shall not be present otherwise. type: array items: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfVirtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. See note 6. Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. 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. NOTE: If only the value or the presence of this attribute is changed in the "VnfVirtualLinkResourceInfo" structure by an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. type: object required: - id - vnfVirtualLinkDescId - networkResource - vnfLinkPorts 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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: description: > This type represents a link port of an internal VL of a VNF. NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, the two different CP instances share the linkport. NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only vipCpInstanceId is present (UC6 and UC#6-b). NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. 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: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n" type: string enum: - VNFC_CP - EXT_CP vipCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. NOTE: If only the value or the presence of this attribute is changed in the "VirtualStorageResourceInfo" structure by an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string storageResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfcInfo: description: | Information about the VNFC instances. type: array items: description: "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n" type: object required: - id - vduId - vnfcState 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 for the respective type within a VNF instance, but may not be globally unique. type: string vnfcResourceInfoId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcState: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcConfigurableProperties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object mcioInfo: description: > Information on the MCIO(s) representing VNFC instance(s) realized by one or a set of OS containers and created from the same VDU for the VNF instance. type: array items: description: > This type provides information about an MCIO representing the set of VNFC instances realized by one or a set of OS containers which have been created based on the same VDU. Within the CISM, an MCIO controller monitors the actual state of an MCIO representing the set of VNFC instances realized by one or a set of OS containers and compare it to the desired state as specified in the respective declarative descriptor. It triggers actions toward the CIS to align the actual to the desired state. Monitoring the actual state includes monitoring the number of MCIO instances available at any specific point in time. In addition, an MCIO controller maintains properties and runtime information on the MCIO instances which have been created based on the same VDU. The McioInfo data structure provides the runtime information on the MCIOs obtained from the MCIO controller. NOTE: There are different types of MCIOs. The set of VNFC instances based on the same VDU is represented by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type of MCIO, e.g. a POD. Runtime information of the set of OS containers realizing an individual VNFC instance is not part of the McioInfo data structure; such runtime information is provided in the ResourceHandle data structure referenced from the VnfcResourceInfo. The McioInfo does not provide runtime information of a constituent VNFC instance created based on a specific VDU. NOTE 1: The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the “kind” property of the declarative descriptor. NOTE 2: If the attribute additionalInfo is present, it may contain runtime information on the actual and desired state of the MCIO(s). NOTE 3: When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined values from the kind and name fields of the Kubernetes resource object, separated by a slash. Example: "Deployment/abcd". NOTE 4: When the container infrastructure service is a Kubernetes® instance, the mcioName is the name field of the resource object. type: object required: - mcioId - mcioName - mcioNamespace - vduId - cismId - mcioType - desiredInstances - availableInstances properties: mcioId: description: > An identifier with the intention of being globally unique. type: string mcioName: description: | Human readable name of this MCIO. See note 4. type: string mcioNamespace: description: | Namespace of this MCIO. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string cismId: description: > An identifier with the intention of being globally unique. type: string mcioType: description: > The type of MCIO. Specific values, their semantics and associated MCIO types are defined in clause 5.5.4.9. Additional values are also permitted. See note 1. type: string enum: - Deployment - Statefulset desiredInstances: description: | Number of desired MCIO instances. type: integer availableInstances: description: | Number of available MCIO instances. type: integer additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string createSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string revertToSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeCurrentVnfPkg: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string VnfInstances.Post.201: description: > 201 CREATED Shall be returned when a new "Individual VNF Instance" resource and the associated VNF instance identifier has been created successfully. The response body shall contain a representation of the created VNF instance, as defined in clause 5.5.2.2. The HTTP response shall include a "Location" HTTP header that contains the resource URI of the created VNF instance. headers: Version: description: | The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: | The resource URI of the created VNF instance style: simple explode: false schema: type: string format: url content: application/json: schema: description: "This type represents a VNF instance. * NOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist\n between the previous and the newly referred VNF package, i.e. when the new VNFD is\n changed with respect to the previous VNFD in other aspects than merely referencing\n to other VNF software images. In order to avoid misalignment of the VnfInstance with\n the current VNF's on-boarded VNF package, the values of attributes in the VnfInstance\n that have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD.\n* NOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters\n applicable to a VNF. Some of these are set prior to instantiation and cannot be modified\n if the VNF is instantiated, some are set prior to instantiation (are part of initial configuration)\n and can be modified later, and others can be set only after instantiation.\n The applicability of certain configuration may depend on the VNF and the required operation of\n the VNF at a certain point in time.\n* NOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child\n attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared\n in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD,\n and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of\n \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defined initial value shall\n not be created, in order to be consistent with the semantics of the JSON Merge Patch method\n (see IETF RFC 7396) that interprets null values as deletion request.\n* NOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case\n of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding\n to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc\n and externally-managed multi-site VL instance (refer to clause 5.5.3.5).\n* NOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity,\n they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n" type: object required: - id - vnfdId - vnfProvider - vnfProductName - vnfSoftwareVersion - vnfdVersion - instantiationState - _links 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 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 - extCpInfo properties: flavourId: description: | An identifier that is unique within a VNF descriptor. type: string vnfState: description: > STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down. 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. This attribute shall be present if the VNF supports scaling. See clause B.2 for an explanation of VNF scaling. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. type: string maxScaleLevels: description: > Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. type: string extCpInfo: description: > Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk. type: array minItems: 1 items: description: "This type represents information about an external CP of a VNF.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n attachment definition resource is needed to fulfil the connectivity requirements of the external \n CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n" type: object required: - id - cpdId - cpConfigId - cpProtocolInfo oneOf: - required: - associatedVnfcCpId - required: - associatedVipCpId - required: - associatedVnfVirtualLinkId 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 cpConfigId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfdId: description: > An identifier with the intention of being 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.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object associatedVnfcCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string associatedVipCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string associatedVirtualCpId: description: > An identifier that is unique within a VNF descriptor. type: string associatedVnfVirtualLinkId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string netAttDefResourceId: description: > Identifier of the “NetAttDefResourceInfo” structure that provides the specification of the interface to attach the connection point to a secondary container cluster network. See notes 3 and 4. It shall be present if the external CP is associated to a VNFC realized by one or a set of OS containers and is connected to a secondary container cluster network. It shall not be present otherwise. type: array items: description: > An identifier with the intention of being globally unique. type: string vipCpInfo: description: > VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. type: array items: description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n" type: object required: - cpInstanceId - cpdId properties: cpInstanceId: 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 vnfdId: description: > An identifier with the intention of being globally unique. 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: > Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 associatedVnfcCpIds: description: > Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note. 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 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object virtualCpInfo: description: > Virtual CPs that are part of the VNF instance. Shall be present when a particular virtual CP is associated to an external CP of the VNF instance. May be present otherwise. type: array items: description: > This type provides information related to a virtual CP instance of a VNF. NOTE: A consumer of the VNF LCM interface can learn the actual VNFC instances implementing the service accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" and filtering by corresponding "vduIds" values. type: object required: - cpInstanceId - cpdId - resourceHandle - vduIds properties: cpInstanceId: 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 resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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: > Protocol information for this CP. There shall be one cpProtocolInfo for each layer protocol supported. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 vduIds: description: > Reference to the VDU(s) which implement the service accessible via the virtual CP instance. See note. type: array minItems: 1 items: description: > An identifier that is unique within a VNF descriptor. type: string additionalServiceInfo: description: > Additional service identification information of the virtual CP instance. type: array items: description: > This type provides additional service information of the virtual CP instance used to expose properties of the virtual CP to NFV-MANO. NOTE: This attribute shall only be present if additional information is needed to identify the service termination within the VNF, such as for example a URL path information in an HTTP request required to allow a single virtual CP IP address to be used for several HTTP based services that use the same port number. type: object required: - portInfo properties: portInfo: description: > Service port numbers exposed by the virtual CP instance. minItems: 1 type: array items: description: > This type describes the service identifying port properties exposed by the virtual CP instance. type: object required: - name - port - portConfigurable properties: name: description: > The name of the port exposed by the virtual CP instance. type: string protocol: description: > The L4 protocol for this port exposed by the virtual CP instance. Permitted values: - TCP - UDP - SCTP type: string enum: - TCP - UDP - SCTP port: description: > The L4 port number exposed by the virtual CP instance. type: integer portConfigurable: description: > The Boolean is a data type having two values (true and false). type: boolean serviceInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. type: array items: description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n" type: object required: - id - resourceHandle - currentVnfExtCpData properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n" type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 secondaryCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string currentVnfExtCpData: description: > Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note. type: array items: description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n* NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value \n is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig\n map entry may be used by an external CP instance different than the one that has used it before the\n operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\"\n operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n" type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4. type: object additionalProperties: description: > This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. 2. In case 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. In the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. * NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" for an external CP instance connected or to be connected to a virtual network not categorized as secondary container cluster network: 1) Void. 2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing external CP instance that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a precreated 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. 5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: - linkPortId - required: - cpProtocolData - required: - netAttDefResourceId type: object properties: parentCpConfigId: 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 createExtLinkPort: description: > Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise. type: boolean cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2. type: array items: description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET. - IP_FOR_VIRTUAL_CP See note type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI's transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange 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 segmentationType: description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n" type: string enum: - VLAN - INHERIT segmentationId: description: > Identification of the network segment to which the CP instance connects to. See note 3 and note 4. type: string 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. See note 1. 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). See note 2. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: 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. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 netAttDefResourceId: description: > Identifier of the “NetAttDefResourceData” structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 2, 3 and 4. type: array items: description: > An identifier with the intention of being globally unique. type: string extNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 extManagedVirtualLinkInfo: description: > Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5). Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. type: array items: description: > This type provides information about an externally-managed virtual link. type: object required: - id - vnfVirtualLinkDescId - networkResource 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string vnfLinkPorts: description: | Link ports of this VL. type: array items: description: > This type represents a link port of an internal VL of a VNF. NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, the two different CP instances share the linkport. NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only vipCpInstanceId is present (UC6 and UC#6-b). NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. 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: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n" type: string enum: - VNFC_CP - EXT_CP vipCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string vnfNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 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 vnfdId: description: > An identifier with the intention of being globally unique. 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. Depending on the form of virtualisation container of the VNFC:\n - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure \n of information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n - For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n - For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\n\n* NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that\n exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly\n to an external VL.\n* NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. * NOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\" structure by \n an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVnfc\"\n structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to \n this LCM operation occurrence.\n* NOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment \n definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build \n a link redundant mated pair in SR-IOV cases.\n* NOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n" type: object required: - id - vduId - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string computeResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string storageResourceIds: description: > References to the VirtualStorage resources or references to Storage MCIO(s). 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: | All the CPs of the VNFC instance. 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. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information. See note 3. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 parentCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string netAttDefResourceId: description: > Identifier of the “NetAttDefResourceInfo” structure that provides the specification of the interface to attach the connection point to a secondary container cluster network. See notes 5 and 6. It shall be present if the internal CP is associated to a VNFC realized by one or a set of OS containers and is connected to a secondary container cluster network. It shall not be present otherwise. type: array items: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfVirtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. See note 6. Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. 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. NOTE: If only the value or the presence of this attribute is changed in the "VnfVirtualLinkResourceInfo" structure by an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. type: object required: - id - vnfVirtualLinkDescId - networkResource - vnfLinkPorts 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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: description: > This type represents a link port of an internal VL of a VNF. NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, the two different CP instances share the linkport. NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only vipCpInstanceId is present (UC6 and UC#6-b). NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. 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: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n" type: string enum: - VNFC_CP - EXT_CP vipCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. NOTE: If only the value or the presence of this attribute is changed in the "VirtualStorageResourceInfo" structure by an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string storageResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfcInfo: description: | Information about the VNFC instances. type: array items: description: "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n" type: object required: - id - vduId - vnfcState 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 for the respective type within a VNF instance, but may not be globally unique. type: string vnfcResourceInfoId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcState: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcConfigurableProperties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object mcioInfo: description: > Information on the MCIO(s) representing VNFC instance(s) realized by one or a set of OS containers and created from the same VDU for the VNF instance. type: array items: description: > This type provides information about an MCIO representing the set of VNFC instances realized by one or a set of OS containers which have been created based on the same VDU. Within the CISM, an MCIO controller monitors the actual state of an MCIO representing the set of VNFC instances realized by one or a set of OS containers and compare it to the desired state as specified in the respective declarative descriptor. It triggers actions toward the CIS to align the actual to the desired state. Monitoring the actual state includes monitoring the number of MCIO instances available at any specific point in time. In addition, an MCIO controller maintains properties and runtime information on the MCIO instances which have been created based on the same VDU. The McioInfo data structure provides the runtime information on the MCIOs obtained from the MCIO controller. NOTE: There are different types of MCIOs. The set of VNFC instances based on the same VDU is represented by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type of MCIO, e.g. a POD. Runtime information of the set of OS containers realizing an individual VNFC instance is not part of the McioInfo data structure; such runtime information is provided in the ResourceHandle data structure referenced from the VnfcResourceInfo. The McioInfo does not provide runtime information of a constituent VNFC instance created based on a specific VDU. NOTE 1: The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the “kind” property of the declarative descriptor. NOTE 2: If the attribute additionalInfo is present, it may contain runtime information on the actual and desired state of the MCIO(s). NOTE 3: When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined values from the kind and name fields of the Kubernetes resource object, separated by a slash. Example: "Deployment/abcd". NOTE 4: When the container infrastructure service is a Kubernetes® instance, the mcioName is the name field of the resource object. type: object required: - mcioId - mcioName - mcioNamespace - vduId - cismId - mcioType - desiredInstances - availableInstances properties: mcioId: description: > An identifier with the intention of being globally unique. type: string mcioName: description: | Human readable name of this MCIO. See note 4. type: string mcioNamespace: description: | Namespace of this MCIO. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string cismId: description: > An identifier with the intention of being globally unique. type: string mcioType: description: > The type of MCIO. Specific values, their semantics and associated MCIO types are defined in clause 5.5.4.9. Additional values are also permitted. See note 1. type: string enum: - Deployment - Statefulset desiredInstances: description: | Number of desired MCIO instances. type: integer availableInstances: description: | Number of available MCIO instances. type: integer additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string createSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string revertToSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeCurrentVnfPkg: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string IndividualVnfInstance.Get.200: description: > 200 OK Information about an individual VNF instance has been read successfully. The response body shall contain a representation of the VNF instance, as defined in clause 5.5.2.2. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string ETag: description: > Used to provide the current entity-tag for the selected resource representation. It can be sent in "200 OK", "201 Created" and "204 No Content" responses. style: simple schema: type: string Last-Modified: description: > Used to provide a timestamp indicating the date and time at which the server believes the selected resource representation was last modified. It can be sent in "200 OK", "201 Created" and "204 No Content" responses. style: simple schema: type: string format: date-time content: application/json: schema: description: "This type represents a VNF instance. * NOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist\n between the previous and the newly referred VNF package, i.e. when the new VNFD is\n changed with respect to the previous VNFD in other aspects than merely referencing\n to other VNF software images. In order to avoid misalignment of the VnfInstance with\n the current VNF's on-boarded VNF package, the values of attributes in the VnfInstance\n that have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD.\n* NOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters\n applicable to a VNF. Some of these are set prior to instantiation and cannot be modified\n if the VNF is instantiated, some are set prior to instantiation (are part of initial configuration)\n and can be modified later, and others can be set only after instantiation.\n The applicability of certain configuration may depend on the VNF and the required operation of\n the VNF at a certain point in time.\n* NOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child\n attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared\n in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD,\n and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of\n \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defined initial value shall\n not be created, in order to be consistent with the semantics of the JSON Merge Patch method\n (see IETF RFC 7396) that interprets null values as deletion request.\n* NOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case\n of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding\n to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc\n and externally-managed multi-site VL instance (refer to clause 5.5.3.5).\n* NOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity,\n they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n" type: object required: - id - vnfdId - vnfProvider - vnfProductName - vnfSoftwareVersion - vnfdVersion - instantiationState - _links 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 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 - extCpInfo properties: flavourId: description: | An identifier that is unique within a VNF descriptor. type: string vnfState: description: > STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down. 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. This attribute shall be present if the VNF supports scaling. See clause B.2 for an explanation of VNF scaling. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. type: string maxScaleLevels: description: > Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. type: string extCpInfo: description: > Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk. type: array minItems: 1 items: description: "This type represents information about an external CP of a VNF.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n attachment definition resource is needed to fulfil the connectivity requirements of the external \n CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n" type: object required: - id - cpdId - cpConfigId - cpProtocolInfo oneOf: - required: - associatedVnfcCpId - required: - associatedVipCpId - required: - associatedVnfVirtualLinkId 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 cpConfigId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfdId: description: > An identifier with the intention of being 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.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object associatedVnfcCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string associatedVipCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string associatedVirtualCpId: description: > An identifier that is unique within a VNF descriptor. type: string associatedVnfVirtualLinkId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string netAttDefResourceId: description: > Identifier of the “NetAttDefResourceInfo” structure that provides the specification of the interface to attach the connection point to a secondary container cluster network. See notes 3 and 4. It shall be present if the external CP is associated to a VNFC realized by one or a set of OS containers and is connected to a secondary container cluster network. It shall not be present otherwise. type: array items: description: > An identifier with the intention of being globally unique. type: string vipCpInfo: description: > VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. type: array items: description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n" type: object required: - cpInstanceId - cpdId properties: cpInstanceId: 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 vnfdId: description: > An identifier with the intention of being globally unique. 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: > Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 associatedVnfcCpIds: description: > Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note. 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 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object virtualCpInfo: description: > Virtual CPs that are part of the VNF instance. Shall be present when a particular virtual CP is associated to an external CP of the VNF instance. May be present otherwise. type: array items: description: > This type provides information related to a virtual CP instance of a VNF. NOTE: A consumer of the VNF LCM interface can learn the actual VNFC instances implementing the service accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" and filtering by corresponding "vduIds" values. type: object required: - cpInstanceId - cpdId - resourceHandle - vduIds properties: cpInstanceId: 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 resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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: > Protocol information for this CP. There shall be one cpProtocolInfo for each layer protocol supported. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 vduIds: description: > Reference to the VDU(s) which implement the service accessible via the virtual CP instance. See note. type: array minItems: 1 items: description: > An identifier that is unique within a VNF descriptor. type: string additionalServiceInfo: description: > Additional service identification information of the virtual CP instance. type: array items: description: > This type provides additional service information of the virtual CP instance used to expose properties of the virtual CP to NFV-MANO. NOTE: This attribute shall only be present if additional information is needed to identify the service termination within the VNF, such as for example a URL path information in an HTTP request required to allow a single virtual CP IP address to be used for several HTTP based services that use the same port number. type: object required: - portInfo properties: portInfo: description: > Service port numbers exposed by the virtual CP instance. minItems: 1 type: array items: description: > This type describes the service identifying port properties exposed by the virtual CP instance. type: object required: - name - port - portConfigurable properties: name: description: > The name of the port exposed by the virtual CP instance. type: string protocol: description: > The L4 protocol for this port exposed by the virtual CP instance. Permitted values: - TCP - UDP - SCTP type: string enum: - TCP - UDP - SCTP port: description: > The L4 port number exposed by the virtual CP instance. type: integer portConfigurable: description: > The Boolean is a data type having two values (true and false). type: boolean serviceInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. type: array items: description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n" type: object required: - id - resourceHandle - currentVnfExtCpData properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n" type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 secondaryCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string currentVnfExtCpData: description: > Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note. type: array items: description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n* NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value \n is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig\n map entry may be used by an external CP instance different than the one that has used it before the\n operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\"\n operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n" type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4. type: object additionalProperties: description: > This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. 2. In case 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. In the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. * NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" for an external CP instance connected or to be connected to a virtual network not categorized as secondary container cluster network: 1) Void. 2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing external CP instance that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a precreated 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. 5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: - linkPortId - required: - cpProtocolData - required: - netAttDefResourceId type: object properties: parentCpConfigId: 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 createExtLinkPort: description: > Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise. type: boolean cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2. type: array items: description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET. - IP_FOR_VIRTUAL_CP See note type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI's transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange 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 segmentationType: description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n" type: string enum: - VLAN - INHERIT segmentationId: description: > Identification of the network segment to which the CP instance connects to. See note 3 and note 4. type: string 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. See note 1. 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). See note 2. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: 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. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 netAttDefResourceId: description: > Identifier of the “NetAttDefResourceData” structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 2, 3 and 4. type: array items: description: > An identifier with the intention of being globally unique. type: string extNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 extManagedVirtualLinkInfo: description: > Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5). Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. type: array items: description: > This type provides information about an externally-managed virtual link. type: object required: - id - vnfVirtualLinkDescId - networkResource 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string vnfLinkPorts: description: | Link ports of this VL. type: array items: description: > This type represents a link port of an internal VL of a VNF. NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, the two different CP instances share the linkport. NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only vipCpInstanceId is present (UC6 and UC#6-b). NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. 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: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n" type: string enum: - VNFC_CP - EXT_CP vipCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string vnfNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 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 vnfdId: description: > An identifier with the intention of being globally unique. 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. Depending on the form of virtualisation container of the VNFC:\n - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure \n of information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n - For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n - For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\n\n* NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that\n exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly\n to an external VL.\n* NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. * NOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\" structure by \n an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVnfc\"\n structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to \n this LCM operation occurrence.\n* NOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment \n definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build \n a link redundant mated pair in SR-IOV cases.\n* NOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n" type: object required: - id - vduId - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string computeResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string storageResourceIds: description: > References to the VirtualStorage resources or references to Storage MCIO(s). 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: | All the CPs of the VNFC instance. 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. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information. See note 3. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 parentCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string netAttDefResourceId: description: > Identifier of the “NetAttDefResourceInfo” structure that provides the specification of the interface to attach the connection point to a secondary container cluster network. See notes 5 and 6. It shall be present if the internal CP is associated to a VNFC realized by one or a set of OS containers and is connected to a secondary container cluster network. It shall not be present otherwise. type: array items: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfVirtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. See note 6. Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. 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. NOTE: If only the value or the presence of this attribute is changed in the "VnfVirtualLinkResourceInfo" structure by an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. type: object required: - id - vnfVirtualLinkDescId - networkResource - vnfLinkPorts 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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: description: > This type represents a link port of an internal VL of a VNF. NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, the two different CP instances share the linkport. NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only vipCpInstanceId is present (UC6 and UC#6-b). NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. 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: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n" type: string enum: - VNFC_CP - EXT_CP vipCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. NOTE: If only the value or the presence of this attribute is changed in the "VirtualStorageResourceInfo" structure by an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string storageResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfcInfo: description: | Information about the VNFC instances. type: array items: description: "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n" type: object required: - id - vduId - vnfcState 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 for the respective type within a VNF instance, but may not be globally unique. type: string vnfcResourceInfoId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcState: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcConfigurableProperties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object mcioInfo: description: > Information on the MCIO(s) representing VNFC instance(s) realized by one or a set of OS containers and created from the same VDU for the VNF instance. type: array items: description: > This type provides information about an MCIO representing the set of VNFC instances realized by one or a set of OS containers which have been created based on the same VDU. Within the CISM, an MCIO controller monitors the actual state of an MCIO representing the set of VNFC instances realized by one or a set of OS containers and compare it to the desired state as specified in the respective declarative descriptor. It triggers actions toward the CIS to align the actual to the desired state. Monitoring the actual state includes monitoring the number of MCIO instances available at any specific point in time. In addition, an MCIO controller maintains properties and runtime information on the MCIO instances which have been created based on the same VDU. The McioInfo data structure provides the runtime information on the MCIOs obtained from the MCIO controller. NOTE: There are different types of MCIOs. The set of VNFC instances based on the same VDU is represented by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type of MCIO, e.g. a POD. Runtime information of the set of OS containers realizing an individual VNFC instance is not part of the McioInfo data structure; such runtime information is provided in the ResourceHandle data structure referenced from the VnfcResourceInfo. The McioInfo does not provide runtime information of a constituent VNFC instance created based on a specific VDU. NOTE 1: The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the “kind” property of the declarative descriptor. NOTE 2: If the attribute additionalInfo is present, it may contain runtime information on the actual and desired state of the MCIO(s). NOTE 3: When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined values from the kind and name fields of the Kubernetes resource object, separated by a slash. Example: "Deployment/abcd". NOTE 4: When the container infrastructure service is a Kubernetes® instance, the mcioName is the name field of the resource object. type: object required: - mcioId - mcioName - mcioNamespace - vduId - cismId - mcioType - desiredInstances - availableInstances properties: mcioId: description: > An identifier with the intention of being globally unique. type: string mcioName: description: | Human readable name of this MCIO. See note 4. type: string mcioNamespace: description: | Namespace of this MCIO. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string cismId: description: > An identifier with the intention of being globally unique. type: string mcioType: description: > The type of MCIO. Specific values, their semantics and associated MCIO types are defined in clause 5.5.4.9. Additional values are also permitted. See note 1. type: string enum: - Deployment - Statefulset desiredInstances: description: | Number of desired MCIO instances. type: integer availableInstances: description: | Number of available MCIO instances. type: integer additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string createSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string revertToSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeCurrentVnfPkg: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string IndividualVnfInstance.Delete.204: description: > 204 NO CONTENT The "Individual VNF instance" resource and the associated VNF identifier were deleted successfully. The response body shall be empty. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string content: application/json: schema: description: > This type represents a VNF identifier deletion notification, which informs the receiver of the deletion of a new "Individual VNF instance" resource and the associated VNF instance identifier. This notification shall be triggered by the VNFM when it has deleted an "Individual VNF instance" resource and the associated VNF instance identifier. type: object required: - id - notificationType - subscriptionId - timeStamp - vnfInstanceId - _links properties: id: description: | An identifier with the intention of being globally unique. type: string notificationType: description: > Discriminator for the different notification types. Shall be set to "VnfIdentifierDeletionNotification" for this notification type. type: string enum: - VnfIdentifierDeletionNotification subscriptionId: description: | An identifier with the intention of being globally unique. type: string timeStamp: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time vnfInstanceId: description: | An identifier with the intention of being globally unique. type: string _links: description: > This type represents the links to resources that a notification can contain. type: object required: - vnfInstance - subscription properties: vnfInstance: description: > This type represents a link to a resource in a notification, using an absolute or relative URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string subscription: description: > This type represents a link to a resource in a notification, using an absolute or relative URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string vnfLcmOpOcc: description: > This type represents a link to a resource in a notification, using an absolute or relative URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string IndividualVnfInstance.Delete.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the "Individual VNF instance" resource is in INSTANTIATED state. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 IndividualVnfInstance.Patch.202: description: > 202 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 an "Individual VNF LCM operation occurrence" resource corresponding to the operation. The response body shall be empty. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: > Used in redirection, or when a new resource has been created. This header field shall be present if the response status code is 201 or 3xx. In the present document this header field is also used if the response status code is 202 and a new resource was created. style: simple explode: false schema: type: string format: url content: {} IndividualVnfInstance.Patch.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the "Individual 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: 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 InstantiateVnfInstance.Post.202: description: > 202 ACCEPTED The request has been 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: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: > Used in redirection, or when a new resource has been created. This header field shall be present if the response status code is 201 or 3xx. In the present document this header field is also used if the response status code is 202 and a new resource was created. style: simple explode: false schema: type: string format: url content: {} InstantiateVnfInstance.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the "Individual VNF instance" resource is in INSTANTIATED state or that a required (see note) child attribute of the "extensions" attribute has not been set. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 ScaleVnfInstance.Post.202: description: > 202 ACCEPTED The request has been 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 "Individual VNF LCM operation occurrence" resource corresponding to the operation. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: > Used in redirection, or when a new resource has been created. This header field shall be present if the response status code is 201 or 3xx. In the present document this header field is also used if the response status code is 202 and a new resource was created. style: simple explode: false schema: type: string format: url content: {} ScaleVnfInstance.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the "Individual VNF instance" resource is in NOT_INSTANTIATED state, that another lifecycle management operation is ongoing, or that a required (see note) child attribute of the "extensions" attribute has not been set. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 ScaleVnfInstanceToLevel.Post.202: description: > 202 ACCEPTED The request has been 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: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: > Used in redirection, or when a new resource has been created. This header field shall be present if the response status code is 201 or 3xx. In the present document this header field is also used if the response status code is 202 and a new resource was created. style: simple explode: false schema: type: string format: url content: {} ScaleVnfInstanceToLevel.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the VNF instance resource is in NOT_INSTANTIATED state, that another lifecycle management operation is ongoing, or that a required (see note) child attribute of the "extensions" attribute has not been set. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. Note: Required attributes are marked as "required" in the VNFD. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 VnfInstanceChangeFlavour.Post.202: description: > 202 ACCEPTED The request has been 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 "Individual VNF LCM operation occurrence" resource corresponding to the operation. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: > Used in redirection, or when a new resource has been created. This header field shall be present if the response status code is 201 or 3xx. In the present document this header field is also used if the response status code is 202 and a new resource was created. style: simple explode: false schema: type: string format: url content: {} VnfInstanceChangeFlavour.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the "Individual VNF instance" resource is in NOT_INSTANTIATED state, that another lifecycle management operation is ongoing, or that a required (see note) child attribute of the "extensions" attribute has not been set. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. note: Required attributes are marked as "required" in the VNFD. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 TerminateVnfInstance.Post.202: description: > 202 ACCEPTED The request has been accepted for processing. The response body shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "Individual VNF LCM operation occurrence" resource corresponding to the operation. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: > Used in redirection, or when a new resource has been created. This header field shall be present if the response status code is 201 or 3xx. In the present document this header field is also used if the response status code is 202 and a new resource was created. style: simple explode: false schema: type: string format: url content: {} TerminateVnfInstance.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the "Individual VNF instance" resource is in NOT_INSTANTIATED state, or that another lifecycle management operation is ongoing, or that a required (see note) child attribute of the "extensions" attribute has not been set. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. note: Required attributes are marked as "required" in the VNFD. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 HealVnfInstance.Post.202: description: > 202 ACCEPTED The request has been 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 "Individual VNF LCM operation occurrence" resource corresponding to the operation. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: > Used in redirection, or when a new resource has been created. This header field shall be present if the response status code is 201 or 3xx. In the present document this header field is also used if the response status code is 202 and a new resource was created. style: simple explode: false schema: type: string format: url content: {} HealVnfInstance.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the "Individual VNF instance" resource is in NOT_INSTANTIATED state, that another lifecycle management operation is ongoing, or that a required (see note) child attribute of the "extensions" attribute has not been set. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. note: Required attributes are marked as "required" in the VNFD. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 OperateVnfInstance.Post.202: description: > 202 ACCEPTED The request has been 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: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: > Used in redirection, or when a new resource has been created. This header field shall be present if the response status code is 201 or 3xx. In the present document this header field is also used if the response status code is 202 and a new resource was created. style: simple explode: false schema: type: string format: url content: {} OperateVnfInstance.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that the "Individual VNF instance" resource is in NOT_INSTANTIATED state, that another lifecycle management operation is ongoing, or that a required (see note) child attribute of the "extensions" attribute has not been set. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. note: Required attributes are marked as "required" in the VNFD. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 VnfInstanceChangeExtConn.Post.202: description: > 202 ACCEPTED The request has been 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: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: > Used in redirection, or when a new resource has been created. This header field shall be present if the response status code is 201 or 3xx. In the present document this header field is also used if the response status code is 202 and a new resource was created. style: simple explode: false schema: type: string format: url content: {} VnfInstanceChangeExtConn.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that another lifecycle management operation is ongoing, or that a required (see note) child attribute of the "extensions" attribute has not been set. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. note: Required attributes are marked as "required" in the VNFD. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 VnfInstanceChangeVnfPkg.Post.202: description: > 202 ACCEPTED Shall be returned when the request has been accepted for processing. The response body shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created "Individual VNF LCM operation occurrence" resource corresponding to the instantiation operation. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: > Used in redirection, or when a new resource has been created. This header field shall be present if the response status code is 201 or 3xx. In the present document this header field is also used if the response status code is 202 and a new resource was created. style: simple explode: false schema: type: string format: url content: {} VnfInstanceChangeVnfPkg.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is due to the fact that another lifecycle management operation is ongoing. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 VnfLcmOpOccs.Get.200: description: > 200 OK Status information for zero or more VNF lifecycle management operation occurrences has been queried successfully. The response body shall contain in an array the status information about zero or more VNF lifecycle operation occurrences, as defined in clause 5.5.2.13. If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. headers: Version: description: | The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Link: description: > Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: application/json: schema: description: "This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the \"id\" attribute in the \"Grant\" representing the associated \"Individual Grant\", if such grant exists. * NOTE 1:\tThis allows the API consumer to obtain the information contained in the latest \"result\"\n notification if it has not received it due to an error or a wrongly configured subscription filter.\n* NOTE 2:\tNot more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. * NOTE 3:\tFor a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed\n for signalling the different types of changes, i.e. one per virtual link and change type.\n For instance, in the case of signaling affected VL instances involving the addition of a\n particular VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition\n of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\",\n and another \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the\n \"changeType\" equal to \"LINK_PORT_ADDED\".\n* NOTE 4:\tA coordination action has timed out if the VNFM has not been able to read the\n \"Individual coordination action\" resource within a timeout interval after requesting the coordination\n to be started or to be cancelled. The length of the timeout interval is defined by means outside\n the scope of the present document.\n* NOTE 5: The list of rejected coordinations may be garbage collected if the LCM operation occurrence has\n reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\" and \"ROLLED_BACK\".\n" type: object oneOf: - required: - changedInfo - required: - modificationsTriggeredByVnfPkgChange required: - id - operationState - stateEnteredTime - startTime - vnfInstanceId - operation - isAutomaticInvocation - isCancelPending properties: id: description: | An identifier with the intention of being globally unique. type: string operationState: description: > STARTING: The LCM operation is starting. PROCESSING: The LCM operation is currently in execution. COMPLETED: The LCM operation has been completed successfully. FAILED_TEMP: The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED: The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK: The LCM operation is currently being rolled back. ROLLED_BACK: The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible. type: string enum: - STARTING - PROCESSING - COMPLETED - FAILED_TEMP - FAILED - ROLLING_BACK - ROLLED_BACK stateEnteredTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time startTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time vnfInstanceId: description: | An identifier with the intention of being globally unique. type: string grantId: description: | An identifier with the intention of being globally unique. type: string operation: description: > The enumeration LcmOpType defines the permitted values to represent VNF lifecycle operation types in VNF lifecycle management operation occurrence resources and VNF lifecycle management operation occurrence notifications. Value | Description ------|------------ INSTANTIATE | Represents the "Instantiate VNF" LCM operation. SCALE | Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation. CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation. TERMINATE | Represents the "Terminate VNF" LCM operation. HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. MODIFY_INFO | Represents the "Modify VNF Information" LCM operation. CREATE_SNAPSHOT | Represents the "Create VNF Snapshot" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot" LCM operation. CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation. type: string enum: - INSTANTIATE - SCALE - SCALE_TO_LEVEL - CHANGE_FLAVOUR - TERMINATE - HEAL - OPERATE - CHANGE_EXT_CONN - MODIFY_INFO - CREATE_SNAPSHOT - REVERT_TO_SNAPSHOT - CHANGE_VNFPKG isAutomaticInvocation: description: | The Boolean is a data type having two values (true and false). type: boolean operationParams: description: > Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. In addition, the provisions in clause 5.7 shall apply. The following mapping between operationType and the data type of this attribute shall apply: * INSTANTIATE: InstantiateVnfRequest * SCALE: ScaleVnfRequest * SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR: ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL: HealVnfRequest * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications * CREATE_SNAPSHOT: CreateVnfSnapshotRequest * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest type: object isCancelPending: description: | The Boolean is a data type having two values (true and false). type: boolean cancelMode: description: > Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or "ROLLING_BACK" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in "STARTING" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state. FORCEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or "ROLLING_BACK" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in "STARTING" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state. type: string enum: - GRACEFUL - FORCEFUL error: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI resourceChanges: description: > This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable. type: object properties: affectedVnfcs: description: > Information about VNFC instances that were affected during the lifecycle operation. See note 1. type: array items: description: > This type provides information about added, deleted, modified and temporary VNFCs. type: object required: - id - vduId - changeType - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string changeType: description: > Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists. type: string enum: - ADDED - REMOVED - MODIFIED - TEMPORARY computeResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object affectedVnfcCpIds: description: > Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string addedStorageResourceIds: description: > References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string removedStorageResourceIds: description: > References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string affectedVirtualLinks: description: > Information about VL instances that were affected during the lifecycle operation. See note 1 and note 3. type: array items: description: "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n the \"networkResource\" attribute refers to the affected virtual link instance, not the link port \n instance. The resource handles of the affected VNF link ports can be found by dereferencing the \n identifiers in the \"vnfLinkPortIds\" attribute.\n" type: object required: - id - vnfVirtualLinkDescId - changeType - networkResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string changeType: description: > Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the "networkResource" attribute refers to the affected virtual link instance, not the link port instance. The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. type: string enum: - ADDED - REMOVED - MODIFIED - TEMPORARY - LINK_PORT_ADDED - LINK_PORT_REMOVED networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string vnfLinkPortIds: description: > Identifiers of the link ports of the affected VL related to the change. Each identifier references a "VnfLinkPortInfo" structure. Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related "VnfLinkPortInfo" structures are present (case "added") or have been present (case "removed") in the "VnfVirtualLinkResourceInfo" or "ExtManagedVirtualLinkInfo" structures that are represented by the "vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" attribute in the "VnfInstance" structure. See note. type: array items: description: > An identifier that is unique within a VNF descriptor. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object affectedExtLinkPorts: description: > Information about external VNF link ports that were affected during the lifecycle operation. See note 1. type: array items: description: > This type provides information about added and deleted external link ports (link ports attached to external virtual links). type: object required: - id - changeType - extCpInstanceId - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string changeType: description: "Signals the type of change. Permitted values: -\tADDED - MODIFIED -\tREMOVED\n" type: string enum: - ADDED - MODIFIED - REMOVED extCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string affectedVirtualStorages: description: > Information about virtualised storage instances that were affected during the lifecycle operation. See note 1. type: array items: description: > This type provides information about added, deleted, modified and temporary virtual storage resources. type: object required: - id - virtualStorageDescId - changeType - storageResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string virtualStorageDescId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string changeType: description: > Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists. type: string enum: - ADDED - REMOVED - MODIFIED - TEMPORARY storageResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object changedInfo: description: "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package. * NOTE:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute)\n was modified implicitly following a request to modify the \"vnfdId\" attribute, by\n copying the value of this attribute from the VNFD in the VNF Package identified\n by the \"vnfdId\" attribute.\n" type: object properties: vnfInstanceName: description: > If present, this attribute signals modifications of the "vnfInstanceName" attribute in "VnfInstance" as defined in clause 5.5.2.12.. type: string vnfInstanceDescription: description: > If present, this attribute signals modifications of the "vnfInstanceDescription" attribute in "VnfInstance", as defined in clause 5.5.2.12.. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfProvider: description: > If present, this attribute signals modifications of the "vnfProvider" attribute in "VnfInstance". See note. type: string vnfProductName: description: > If present, this attribute signals modifications of the "vnfProductName" attribute in "VnfInstance". See note. type: string vnfSoftwareVersion: description: | A version. type: string vnfdVersion: description: | A version. type: string vnfcInfoModifications: description: > If present, this attribute signals modifications of certain entries in the "vnfcInfo" attribute array in the "instantiatedVnfInfo" attribute of "VnfInstance", as defined in clause 5.5.2.12. type: array items: description: "This type represents modifications of an entry in an array of \"VnfcInfo\" objects. * NOTE:\tThe attribute \"id\" in this data type represents the same identifier as the attribute\n \"vnfcInstanceId\" in other related data types in the present document. For reasons of backward\n compatibility, this misalignment is not corrected.\n" type: object required: - id - vnfcConfigurableProperties properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcConfigurableProperties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object affectedVipCps: description: > Information about virtual IP CP instances that were affected during the execution of the lifecycle management operation. type: array items: description: > This type provides information about added, deleted and modified virtual IP CP instances. type: object required: - cpInstanceId - cpdId - changeType properties: cpInstanceId: 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string changeType: description: "Signals the type of change. Permitted values: -\tADDED -\tREMOVED -\tMODIFIED\n" type: string enum: - ADDED - REMOVED - MODIFIED changedExtConnectivity: description: > Information about changed external connectivity, if applicable. See note 1. type: array items: description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n" type: object required: - id - resourceHandle - currentVnfExtCpData properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n" type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 secondaryCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string currentVnfExtCpData: description: > Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note. type: array items: description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n* NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value \n is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig\n map entry may be used by an external CP instance different than the one that has used it before the\n operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\"\n operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n" type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4. type: object additionalProperties: description: > This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. 2. In case 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. In the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. * NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" for an external CP instance connected or to be connected to a virtual network not categorized as secondary container cluster network: 1) Void. 2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing external CP instance that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a precreated 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. 5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: - linkPortId - required: - cpProtocolData - required: - netAttDefResourceId type: object properties: parentCpConfigId: 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 createExtLinkPort: description: > Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise. type: boolean cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2. type: array items: description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET. - IP_FOR_VIRTUAL_CP See note type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI's transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange 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 segmentationType: description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n" type: string enum: - VLAN - INHERIT segmentationId: description: > Identification of the network segment to which the CP instance connects to. See note 3 and note 4. type: string 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. See note 1. 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). See note 2. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: 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. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 netAttDefResourceId: description: > Identifier of the “NetAttDefResourceData” structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 2, 3 and 4. type: array items: description: > An identifier with the intention of being globally unique. type: string extNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 modificationsTriggeredByVnfPkgChange: description: "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation.\nNOTE 1:\tThis attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value \n of the attribute at the start of the \"Change current VNF package\" operation and the value of the attribute \n at its completion.\nNOTE 2:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly \n during the related operation and contains a copy of the value of the related attribute from the VNFD in the \n VNF Package identified by the \"vnfdId\" attribute.\n" type: object properties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfProvider: description: > If present, this attribute signals the new value of the "vnfProvider" attribute in "VnfInstance". See note 2. type: string vnfProductName: description: > If present, this attribute signals the new value of the "vnfProductName" attribute in "VnfInstance". See note 2. type: string vnfSoftwareVersion: description: | A version. type: string vnfdVersion: description: | A version. type: string vimConnectionInfo: description: > If present, this attribute signals the changes to VIM connection info that were passed in the related "ChangeCurrentVnfPkgRequest" structure. The provisions for sensitive information defined in clause 4.4.1.6 apply. type: object additionalProperties: description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-relate dparameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n that are accessible using a particular set of credentials. See definition of\n \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n interface endpoint of the VIM., CISM, CIR or MCIOP repository.\n" type: object required: - vimType properties: 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., CISM, CIR or MCIOP repository. 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 [i.3] provides access to information about VimConnectionInfo definitions for various VIM, CISM, CIR or MCIOP repository types. The structure of the registry is defined in annex C. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfSnapshotInfoId: description: | An identifier with the intention of being globally unique. type: string lcmCoordinations: description: > Information about LCM coordination actions (see clause 10) related to this LCM operation occurrence. type: object required: - id - coordinationActionName - startTime - endpointType properties: id: description: | An identifier with the intention of being globally unique. type: string coordinationActionName: description: | An identifier with the intention of being globally unique. type: string coordinationResult: description: > The enumeration LcmCoordResultType defines the permitted values to represent the result of executing an LCM coordination action. The coordination result also implies the action to be performed by the VNFM as the follow-up to this coordination. Value | Description ------|------------ CONTINUE | The related LCM operation shall be continued, staying in the state "PROCESSING". ABORT | The related LCM operation shall be aborted by transitioning into the state "FAILED_TEMP". CANCELLED | The coordination action has been cancelled upon request of the API consumer, i.e. the VNFM. The related LCM operation shall be aborted by transitioning into the state "FAILED_TEMP". type: string enum: - CONTINUE - ABORT - CANCELLED startTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time endTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time endpointType: description: > The endpoint type used by this coordination action. Valid values: - MGMT: coordination with other operation supporting management systems (e.g. EM) - VNF: coordination with the VNF instance type: string enum: - MGMT - VNF delay: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time rejectedLcmCoordinations: description: > Information about LCM coordination actions (see clause 10) that were rejected by 503 error which means they will be tried again after a delay. See note 5. type: object required: - coordinationActionName - rejectionTime - endpointType - delay properties: coordinationActionName: description: | An identifier with the intention of being globally unique. type: string rejectionTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time endpointType: description: > The endpoint type used by this coordination action. Valid values: - MGMT: coordination with other operation supporting management systems (e.g. EM) - VNF: coordination with the VNF instance type: string enum: - MGMT - VNF delay: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time warnings: description: > Warning messages that were generated while the operation was executing. If the operation has included LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute. type: array items: type: string _links: description: | Links to resources related to this resource. type: object required: - self - vnfInstance properties: self: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string vnfInstance: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string grant: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string cancel: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string retry: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string rollback: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string fail: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string vnfSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string IndividualVnfLcmOpOcc.Get.200: description: > 200 OK Information about an individual VNF instance has been queried successfully. The response body shall contain status information about a VNF lifecycle management operation occurrence. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: application/json: schema: description: "This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the \"id\" attribute in the \"Grant\" representing the associated \"Individual Grant\", if such grant exists. * NOTE 1:\tThis allows the API consumer to obtain the information contained in the latest \"result\"\n notification if it has not received it due to an error or a wrongly configured subscription filter.\n* NOTE 2:\tNot more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. * NOTE 3:\tFor a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed\n for signalling the different types of changes, i.e. one per virtual link and change type.\n For instance, in the case of signaling affected VL instances involving the addition of a\n particular VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition\n of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\",\n and another \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the\n \"changeType\" equal to \"LINK_PORT_ADDED\".\n* NOTE 4:\tA coordination action has timed out if the VNFM has not been able to read the\n \"Individual coordination action\" resource within a timeout interval after requesting the coordination\n to be started or to be cancelled. The length of the timeout interval is defined by means outside\n the scope of the present document.\n* NOTE 5: The list of rejected coordinations may be garbage collected if the LCM operation occurrence has\n reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\" and \"ROLLED_BACK\".\n" type: object oneOf: - required: - changedInfo - required: - modificationsTriggeredByVnfPkgChange required: - id - operationState - stateEnteredTime - startTime - vnfInstanceId - operation - isAutomaticInvocation - isCancelPending properties: id: description: | An identifier with the intention of being globally unique. type: string operationState: description: > STARTING: The LCM operation is starting. PROCESSING: The LCM operation is currently in execution. COMPLETED: The LCM operation has been completed successfully. FAILED_TEMP: The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED: The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK: The LCM operation is currently being rolled back. ROLLED_BACK: The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible. type: string enum: - STARTING - PROCESSING - COMPLETED - FAILED_TEMP - FAILED - ROLLING_BACK - ROLLED_BACK stateEnteredTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time startTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time vnfInstanceId: description: | An identifier with the intention of being globally unique. type: string grantId: description: | An identifier with the intention of being globally unique. type: string operation: description: > The enumeration LcmOpType defines the permitted values to represent VNF lifecycle operation types in VNF lifecycle management operation occurrence resources and VNF lifecycle management operation occurrence notifications. Value | Description ------|------------ INSTANTIATE | Represents the "Instantiate VNF" LCM operation. SCALE | Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation. CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation. TERMINATE | Represents the "Terminate VNF" LCM operation. HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. MODIFY_INFO | Represents the "Modify VNF Information" LCM operation. CREATE_SNAPSHOT | Represents the "Create VNF Snapshot" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot" LCM operation. CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation. type: string enum: - INSTANTIATE - SCALE - SCALE_TO_LEVEL - CHANGE_FLAVOUR - TERMINATE - HEAL - OPERATE - CHANGE_EXT_CONN - MODIFY_INFO - CREATE_SNAPSHOT - REVERT_TO_SNAPSHOT - CHANGE_VNFPKG isAutomaticInvocation: description: | The Boolean is a data type having two values (true and false). type: boolean operationParams: description: > Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. In addition, the provisions in clause 5.7 shall apply. The following mapping between operationType and the data type of this attribute shall apply: * INSTANTIATE: InstantiateVnfRequest * SCALE: ScaleVnfRequest * SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR: ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL: HealVnfRequest * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications * CREATE_SNAPSHOT: CreateVnfSnapshotRequest * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest type: object isCancelPending: description: | The Boolean is a data type having two values (true and false). type: boolean cancelMode: description: > Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or "ROLLING_BACK" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in "STARTING" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state. FORCEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or "ROLLING_BACK" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in "STARTING" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state. type: string enum: - GRACEFUL - FORCEFUL error: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI resourceChanges: description: > This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable. type: object properties: affectedVnfcs: description: > Information about VNFC instances that were affected during the lifecycle operation. See note 1. type: array items: description: > This type provides information about added, deleted, modified and temporary VNFCs. type: object required: - id - vduId - changeType - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string changeType: description: > Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists. type: string enum: - ADDED - REMOVED - MODIFIED - TEMPORARY computeResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object affectedVnfcCpIds: description: > Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string addedStorageResourceIds: description: > References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string removedStorageResourceIds: description: > References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string affectedVirtualLinks: description: > Information about VL instances that were affected during the lifecycle operation. See note 1 and note 3. type: array items: description: "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n the \"networkResource\" attribute refers to the affected virtual link instance, not the link port \n instance. The resource handles of the affected VNF link ports can be found by dereferencing the \n identifiers in the \"vnfLinkPortIds\" attribute.\n" type: object required: - id - vnfVirtualLinkDescId - changeType - networkResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string changeType: description: > Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the "networkResource" attribute refers to the affected virtual link instance, not the link port instance. The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. type: string enum: - ADDED - REMOVED - MODIFIED - TEMPORARY - LINK_PORT_ADDED - LINK_PORT_REMOVED networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string vnfLinkPortIds: description: > Identifiers of the link ports of the affected VL related to the change. Each identifier references a "VnfLinkPortInfo" structure. Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related "VnfLinkPortInfo" structures are present (case "added") or have been present (case "removed") in the "VnfVirtualLinkResourceInfo" or "ExtManagedVirtualLinkInfo" structures that are represented by the "vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" attribute in the "VnfInstance" structure. See note. type: array items: description: > An identifier that is unique within a VNF descriptor. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object affectedExtLinkPorts: description: > Information about external VNF link ports that were affected during the lifecycle operation. See note 1. type: array items: description: > This type provides information about added and deleted external link ports (link ports attached to external virtual links). type: object required: - id - changeType - extCpInstanceId - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string changeType: description: "Signals the type of change. Permitted values: -\tADDED - MODIFIED -\tREMOVED\n" type: string enum: - ADDED - MODIFIED - REMOVED extCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string affectedVirtualStorages: description: > Information about virtualised storage instances that were affected during the lifecycle operation. See note 1. type: array items: description: > This type provides information about added, deleted, modified and temporary virtual storage resources. type: object required: - id - virtualStorageDescId - changeType - storageResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string virtualStorageDescId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string changeType: description: > Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists. type: string enum: - ADDED - REMOVED - MODIFIED - TEMPORARY storageResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object changedInfo: description: "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package. * NOTE:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute)\n was modified implicitly following a request to modify the \"vnfdId\" attribute, by\n copying the value of this attribute from the VNFD in the VNF Package identified\n by the \"vnfdId\" attribute.\n" type: object properties: vnfInstanceName: description: > If present, this attribute signals modifications of the "vnfInstanceName" attribute in "VnfInstance" as defined in clause 5.5.2.12.. type: string vnfInstanceDescription: description: > If present, this attribute signals modifications of the "vnfInstanceDescription" attribute in "VnfInstance", as defined in clause 5.5.2.12.. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfProvider: description: > If present, this attribute signals modifications of the "vnfProvider" attribute in "VnfInstance". See note. type: string vnfProductName: description: > If present, this attribute signals modifications of the "vnfProductName" attribute in "VnfInstance". See note. type: string vnfSoftwareVersion: description: | A version. type: string vnfdVersion: description: | A version. type: string vnfcInfoModifications: description: > If present, this attribute signals modifications of certain entries in the "vnfcInfo" attribute array in the "instantiatedVnfInfo" attribute of "VnfInstance", as defined in clause 5.5.2.12. type: array items: description: "This type represents modifications of an entry in an array of \"VnfcInfo\" objects. * NOTE:\tThe attribute \"id\" in this data type represents the same identifier as the attribute\n \"vnfcInstanceId\" in other related data types in the present document. For reasons of backward\n compatibility, this misalignment is not corrected.\n" type: object required: - id - vnfcConfigurableProperties properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcConfigurableProperties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object affectedVipCps: description: > Information about virtual IP CP instances that were affected during the execution of the lifecycle management operation. type: array items: description: > This type provides information about added, deleted and modified virtual IP CP instances. type: object required: - cpInstanceId - cpdId - changeType properties: cpInstanceId: 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string changeType: description: "Signals the type of change. Permitted values: -\tADDED -\tREMOVED -\tMODIFIED\n" type: string enum: - ADDED - REMOVED - MODIFIED changedExtConnectivity: description: > Information about changed external connectivity, if applicable. See note 1. type: array items: description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n" type: object required: - id - resourceHandle - currentVnfExtCpData properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n" type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 secondaryCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string currentVnfExtCpData: description: > Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note. type: array items: description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n* NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value \n is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig\n map entry may be used by an external CP instance different than the one that has used it before the\n operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\"\n operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n" type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4. type: object additionalProperties: description: > This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. 2. In case 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. In the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. * NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" for an external CP instance connected or to be connected to a virtual network not categorized as secondary container cluster network: 1) Void. 2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing external CP instance that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a precreated 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. 5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: - linkPortId - required: - cpProtocolData - required: - netAttDefResourceId type: object properties: parentCpConfigId: 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 createExtLinkPort: description: > Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise. type: boolean cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2. type: array items: description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET. - IP_FOR_VIRTUAL_CP See note type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI's transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange 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 segmentationType: description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n" type: string enum: - VLAN - INHERIT segmentationId: description: > Identification of the network segment to which the CP instance connects to. See note 3 and note 4. type: string 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. See note 1. 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). See note 2. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: 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. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 netAttDefResourceId: description: > Identifier of the “NetAttDefResourceData” structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 2, 3 and 4. type: array items: description: > An identifier with the intention of being globally unique. type: string extNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 modificationsTriggeredByVnfPkgChange: description: "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation.\nNOTE 1:\tThis attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value \n of the attribute at the start of the \"Change current VNF package\" operation and the value of the attribute \n at its completion.\nNOTE 2:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly \n during the related operation and contains a copy of the value of the related attribute from the VNFD in the \n VNF Package identified by the \"vnfdId\" attribute.\n" type: object properties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfProvider: description: > If present, this attribute signals the new value of the "vnfProvider" attribute in "VnfInstance". See note 2. type: string vnfProductName: description: > If present, this attribute signals the new value of the "vnfProductName" attribute in "VnfInstance". See note 2. type: string vnfSoftwareVersion: description: | A version. type: string vnfdVersion: description: | A version. type: string vimConnectionInfo: description: > If present, this attribute signals the changes to VIM connection info that were passed in the related "ChangeCurrentVnfPkgRequest" structure. The provisions for sensitive information defined in clause 4.4.1.6 apply. type: object additionalProperties: description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-relate dparameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n that are accessible using a particular set of credentials. See definition of\n \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n interface endpoint of the VIM., CISM, CIR or MCIOP repository.\n" type: object required: - vimType properties: 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., CISM, CIR or MCIOP repository. 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 [i.3] provides access to information about VimConnectionInfo definitions for various VIM, CISM, CIR or MCIOP repository types. The structure of the registry is defined in annex C. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfSnapshotInfoId: description: | An identifier with the intention of being globally unique. type: string lcmCoordinations: description: > Information about LCM coordination actions (see clause 10) related to this LCM operation occurrence. type: object required: - id - coordinationActionName - startTime - endpointType properties: id: description: | An identifier with the intention of being globally unique. type: string coordinationActionName: description: | An identifier with the intention of being globally unique. type: string coordinationResult: description: > The enumeration LcmCoordResultType defines the permitted values to represent the result of executing an LCM coordination action. The coordination result also implies the action to be performed by the VNFM as the follow-up to this coordination. Value | Description ------|------------ CONTINUE | The related LCM operation shall be continued, staying in the state "PROCESSING". ABORT | The related LCM operation shall be aborted by transitioning into the state "FAILED_TEMP". CANCELLED | The coordination action has been cancelled upon request of the API consumer, i.e. the VNFM. The related LCM operation shall be aborted by transitioning into the state "FAILED_TEMP". type: string enum: - CONTINUE - ABORT - CANCELLED startTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time endTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time endpointType: description: > The endpoint type used by this coordination action. Valid values: - MGMT: coordination with other operation supporting management systems (e.g. EM) - VNF: coordination with the VNF instance type: string enum: - MGMT - VNF delay: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time rejectedLcmCoordinations: description: > Information about LCM coordination actions (see clause 10) that were rejected by 503 error which means they will be tried again after a delay. See note 5. type: object required: - coordinationActionName - rejectionTime - endpointType - delay properties: coordinationActionName: description: | An identifier with the intention of being globally unique. type: string rejectionTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time endpointType: description: > The endpoint type used by this coordination action. Valid values: - MGMT: coordination with other operation supporting management systems (e.g. EM) - VNF: coordination with the VNF instance type: string enum: - MGMT - VNF delay: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time warnings: description: > Warning messages that were generated while the operation was executing. If the operation has included LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute. type: array items: type: string _links: description: | Links to resources related to this resource. type: object required: - self - vnfInstance properties: self: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string vnfInstance: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string grant: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string cancel: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string retry: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string rollback: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string fail: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string vnfSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string VnfLcmOpOccRetry.Post.202: description: > 202 ACCEPTED The request has been accepted for processing, but processing has not been completed. The response shall have an empty payload body. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string content: {} VnfLcmOpOccRetry.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the VNF LCM operation occurrence. Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state or another error handling action is starting such as rollback or fail. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 VnfLcmOpOccRollback.Post.202: description: > 202 ACCEPTED The request has been accepted for processing, but processing has not been completed. The response shall have an empty payload body. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string content: {} VnfLcmOpOccRollback.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the VNF LCM operation occurrence. Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state or another error handling action is starting such as retry or fail. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 VnfLcmOpOccFail.Post.200: description: > 200 OK The state of the VNF lifecycle management operation occurrence has been changed successfully. The response shall include a representation of the "Individual VNF lifecycle operation occurrence" resource. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: application/json: schema: description: "This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the \"id\" attribute in the \"Grant\" representing the associated \"Individual Grant\", if such grant exists. * NOTE 1:\tThis allows the API consumer to obtain the information contained in the latest \"result\"\n notification if it has not received it due to an error or a wrongly configured subscription filter.\n* NOTE 2:\tNot more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present. * NOTE 3:\tFor a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed\n for signalling the different types of changes, i.e. one per virtual link and change type.\n For instance, in the case of signaling affected VL instances involving the addition of a\n particular VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition\n of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\",\n and another \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the\n \"changeType\" equal to \"LINK_PORT_ADDED\".\n* NOTE 4:\tA coordination action has timed out if the VNFM has not been able to read the\n \"Individual coordination action\" resource within a timeout interval after requesting the coordination\n to be started or to be cancelled. The length of the timeout interval is defined by means outside\n the scope of the present document.\n* NOTE 5: The list of rejected coordinations may be garbage collected if the LCM operation occurrence has\n reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\" and \"ROLLED_BACK\".\n" type: object oneOf: - required: - changedInfo - required: - modificationsTriggeredByVnfPkgChange required: - id - operationState - stateEnteredTime - startTime - vnfInstanceId - operation - isAutomaticInvocation - isCancelPending properties: id: description: | An identifier with the intention of being globally unique. type: string operationState: description: > STARTING: The LCM operation is starting. PROCESSING: The LCM operation is currently in execution. COMPLETED: The LCM operation has been completed successfully. FAILED_TEMP: The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED: The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK: The LCM operation is currently being rolled back. ROLLED_BACK: The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible. type: string enum: - STARTING - PROCESSING - COMPLETED - FAILED_TEMP - FAILED - ROLLING_BACK - ROLLED_BACK stateEnteredTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time startTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time vnfInstanceId: description: | An identifier with the intention of being globally unique. type: string grantId: description: | An identifier with the intention of being globally unique. type: string operation: description: > The enumeration LcmOpType defines the permitted values to represent VNF lifecycle operation types in VNF lifecycle management operation occurrence resources and VNF lifecycle management operation occurrence notifications. Value | Description ------|------------ INSTANTIATE | Represents the "Instantiate VNF" LCM operation. SCALE | Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation. CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation. TERMINATE | Represents the "Terminate VNF" LCM operation. HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. MODIFY_INFO | Represents the "Modify VNF Information" LCM operation. CREATE_SNAPSHOT | Represents the "Create VNF Snapshot" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot" LCM operation. CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation. type: string enum: - INSTANTIATE - SCALE - SCALE_TO_LEVEL - CHANGE_FLAVOUR - TERMINATE - HEAL - OPERATE - CHANGE_EXT_CONN - MODIFY_INFO - CREATE_SNAPSHOT - REVERT_TO_SNAPSHOT - CHANGE_VNFPKG isAutomaticInvocation: description: | The Boolean is a data type having two values (true and false). type: boolean operationParams: description: > Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. In addition, the provisions in clause 5.7 shall apply. The following mapping between operationType and the data type of this attribute shall apply: * INSTANTIATE: InstantiateVnfRequest * SCALE: ScaleVnfRequest * SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR: ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL: HealVnfRequest * CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest * TERMINATE: TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications * CREATE_SNAPSHOT: CreateVnfSnapshotRequest * REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest * CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest type: object isCancelPending: description: | The Boolean is a data type having two values (true and false). type: boolean cancelMode: description: > Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or "ROLLING_BACK" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in "STARTING" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state. FORCEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or "ROLLING_BACK" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in "STARTING" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state. type: string enum: - GRACEFUL - FORCEFUL error: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI resourceChanges: description: > This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable. type: object properties: affectedVnfcs: description: > Information about VNFC instances that were affected during the lifecycle operation. See note 1. type: array items: description: > This type provides information about added, deleted, modified and temporary VNFCs. type: object required: - id - vduId - changeType - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string changeType: description: > Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists. type: string enum: - ADDED - REMOVED - MODIFIED - TEMPORARY computeResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object affectedVnfcCpIds: description: > Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string addedStorageResourceIds: description: > References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string removedStorageResourceIds: description: > References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC. type: array items: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string affectedVirtualLinks: description: > Information about VL instances that were affected during the lifecycle operation. See note 1 and note 3. type: array items: description: "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n the \"networkResource\" attribute refers to the affected virtual link instance, not the link port \n instance. The resource handles of the affected VNF link ports can be found by dereferencing the \n identifiers in the \"vnfLinkPortIds\" attribute.\n" type: object required: - id - vnfVirtualLinkDescId - changeType - networkResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfVirtualLinkDescId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string changeType: description: > Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY * LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the "networkResource" attribute refers to the affected virtual link instance, not the link port instance. The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. type: string enum: - ADDED - REMOVED - MODIFIED - TEMPORARY - LINK_PORT_ADDED - LINK_PORT_REMOVED networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string vnfLinkPortIds: description: > Identifiers of the link ports of the affected VL related to the change. Each identifier references a "VnfLinkPortInfo" structure. Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related "VnfLinkPortInfo" structures are present (case "added") or have been present (case "removed") in the "VnfVirtualLinkResourceInfo" or "ExtManagedVirtualLinkInfo" structures that are represented by the "vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" attribute in the "VnfInstance" structure. See note. type: array items: description: > An identifier that is unique within a VNF descriptor. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object affectedExtLinkPorts: description: > Information about external VNF link ports that were affected during the lifecycle operation. See note 1. type: array items: description: > This type provides information about added and deleted external link ports (link ports attached to external virtual links). type: object required: - id - changeType - extCpInstanceId - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string changeType: description: "Signals the type of change. Permitted values: -\tADDED - MODIFIED -\tREMOVED\n" type: string enum: - ADDED - MODIFIED - REMOVED extCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string affectedVirtualStorages: description: > Information about virtualised storage instances that were affected during the lifecycle operation. See note 1. type: array items: description: > This type provides information about added, deleted, modified and temporary virtual storage resources. type: object required: - id - virtualStorageDescId - changeType - storageResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string virtualStorageDescId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string changeType: description: > Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists. type: string enum: - ADDED - REMOVED - MODIFIED - TEMPORARY storageResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object changedInfo: description: "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package. * NOTE:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute)\n was modified implicitly following a request to modify the \"vnfdId\" attribute, by\n copying the value of this attribute from the VNFD in the VNF Package identified\n by the \"vnfdId\" attribute.\n" type: object properties: vnfInstanceName: description: > If present, this attribute signals modifications of the "vnfInstanceName" attribute in "VnfInstance" as defined in clause 5.5.2.12.. type: string vnfInstanceDescription: description: > If present, this attribute signals modifications of the "vnfInstanceDescription" attribute in "VnfInstance", as defined in clause 5.5.2.12.. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfProvider: description: > If present, this attribute signals modifications of the "vnfProvider" attribute in "VnfInstance". See note. type: string vnfProductName: description: > If present, this attribute signals modifications of the "vnfProductName" attribute in "VnfInstance". See note. type: string vnfSoftwareVersion: description: | A version. type: string vnfdVersion: description: | A version. type: string vnfcInfoModifications: description: > If present, this attribute signals modifications of certain entries in the "vnfcInfo" attribute array in the "instantiatedVnfInfo" attribute of "VnfInstance", as defined in clause 5.5.2.12. type: array items: description: "This type represents modifications of an entry in an array of \"VnfcInfo\" objects. * NOTE:\tThe attribute \"id\" in this data type represents the same identifier as the attribute\n \"vnfcInstanceId\" in other related data types in the present document. For reasons of backward\n compatibility, this misalignment is not corrected.\n" type: object required: - id - vnfcConfigurableProperties properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcConfigurableProperties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object affectedVipCps: description: > Information about virtual IP CP instances that were affected during the execution of the lifecycle management operation. type: array items: description: > This type provides information about added, deleted and modified virtual IP CP instances. type: object required: - cpInstanceId - cpdId - changeType properties: cpInstanceId: 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string changeType: description: "Signals the type of change. Permitted values: -\tADDED -\tREMOVED -\tMODIFIED\n" type: string enum: - ADDED - REMOVED - MODIFIED changedExtConnectivity: description: > Information about changed external connectivity, if applicable. See note 1. type: array items: description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n" type: object required: - id - resourceHandle - currentVnfExtCpData properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n" type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 secondaryCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string currentVnfExtCpData: description: > Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note. type: array items: description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n* NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value \n is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig\n map entry may be used by an external CP instance different than the one that has used it before the\n operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\"\n operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n" type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4. type: object additionalProperties: description: > This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. 2. In case 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. In the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. * NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" for an external CP instance connected or to be connected to a virtual network not categorized as secondary container cluster network: 1) Void. 2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing external CP instance that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a precreated 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. 5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: - linkPortId - required: - cpProtocolData - required: - netAttDefResourceId type: object properties: parentCpConfigId: 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 createExtLinkPort: description: > Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise. type: boolean cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2. type: array items: description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET. - IP_FOR_VIRTUAL_CP See note type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI's transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange 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 segmentationType: description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n" type: string enum: - VLAN - INHERIT segmentationId: description: > Identification of the network segment to which the CP instance connects to. See note 3 and note 4. type: string 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. See note 1. 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). See note 2. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: 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. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 netAttDefResourceId: description: > Identifier of the “NetAttDefResourceData” structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 2, 3 and 4. type: array items: description: > An identifier with the intention of being globally unique. type: string extNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 modificationsTriggeredByVnfPkgChange: description: "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation.\nNOTE 1:\tThis attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value \n of the attribute at the start of the \"Change current VNF package\" operation and the value of the attribute \n at its completion.\nNOTE 2:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly \n during the related operation and contains a copy of the value of the related attribute from the VNFD in the \n VNF Package identified by the \"vnfdId\" attribute.\n" type: object properties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfProvider: description: > If present, this attribute signals the new value of the "vnfProvider" attribute in "VnfInstance". See note 2. type: string vnfProductName: description: > If present, this attribute signals the new value of the "vnfProductName" attribute in "VnfInstance". See note 2. type: string vnfSoftwareVersion: description: | A version. type: string vnfdVersion: description: | A version. type: string vimConnectionInfo: description: > If present, this attribute signals the changes to VIM connection info that were passed in the related "ChangeCurrentVnfPkgRequest" structure. The provisions for sensitive information defined in clause 4.4.1.6 apply. type: object additionalProperties: description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-relate dparameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n that are accessible using a particular set of credentials. See definition of\n \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n interface endpoint of the VIM., CISM, CIR or MCIOP repository.\n" type: object required: - vimType properties: 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., CISM, CIR or MCIOP repository. 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 [i.3] provides access to information about VimConnectionInfo definitions for various VIM, CISM, CIR or MCIOP repository types. The structure of the registry is defined in annex C. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfSnapshotInfoId: description: | An identifier with the intention of being globally unique. type: string lcmCoordinations: description: > Information about LCM coordination actions (see clause 10) related to this LCM operation occurrence. type: object required: - id - coordinationActionName - startTime - endpointType properties: id: description: | An identifier with the intention of being globally unique. type: string coordinationActionName: description: | An identifier with the intention of being globally unique. type: string coordinationResult: description: > The enumeration LcmCoordResultType defines the permitted values to represent the result of executing an LCM coordination action. The coordination result also implies the action to be performed by the VNFM as the follow-up to this coordination. Value | Description ------|------------ CONTINUE | The related LCM operation shall be continued, staying in the state "PROCESSING". ABORT | The related LCM operation shall be aborted by transitioning into the state "FAILED_TEMP". CANCELLED | The coordination action has been cancelled upon request of the API consumer, i.e. the VNFM. The related LCM operation shall be aborted by transitioning into the state "FAILED_TEMP". type: string enum: - CONTINUE - ABORT - CANCELLED startTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time endTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time endpointType: description: > The endpoint type used by this coordination action. Valid values: - MGMT: coordination with other operation supporting management systems (e.g. EM) - VNF: coordination with the VNF instance type: string enum: - MGMT - VNF delay: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time rejectedLcmCoordinations: description: > Information about LCM coordination actions (see clause 10) that were rejected by 503 error which means they will be tried again after a delay. See note 5. type: object required: - coordinationActionName - rejectionTime - endpointType - delay properties: coordinationActionName: description: | An identifier with the intention of being globally unique. type: string rejectionTime: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time endpointType: description: > The endpoint type used by this coordination action. Valid values: - MGMT: coordination with other operation supporting management systems (e.g. EM) - VNF: coordination with the VNF instance type: string enum: - MGMT - VNF delay: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time warnings: description: > Warning messages that were generated while the operation was executing. If the operation has included LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute. type: array items: type: string _links: description: | Links to resources related to this resource. type: object required: - self - vnfInstance properties: self: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string vnfInstance: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string grant: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string cancel: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string retry: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string rollback: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string fail: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string vnfSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string VnfLcmOpOccFail.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the VNF LCM operation occurrence. Typically, this is due to the fact that the VNF LCM operation occurrence is not in FAILED_TEMP state or another error handling action is starting such as retry or rollback. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 VnfLcmOpOccCancel.Post.202: description: > 202 ACCEPTED The request has been accepted for processing, but processing has not been completed. The response shall have an empty payload body. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string content: {} VnfLcmOpOccCancel.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the VNF LCM operation occurrence. Typically, this is due to the fact that the operation occurrence is not in STARTING, PROCESSING or ROLLING_BACK state. The response body shall contain a ProblemDetails structure, in which the "detail" attribute shall convey more information about the error. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be "about:blank". type: string format: URI title: description: > A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than "about:blank", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). type: string status: description: > The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer detail: description: > A human-readable explanation specific to this occurrence of the problem. type: string instance: description: > A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced. type: string format: URI Subscriptions.Get.200: description: > 200 OK The list of subscriptions has been queried successfully. The response body shall contain in an array the representations of all active subscriptions of the functional block that invokes the method, i.e. zero or more representations of lifecycle change notification subscriptions as defined in clause 5.5.2.16. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: application/json: schema: description: > This type represents a subscription related to notifications about VNF lifecycle changes. type: object required: - id - callbackUri - verbosity - _links properties: id: description: | An identifier with the intention of being globally unique. type: string filter: description: "This type represents a subscription filter related to notifications about VNF lifecycle changes.\nAt a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of \n the notification types to facilitate automated code generation systems.\n" type: object properties: vnfInstanceSubscriptionFilter: description: "This type represents subscription filter criteria to match VNF instances. * NOTE 1:\tThe attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances\n that are based on certain VNFDs in a filter. They should not be used both in the same filter instance,\n but one alternative should be chosen.\n NOTE 2:\tThe attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF\n instances in a filter. They should not be used both in the same filter instance, but one alternative\n should be chosen.\n" type: object anyOf: - oneOf: - required: - vnfdId - required: - vnfProductsFromProviders - oneOf: - required: - vnfInstanceIds - required: - vnfInstanceNames properties: vnfdIds: description: > If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See note 1. type: array items: description: > An identifier with the intention of being globally unique. type: string vnfProductsFromProviders: description: > If present, match VNF instances that belong to VNF products from certain providers. See note 1. type: array items: type: object required: - vnfProvider properties: vnfProvider: description: | Name of the VNF provider to match. type: string vnfProducts: description: > If present, match VNF instances that belong to VNF products with certain product names, from one particular provider. type: array items: type: object required: - vnfProductName properties: vnfProductName: description: | Name of the VNF product to match. type: string versions: description: > If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider. type: array items: type: object required: - vnfSoftwareVersion properties: vnfSoftwareVersion: description: | A version. type: string vnfdVersions: description: > If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider. type: array items: description: | A version. type: string vnfInstanceIds: description: > If present, match VNF instances with an instance identifier listed in this attribute. See note 2. type: array items: description: > An identifier with the intention of being globally unique. type: string vnfInstanceNames: description: > If present, match VNF instances with a VNF Instance Name listed in this attribute. See note 2. type: array items: type: string notificationTypes: description: "Match particular notification types. \nPermitted values: -\tVnfLcmOperationOccurrenceNotification -\tVnfIdentifierCreationNotification -\tVnfIdentifierDeletionNotification See note.\n" type: array items: type: string enum: - VnfLcmOperationOccurrenceNotification - VnfIdentifierCreationNotification - VnfIdentifierDeletionNotification operationTypes: description: > Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise. type: array items: description: > The enumeration LcmOpType defines the permitted values to represent VNF lifecycle operation types in VNF lifecycle management operation occurrence resources and VNF lifecycle management operation occurrence notifications. Value | Description ------|------------ INSTANTIATE | Represents the "Instantiate VNF" LCM operation. SCALE | Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation. CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation. TERMINATE | Represents the "Terminate VNF" LCM operation. HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. MODIFY_INFO | Represents the "Modify VNF Information" LCM operation. CREATE_SNAPSHOT | Represents the "Create VNF Snapshot" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot" LCM operation. CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation. type: string enum: - INSTANTIATE - SCALE - SCALE_TO_LEVEL - CHANGE_FLAVOUR - TERMINATE - HEAL - OPERATE - CHANGE_EXT_CONN - MODIFY_INFO - CREATE_SNAPSHOT - REVERT_TO_SNAPSHOT - CHANGE_VNFPKG operationStates: description: > Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise. type: array items: description: > STARTING: The LCM operation is starting. PROCESSING: The LCM operation is currently in execution. COMPLETED: The LCM operation has been completed successfully. FAILED_TEMP: The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED: The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK: The LCM operation is currently being rolled back. ROLLED_BACK: The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible. type: string enum: - STARTING - PROCESSING - COMPLETED - FAILED_TEMP - FAILED - ROLLING_BACK - ROLLED_BACK callbackUri: description: | String formatted according to IETF RFC 3986. type: string verbosity: description: > The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation occurrence notifications. * FULL: This signals a full notification which contains all change details. * SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to be sent via the notification mechanism. type: string enum: - FULL - SHORT _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. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string Subscriptions.Post.201: description: > 201 CREATED The subscription has been created successfully. The response body shall contain a representation of the created "Individual subscription" resource. The HTTP response shall include a "Location" HTTP header that points to the created "Individual subscription" resource. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: The resource URI of the created VNF instance style: simple explode: false schema: type: string format: url content: application/json: schema: description: > This type represents a subscription related to notifications about VNF lifecycle changes. type: object required: - id - callbackUri - verbosity - _links properties: id: description: | An identifier with the intention of being globally unique. type: string filter: description: "This type represents a subscription filter related to notifications about VNF lifecycle changes.\nAt a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of \n the notification types to facilitate automated code generation systems.\n" type: object properties: vnfInstanceSubscriptionFilter: description: "This type represents subscription filter criteria to match VNF instances. * NOTE 1:\tThe attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances\n that are based on certain VNFDs in a filter. They should not be used both in the same filter instance,\n but one alternative should be chosen.\n NOTE 2:\tThe attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF\n instances in a filter. They should not be used both in the same filter instance, but one alternative\n should be chosen.\n" type: object anyOf: - oneOf: - required: - vnfdId - required: - vnfProductsFromProviders - oneOf: - required: - vnfInstanceIds - required: - vnfInstanceNames properties: vnfdIds: description: > If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See note 1. type: array items: description: > An identifier with the intention of being globally unique. type: string vnfProductsFromProviders: description: > If present, match VNF instances that belong to VNF products from certain providers. See note 1. type: array items: type: object required: - vnfProvider properties: vnfProvider: description: | Name of the VNF provider to match. type: string vnfProducts: description: > If present, match VNF instances that belong to VNF products with certain product names, from one particular provider. type: array items: type: object required: - vnfProductName properties: vnfProductName: description: | Name of the VNF product to match. type: string versions: description: > If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider. type: array items: type: object required: - vnfSoftwareVersion properties: vnfSoftwareVersion: description: | A version. type: string vnfdVersions: description: > If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider. type: array items: description: | A version. type: string vnfInstanceIds: description: > If present, match VNF instances with an instance identifier listed in this attribute. See note 2. type: array items: description: > An identifier with the intention of being globally unique. type: string vnfInstanceNames: description: > If present, match VNF instances with a VNF Instance Name listed in this attribute. See note 2. type: array items: type: string notificationTypes: description: "Match particular notification types. \nPermitted values: -\tVnfLcmOperationOccurrenceNotification -\tVnfIdentifierCreationNotification -\tVnfIdentifierDeletionNotification See note.\n" type: array items: type: string enum: - VnfLcmOperationOccurrenceNotification - VnfIdentifierCreationNotification - VnfIdentifierDeletionNotification operationTypes: description: > Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise. type: array items: description: > The enumeration LcmOpType defines the permitted values to represent VNF lifecycle operation types in VNF lifecycle management operation occurrence resources and VNF lifecycle management operation occurrence notifications. Value | Description ------|------------ INSTANTIATE | Represents the "Instantiate VNF" LCM operation. SCALE | Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation. CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation. TERMINATE | Represents the "Terminate VNF" LCM operation. HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. MODIFY_INFO | Represents the "Modify VNF Information" LCM operation. CREATE_SNAPSHOT | Represents the "Create VNF Snapshot" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot" LCM operation. CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation. type: string enum: - INSTANTIATE - SCALE - SCALE_TO_LEVEL - CHANGE_FLAVOUR - TERMINATE - HEAL - OPERATE - CHANGE_EXT_CONN - MODIFY_INFO - CREATE_SNAPSHOT - REVERT_TO_SNAPSHOT - CHANGE_VNFPKG operationStates: description: > Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise. type: array items: description: > STARTING: The LCM operation is starting. PROCESSING: The LCM operation is currently in execution. COMPLETED: The LCM operation has been completed successfully. FAILED_TEMP: The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED: The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK: The LCM operation is currently being rolled back. ROLLED_BACK: The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible. type: string enum: - STARTING - PROCESSING - COMPLETED - FAILED_TEMP - FAILED - ROLLING_BACK - ROLLED_BACK callbackUri: description: | String formatted according to IETF RFC 3986. type: string verbosity: description: > The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation occurrence notifications. * FULL: This signals a full notification which contains all change details. * SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to be sent via the notification mechanism. type: string enum: - FULL - SHORT _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. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string IndividualSubscription.Get.200: description: > 200 OK The operation has completed successfully. The response body shall contain a representation of the "Individual subscription" resource. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: application/json: schema: description: > This type represents a subscription related to notifications about VNF lifecycle changes. type: object required: - id - callbackUri - verbosity - _links properties: id: description: | An identifier with the intention of being globally unique. type: string filter: description: "This type represents a subscription filter related to notifications about VNF lifecycle changes.\nAt a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of \n the notification types to facilitate automated code generation systems.\n" type: object properties: vnfInstanceSubscriptionFilter: description: "This type represents subscription filter criteria to match VNF instances. * NOTE 1:\tThe attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances\n that are based on certain VNFDs in a filter. They should not be used both in the same filter instance,\n but one alternative should be chosen.\n NOTE 2:\tThe attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF\n instances in a filter. They should not be used both in the same filter instance, but one alternative\n should be chosen.\n" type: object anyOf: - oneOf: - required: - vnfdId - required: - vnfProductsFromProviders - oneOf: - required: - vnfInstanceIds - required: - vnfInstanceNames properties: vnfdIds: description: > If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See note 1. type: array items: description: > An identifier with the intention of being globally unique. type: string vnfProductsFromProviders: description: > If present, match VNF instances that belong to VNF products from certain providers. See note 1. type: array items: type: object required: - vnfProvider properties: vnfProvider: description: | Name of the VNF provider to match. type: string vnfProducts: description: > If present, match VNF instances that belong to VNF products with certain product names, from one particular provider. type: array items: type: object required: - vnfProductName properties: vnfProductName: description: | Name of the VNF product to match. type: string versions: description: > If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider. type: array items: type: object required: - vnfSoftwareVersion properties: vnfSoftwareVersion: description: | A version. type: string vnfdVersions: description: > If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider. type: array items: description: | A version. type: string vnfInstanceIds: description: > If present, match VNF instances with an instance identifier listed in this attribute. See note 2. type: array items: description: > An identifier with the intention of being globally unique. type: string vnfInstanceNames: description: > If present, match VNF instances with a VNF Instance Name listed in this attribute. See note 2. type: array items: type: string notificationTypes: description: "Match particular notification types. \nPermitted values: -\tVnfLcmOperationOccurrenceNotification -\tVnfIdentifierCreationNotification -\tVnfIdentifierDeletionNotification See note.\n" type: array items: type: string enum: - VnfLcmOperationOccurrenceNotification - VnfIdentifierCreationNotification - VnfIdentifierDeletionNotification operationTypes: description: > Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise. type: array items: description: > The enumeration LcmOpType defines the permitted values to represent VNF lifecycle operation types in VNF lifecycle management operation occurrence resources and VNF lifecycle management operation occurrence notifications. Value | Description ------|------------ INSTANTIATE | Represents the "Instantiate VNF" LCM operation. SCALE | Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM operation. CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM operation. TERMINATE | Represents the "Terminate VNF" LCM operation. HEAL | Represents the "Heal VNF" LCM operation. OPERATE | Represents the "Operate VNF" LCM operation. CHANGE_EXT_CONN | Represents the "Change external VNF connectivity" LCM operation. MODIFY_INFO | Represents the "Modify VNF Information" LCM operation. CREATE_SNAPSHOT | Represents the "Create VNF Snapshot" LCM operation. REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot" LCM operation. CHANGE_VNFPKG | Represents the "Change current VNF package" LCM operation. type: string enum: - INSTANTIATE - SCALE - SCALE_TO_LEVEL - CHANGE_FLAVOUR - TERMINATE - HEAL - OPERATE - CHANGE_EXT_CONN - MODIFY_INFO - CREATE_SNAPSHOT - REVERT_TO_SNAPSHOT - CHANGE_VNFPKG operationStates: description: > Match particular LCM operation state values as reported in notifications of type VnfLcmOperationOccurrenceNotification. May be present if the "notificationTypes" attribute contains the value "VnfLcmOperationOccurrenceNotification", and shall be absent otherwise. type: array items: description: > STARTING: The LCM operation is starting. PROCESSING: The LCM operation is currently in execution. COMPLETED: The LCM operation has been completed successfully. FAILED_TEMP: The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED: The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. ROLLING_BACK: The LCM operation is currently being rolled back. ROLLED_BACK: The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible. type: string enum: - STARTING - PROCESSING - COMPLETED - FAILED_TEMP - FAILED - ROLLING_BACK - ROLLED_BACK callbackUri: description: | String formatted according to IETF RFC 3986. type: string verbosity: description: > The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation occurrence notifications. * FULL: This signals a full notification which contains all change details. * SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to be sent via the notification mechanism. type: string enum: - FULL - SHORT _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. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string IndividualSubscription.Delete.204: description: > 204 NO CONTENT The "Individual subscription" resource has been deleted successfully. The response body shall be empty. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string content: {} VnfInstanceCreateSnapshot.Post.202: description: > 202 ACCEPTED Shall be returned when 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: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: > Used in redirection, or when a new resource has been created. This header field shall be present if the response status code is 201 or 3xx. In the present document this header field is also used if the response status code is 202 and a new resource was created. style: simple explode: false schema: type: string format: url content: {} VnfInstanceCreateSnapshot.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the 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 shall convey more information about the error. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 VnfInstanceRevertToSnapshot.Post.202: description: > 202 ACCEPTED Shall be returned when 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: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: > Used in redirection, or when a new resource has been created. This header field shall be present if the response status code is 201 or 3xx. In the present document this header field is also used if the response status code is 202 and a new resource was created. style: simple explode: false schema: type: string format: url content: {} VnfInstanceRevertToSnapshot.Post.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the 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 shall convey more information about the error. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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 VnfSnapshots.Post.201: description: > 201 CREATED Shall be returned when an individual VNF snapshot resource has been created successfully. The response body shall contain a representation of the new individual VNF snapshot resource, as defined in clause 5.5.2.21. The HTTP response shall include a "Location" HTTP header that contains the resource URI of the individual VNF snapshot resource. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Location: description: > Used in redirection, or when a new resource has been created. This header field shall be present if the response status code is 201 or 3xx. In the present document this header field is also used if the response status code is 202 and a new resource was created. style: simple explode: false schema: type: string format: url content: application/json: schema: description: | This type represents an individual VNF snapshot resource. type: object required: - id properties: id: description: | An identifier with the intention of being globally unique. type: string vnfSnapshotPkgId: description: | An identifier with the intention of being globally unique. type: string vnfSnapshot: description: | This type represents a VNF snapshot. type: object required: - id - vnfInstanceId - triggeredAt - vnfdId - vnfInfo - vnfcSnapshots properties: id: description: | An identifier with the intention of being globally unique. type: string vnfInstanceId: description: | An identifier with the intention of being globally unique. type: string creationStartedAt: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time creationFinishedAt: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfInstance: description: "This type represents a VNF instance. * NOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist\n between the previous and the newly referred VNF package, i.e. when the new VNFD is\n changed with respect to the previous VNFD in other aspects than merely referencing\n to other VNF software images. In order to avoid misalignment of the VnfInstance with\n the current VNF's on-boarded VNF package, the values of attributes in the VnfInstance\n that have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD.\n* NOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters\n applicable to a VNF. Some of these are set prior to instantiation and cannot be modified\n if the VNF is instantiated, some are set prior to instantiation (are part of initial configuration)\n and can be modified later, and others can be set only after instantiation.\n The applicability of certain configuration may depend on the VNF and the required operation of\n the VNF at a certain point in time.\n* NOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child\n attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared\n in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD,\n and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of\n \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defined initial value shall\n not be created, in order to be consistent with the semantics of the JSON Merge Patch method\n (see IETF RFC 7396) that interprets null values as deletion request.\n* NOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case\n of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding\n to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc\n and externally-managed multi-site VL instance (refer to clause 5.5.3.5).\n* NOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity,\n they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n" type: object required: - id - vnfdId - vnfProvider - vnfProductName - vnfSoftwareVersion - vnfdVersion - instantiationState - _links 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 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 - extCpInfo properties: flavourId: description: > An identifier that is unique within a VNF descriptor. type: string vnfState: description: > STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down. 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. This attribute shall be present if the VNF supports scaling. See clause B.2 for an explanation of VNF scaling. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. type: string maxScaleLevels: description: > Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. type: string extCpInfo: description: > Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk. type: array minItems: 1 items: description: "This type represents information about an external CP of a VNF.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n attachment definition resource is needed to fulfil the connectivity requirements of the external \n CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n" type: object required: - id - cpdId - cpConfigId - cpProtocolInfo oneOf: - required: - associatedVnfcCpId - required: - associatedVipCpId - required: - associatedVnfVirtualLinkId 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 cpConfigId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfdId: description: > An identifier with the intention of being 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.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object associatedVnfcCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string associatedVipCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string associatedVirtualCpId: description: > An identifier that is unique within a VNF descriptor. type: string associatedVnfVirtualLinkId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string netAttDefResourceId: description: > Identifier of the “NetAttDefResourceInfo” structure that provides the specification of the interface to attach the connection point to a secondary container cluster network. See notes 3 and 4. It shall be present if the external CP is associated to a VNFC realized by one or a set of OS containers and is connected to a secondary container cluster network. It shall not be present otherwise. type: array items: description: > An identifier with the intention of being globally unique. type: string vipCpInfo: description: > VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. type: array items: description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n" type: object required: - cpInstanceId - cpdId properties: cpInstanceId: 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 vnfdId: description: > An identifier with the intention of being globally unique. 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: > Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 associatedVnfcCpIds: description: > Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note. 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 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object virtualCpInfo: description: > Virtual CPs that are part of the VNF instance. Shall be present when a particular virtual CP is associated to an external CP of the VNF instance. May be present otherwise. type: array items: description: > This type provides information related to a virtual CP instance of a VNF. NOTE: A consumer of the VNF LCM interface can learn the actual VNFC instances implementing the service accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" and filtering by corresponding "vduIds" values. type: object required: - cpInstanceId - cpdId - resourceHandle - vduIds properties: cpInstanceId: 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 resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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: > Protocol information for this CP. There shall be one cpProtocolInfo for each layer protocol supported. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 vduIds: description: > Reference to the VDU(s) which implement the service accessible via the virtual CP instance. See note. type: array minItems: 1 items: description: > An identifier that is unique within a VNF descriptor. type: string additionalServiceInfo: description: > Additional service identification information of the virtual CP instance. type: array items: description: > This type provides additional service information of the virtual CP instance used to expose properties of the virtual CP to NFV-MANO. NOTE: This attribute shall only be present if additional information is needed to identify the service termination within the VNF, such as for example a URL path information in an HTTP request required to allow a single virtual CP IP address to be used for several HTTP based services that use the same port number. type: object required: - portInfo properties: portInfo: description: > Service port numbers exposed by the virtual CP instance. minItems: 1 type: array items: description: > This type describes the service identifying port properties exposed by the virtual CP instance. type: object required: - name - port - portConfigurable properties: name: description: > The name of the port exposed by the virtual CP instance. type: string protocol: description: > The L4 protocol for this port exposed by the virtual CP instance. Permitted values: - TCP - UDP - SCTP type: string enum: - TCP - UDP - SCTP port: description: > The L4 port number exposed by the virtual CP instance. type: integer portConfigurable: description: > The Boolean is a data type having two values (true and false). type: boolean serviceInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. type: array items: description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n" type: object required: - id - resourceHandle - currentVnfExtCpData properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n" type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 secondaryCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string currentVnfExtCpData: description: > Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note. type: array items: description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n* NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value \n is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig\n map entry may be used by an external CP instance different than the one that has used it before the\n operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\"\n operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n" type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4. type: object additionalProperties: description: > This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. 2. In case 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. In the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. * NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" for an external CP instance connected or to be connected to a virtual network not categorized as secondary container cluster network: 1) Void. 2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing external CP instance that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a precreated 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. 5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: - linkPortId - required: - cpProtocolData - required: - netAttDefResourceId type: object properties: parentCpConfigId: 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 createExtLinkPort: description: > Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise. type: boolean cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2. type: array items: description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET. - IP_FOR_VIRTUAL_CP See note type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI's transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange 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 segmentationType: description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n" type: string enum: - VLAN - INHERIT segmentationId: description: > Identification of the network segment to which the CP instance connects to. See note 3 and note 4. type: string 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. See note 1. 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). See note 2. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: 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. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 netAttDefResourceId: description: > Identifier of the “NetAttDefResourceData” structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 2, 3 and 4. type: array items: description: > An identifier with the intention of being globally unique. type: string extNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 extManagedVirtualLinkInfo: description: > Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5). Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. type: array items: description: > This type provides information about an externally-managed virtual link. type: object required: - id - vnfVirtualLinkDescId - networkResource 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string vnfLinkPorts: description: | Link ports of this VL. type: array items: description: > This type represents a link port of an internal VL of a VNF. NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, the two different CP instances share the linkport. NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only vipCpInstanceId is present (UC6 and UC#6-b). NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. 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: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n" type: string enum: - VNFC_CP - EXT_CP vipCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string vnfNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 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 vnfdId: description: > An identifier with the intention of being globally unique. 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. Depending on the form of virtualisation container of the VNFC:\n - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure \n of information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n - For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n - For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\n\n* NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that\n exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly\n to an external VL.\n* NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. * NOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\" structure by \n an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVnfc\"\n structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to \n this LCM operation occurrence.\n* NOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment \n definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build \n a link redundant mated pair in SR-IOV cases.\n* NOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n" type: object required: - id - vduId - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string computeResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string storageResourceIds: description: > References to the VirtualStorage resources or references to Storage MCIO(s). 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: | All the CPs of the VNFC instance. 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. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information. See note 3. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 parentCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string netAttDefResourceId: description: > Identifier of the “NetAttDefResourceInfo” structure that provides the specification of the interface to attach the connection point to a secondary container cluster network. See notes 5 and 6. It shall be present if the internal CP is associated to a VNFC realized by one or a set of OS containers and is connected to a secondary container cluster network. It shall not be present otherwise. type: array items: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfVirtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. See note 6. Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. 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. NOTE: If only the value or the presence of this attribute is changed in the "VnfVirtualLinkResourceInfo" structure by an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. type: object required: - id - vnfVirtualLinkDescId - networkResource - vnfLinkPorts 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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: description: > This type represents a link port of an internal VL of a VNF. NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, the two different CP instances share the linkport. NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only vipCpInstanceId is present (UC6 and UC#6-b). NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. 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: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n" type: string enum: - VNFC_CP - EXT_CP vipCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. NOTE: If only the value or the presence of this attribute is changed in the "VirtualStorageResourceInfo" structure by an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string storageResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfcInfo: description: | Information about the VNFC instances. type: array items: description: "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n" type: object required: - id - vduId - vnfcState 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 for the respective type within a VNF instance, but may not be globally unique. type: string vnfcResourceInfoId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcState: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcConfigurableProperties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object mcioInfo: description: > Information on the MCIO(s) representing VNFC instance(s) realized by one or a set of OS containers and created from the same VDU for the VNF instance. type: array items: description: > This type provides information about an MCIO representing the set of VNFC instances realized by one or a set of OS containers which have been created based on the same VDU. Within the CISM, an MCIO controller monitors the actual state of an MCIO representing the set of VNFC instances realized by one or a set of OS containers and compare it to the desired state as specified in the respective declarative descriptor. It triggers actions toward the CIS to align the actual to the desired state. Monitoring the actual state includes monitoring the number of MCIO instances available at any specific point in time. In addition, an MCIO controller maintains properties and runtime information on the MCIO instances which have been created based on the same VDU. The McioInfo data structure provides the runtime information on the MCIOs obtained from the MCIO controller. NOTE: There are different types of MCIOs. The set of VNFC instances based on the same VDU is represented by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type of MCIO, e.g. a POD. Runtime information of the set of OS containers realizing an individual VNFC instance is not part of the McioInfo data structure; such runtime information is provided in the ResourceHandle data structure referenced from the VnfcResourceInfo. The McioInfo does not provide runtime information of a constituent VNFC instance created based on a specific VDU. NOTE 1: The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the “kind” property of the declarative descriptor. NOTE 2: If the attribute additionalInfo is present, it may contain runtime information on the actual and desired state of the MCIO(s). NOTE 3: When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined values from the kind and name fields of the Kubernetes resource object, separated by a slash. Example: "Deployment/abcd". NOTE 4: When the container infrastructure service is a Kubernetes® instance, the mcioName is the name field of the resource object. type: object required: - mcioId - mcioName - mcioNamespace - vduId - cismId - mcioType - desiredInstances - availableInstances properties: mcioId: description: > An identifier with the intention of being globally unique. type: string mcioName: description: > Human readable name of this MCIO. See note 4. type: string mcioNamespace: description: | Namespace of this MCIO. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string cismId: description: > An identifier with the intention of being globally unique. type: string mcioType: description: > The type of MCIO. Specific values, their semantics and associated MCIO types are defined in clause 5.5.4.9. Additional values are also permitted. See note 1. type: string enum: - Deployment - Statefulset desiredInstances: description: | Number of desired MCIO instances. type: integer availableInstances: description: | Number of available MCIO instances. type: integer additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string createSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string revertToSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeCurrentVnfPkg: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string vnfcSnapshots: description: > Information about VNFC snapshots constituting this VNF snapshot. type: array items: description: "This type represents a VNFC snapshot. * NOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC\n snapshot being returned from the VIM as output data in the response message of the individual\n resource operations. This attribute shall only be present for a VNFC snapshot that has been\n newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n NOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot\n being returned from the VIM as output data in the response message of the individual resource\n operations. This attribute shall only be present for a VNFC snapshot with an associated storage\n resource and that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n" type: object required: - id - vnfcInstanceId - creationStartedAt - vnfcResourceInfoId properties: id: description: > An identifier with the intention of being globally unique. type: string vnfcInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string creationStartedAt: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time creationFinishedAt: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time vnfcResourceInfoId: description: "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n" type: object required: - id - vduId - vnfcState 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 for the respective type within a VNF instance, but may not be globally unique. type: string vnfcResourceInfoId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcState: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcConfigurableProperties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object computeSnapshotResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string storageSnapshotResources: description: > Mapping of the storage resources associated to the VNFC with the storage snapshot resources. type: object required: - storageResourceId properties: storageResourceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string storageSnapshotResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string userDefinedData: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object userDefinedData: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string takenFrom: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string VnfSnapshots.Get.200: description: > 200 OK Shall be returned when information about zero or more VNF snapshots was queried successfully. The response body shall contain in an array the representations of zero or more individual VNF snapshot resources, as defined in clause 5.5.2.21. If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string content: application/json: schema: type: array items: description: | This type represents an individual VNF snapshot resource. type: object required: - id properties: id: description: | An identifier with the intention of being globally unique. type: string vnfSnapshotPkgId: description: | An identifier with the intention of being globally unique. type: string vnfSnapshot: description: | This type represents a VNF snapshot. type: object required: - id - vnfInstanceId - triggeredAt - vnfdId - vnfInfo - vnfcSnapshots properties: id: description: > An identifier with the intention of being globally unique. type: string vnfInstanceId: description: > An identifier with the intention of being globally unique. type: string creationStartedAt: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time creationFinishedAt: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time vnfdId: description: > An identifier with the intention of being globally unique. type: string vnfInstance: description: "This type represents a VNF instance. * NOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist\n between the previous and the newly referred VNF package, i.e. when the new VNFD is\n changed with respect to the previous VNFD in other aspects than merely referencing\n to other VNF software images. In order to avoid misalignment of the VnfInstance with\n the current VNF's on-boarded VNF package, the values of attributes in the VnfInstance\n that have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD.\n* NOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters\n applicable to a VNF. Some of these are set prior to instantiation and cannot be modified\n if the VNF is instantiated, some are set prior to instantiation (are part of initial configuration)\n and can be modified later, and others can be set only after instantiation.\n The applicability of certain configuration may depend on the VNF and the required operation of\n the VNF at a certain point in time.\n* NOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child\n attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared\n in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD,\n and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of\n \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defined initial value shall\n not be created, in order to be consistent with the semantics of the JSON Merge Patch method\n (see IETF RFC 7396) that interprets null values as deletion request.\n* NOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case\n of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding\n to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc\n and externally-managed multi-site VL instance (refer to clause 5.5.3.5).\n* NOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity,\n they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n" type: object required: - id - vnfdId - vnfProvider - vnfProductName - vnfSoftwareVersion - vnfdVersion - instantiationState - _links 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 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 - extCpInfo properties: flavourId: description: > An identifier that is unique within a VNF descriptor. type: string vnfState: description: > STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down. 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. This attribute shall be present if the VNF supports scaling. See clause B.2 for an explanation of VNF scaling. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. type: string maxScaleLevels: description: > Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. type: string extCpInfo: description: > Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk. type: array minItems: 1 items: description: "This type represents information about an external CP of a VNF.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n attachment definition resource is needed to fulfil the connectivity requirements of the external \n CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n" type: object required: - id - cpdId - cpConfigId - cpProtocolInfo oneOf: - required: - associatedVnfcCpId - required: - associatedVipCpId - required: - associatedVnfVirtualLinkId 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 cpConfigId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfdId: description: > An identifier with the intention of being 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.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object associatedVnfcCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string associatedVipCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string associatedVirtualCpId: description: > An identifier that is unique within a VNF descriptor. type: string associatedVnfVirtualLinkId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string netAttDefResourceId: description: > Identifier of the “NetAttDefResourceInfo” structure that provides the specification of the interface to attach the connection point to a secondary container cluster network. See notes 3 and 4. It shall be present if the external CP is associated to a VNFC realized by one or a set of OS containers and is connected to a secondary container cluster network. It shall not be present otherwise. type: array items: description: > An identifier with the intention of being globally unique. type: string vipCpInfo: description: > VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. type: array items: description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n" type: object required: - cpInstanceId - cpdId properties: cpInstanceId: 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 vnfdId: description: > An identifier with the intention of being globally unique. 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: > Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 associatedVnfcCpIds: description: > Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note. 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 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object virtualCpInfo: description: > Virtual CPs that are part of the VNF instance. Shall be present when a particular virtual CP is associated to an external CP of the VNF instance. May be present otherwise. type: array items: description: > This type provides information related to a virtual CP instance of a VNF. NOTE: A consumer of the VNF LCM interface can learn the actual VNFC instances implementing the service accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" and filtering by corresponding "vduIds" values. type: object required: - cpInstanceId - cpdId - resourceHandle - vduIds properties: cpInstanceId: 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 resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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: > Protocol information for this CP. There shall be one cpProtocolInfo for each layer protocol supported. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 vduIds: description: > Reference to the VDU(s) which implement the service accessible via the virtual CP instance. See note. type: array minItems: 1 items: description: > An identifier that is unique within a VNF descriptor. type: string additionalServiceInfo: description: > Additional service identification information of the virtual CP instance. type: array items: description: > This type provides additional service information of the virtual CP instance used to expose properties of the virtual CP to NFV-MANO. NOTE: This attribute shall only be present if additional information is needed to identify the service termination within the VNF, such as for example a URL path information in an HTTP request required to allow a single virtual CP IP address to be used for several HTTP based services that use the same port number. type: object required: - portInfo properties: portInfo: description: > Service port numbers exposed by the virtual CP instance. minItems: 1 type: array items: description: > This type describes the service identifying port properties exposed by the virtual CP instance. type: object required: - name - port - portConfigurable properties: name: description: > The name of the port exposed by the virtual CP instance. type: string protocol: description: > The L4 protocol for this port exposed by the virtual CP instance. Permitted values: - TCP - UDP - SCTP type: string enum: - TCP - UDP - SCTP port: description: > The L4 port number exposed by the virtual CP instance. type: integer portConfigurable: description: > The Boolean is a data type having two values (true and false). type: boolean serviceInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. type: array items: description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n" type: object required: - id - resourceHandle - currentVnfExtCpData properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n" type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 secondaryCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string currentVnfExtCpData: description: > Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note. type: array items: description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n* NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value \n is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig\n map entry may be used by an external CP instance different than the one that has used it before the\n operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\"\n operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n" type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4. type: object additionalProperties: description: > This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. 2. In case 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. In the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. * NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" for an external CP instance connected or to be connected to a virtual network not categorized as secondary container cluster network: 1) Void. 2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing external CP instance that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a precreated 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. 5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: - linkPortId - required: - cpProtocolData - required: - netAttDefResourceId type: object properties: parentCpConfigId: 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 createExtLinkPort: description: > Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise. type: boolean cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2. type: array items: description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET. - IP_FOR_VIRTUAL_CP See note type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI's transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange 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 segmentationType: description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n" type: string enum: - VLAN - INHERIT segmentationId: description: > Identification of the network segment to which the CP instance connects to. See note 3 and note 4. type: string 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. See note 1. 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). See note 2. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: 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. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 netAttDefResourceId: description: > Identifier of the “NetAttDefResourceData” structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 2, 3 and 4. type: array items: description: > An identifier with the intention of being globally unique. type: string extNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 extManagedVirtualLinkInfo: description: > Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5). Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. type: array items: description: > This type provides information about an externally-managed virtual link. type: object required: - id - vnfVirtualLinkDescId - networkResource 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string vnfLinkPorts: description: | Link ports of this VL. type: array items: description: > This type represents a link port of an internal VL of a VNF. NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, the two different CP instances share the linkport. NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only vipCpInstanceId is present (UC6 and UC#6-b). NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. 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: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n" type: string enum: - VNFC_CP - EXT_CP vipCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string vnfNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 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 vnfdId: description: > An identifier with the intention of being globally unique. 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. Depending on the form of virtualisation container of the VNFC:\n - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure \n of information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n - For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n - For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\n\n* NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that\n exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly\n to an external VL.\n* NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. * NOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\" structure by \n an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVnfc\"\n structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to \n this LCM operation occurrence.\n* NOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment \n definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build \n a link redundant mated pair in SR-IOV cases.\n* NOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n" type: object required: - id - vduId - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string computeResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string storageResourceIds: description: > References to the VirtualStorage resources or references to Storage MCIO(s). 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: | All the CPs of the VNFC instance. 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. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information. See note 3. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 parentCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string netAttDefResourceId: description: > Identifier of the “NetAttDefResourceInfo” structure that provides the specification of the interface to attach the connection point to a secondary container cluster network. See notes 5 and 6. It shall be present if the internal CP is associated to a VNFC realized by one or a set of OS containers and is connected to a secondary container cluster network. It shall not be present otherwise. type: array items: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfVirtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. See note 6. Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. 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. NOTE: If only the value or the presence of this attribute is changed in the "VnfVirtualLinkResourceInfo" structure by an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. type: object required: - id - vnfVirtualLinkDescId - networkResource - vnfLinkPorts 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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: description: > This type represents a link port of an internal VL of a VNF. NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, the two different CP instances share the linkport. NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only vipCpInstanceId is present (UC6 and UC#6-b). NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. 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: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n" type: string enum: - VNFC_CP - EXT_CP vipCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. NOTE: If only the value or the presence of this attribute is changed in the "VirtualStorageResourceInfo" structure by an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string storageResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfcInfo: description: | Information about the VNFC instances. type: array items: description: "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n" type: object required: - id - vduId - vnfcState 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 for the respective type within a VNF instance, but may not be globally unique. type: string vnfcResourceInfoId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcState: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcConfigurableProperties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object mcioInfo: description: > Information on the MCIO(s) representing VNFC instance(s) realized by one or a set of OS containers and created from the same VDU for the VNF instance. type: array items: description: > This type provides information about an MCIO representing the set of VNFC instances realized by one or a set of OS containers which have been created based on the same VDU. Within the CISM, an MCIO controller monitors the actual state of an MCIO representing the set of VNFC instances realized by one or a set of OS containers and compare it to the desired state as specified in the respective declarative descriptor. It triggers actions toward the CIS to align the actual to the desired state. Monitoring the actual state includes monitoring the number of MCIO instances available at any specific point in time. In addition, an MCIO controller maintains properties and runtime information on the MCIO instances which have been created based on the same VDU. The McioInfo data structure provides the runtime information on the MCIOs obtained from the MCIO controller. NOTE: There are different types of MCIOs. The set of VNFC instances based on the same VDU is represented by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type of MCIO, e.g. a POD. Runtime information of the set of OS containers realizing an individual VNFC instance is not part of the McioInfo data structure; such runtime information is provided in the ResourceHandle data structure referenced from the VnfcResourceInfo. The McioInfo does not provide runtime information of a constituent VNFC instance created based on a specific VDU. NOTE 1: The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the “kind” property of the declarative descriptor. NOTE 2: If the attribute additionalInfo is present, it may contain runtime information on the actual and desired state of the MCIO(s). NOTE 3: When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined values from the kind and name fields of the Kubernetes resource object, separated by a slash. Example: "Deployment/abcd". NOTE 4: When the container infrastructure service is a Kubernetes® instance, the mcioName is the name field of the resource object. type: object required: - mcioId - mcioName - mcioNamespace - vduId - cismId - mcioType - desiredInstances - availableInstances properties: mcioId: description: > An identifier with the intention of being globally unique. type: string mcioName: description: > Human readable name of this MCIO. See note 4. type: string mcioNamespace: description: | Namespace of this MCIO. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string cismId: description: > An identifier with the intention of being globally unique. type: string mcioType: description: > The type of MCIO. Specific values, their semantics and associated MCIO types are defined in clause 5.5.4.9. Additional values are also permitted. See note 1. type: string enum: - Deployment - Statefulset desiredInstances: description: | Number of desired MCIO instances. type: integer availableInstances: description: | Number of available MCIO instances. type: integer additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string createSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string revertToSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeCurrentVnfPkg: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string vnfcSnapshots: description: > Information about VNFC snapshots constituting this VNF snapshot. type: array items: description: "This type represents a VNFC snapshot. * NOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC\n snapshot being returned from the VIM as output data in the response message of the individual\n resource operations. This attribute shall only be present for a VNFC snapshot that has been\n newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n NOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot\n being returned from the VIM as output data in the response message of the individual resource\n operations. This attribute shall only be present for a VNFC snapshot with an associated storage\n resource and that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n" type: object required: - id - vnfcInstanceId - creationStartedAt - vnfcResourceInfoId properties: id: description: > An identifier with the intention of being globally unique. type: string vnfcInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string creationStartedAt: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time creationFinishedAt: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time vnfcResourceInfoId: description: "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n" type: object required: - id - vduId - vnfcState 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 for the respective type within a VNF instance, but may not be globally unique. type: string vnfcResourceInfoId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcState: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcConfigurableProperties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object computeSnapshotResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string storageSnapshotResources: description: > Mapping of the storage resources associated to the VNFC with the storage snapshot resources. type: object required: - storageResourceId properties: storageResourceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string storageSnapshotResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string userDefinedData: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object userDefinedData: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string takenFrom: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string IndividualVnfSnapshot.Get.200: description: > 200 OK Shall be returned when information about an individual VNF snapshot was read successfully. The response body shall contain a representation of the individual VNF snapshot resource. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string Content-Type: description: The MIME type of the body of the response. style: simple explode: false schema: type: string Link: description: | Reference to other resources. style: simple explode: false schema: type: string content: application/json: schema: description: | This type represents an individual VNF snapshot resource. type: object required: - id properties: id: description: | An identifier with the intention of being globally unique. type: string vnfSnapshotPkgId: description: | An identifier with the intention of being globally unique. type: string vnfSnapshot: description: | This type represents a VNF snapshot. type: object required: - id - vnfInstanceId - triggeredAt - vnfdId - vnfInfo - vnfcSnapshots properties: id: description: | An identifier with the intention of being globally unique. type: string vnfInstanceId: description: | An identifier with the intention of being globally unique. type: string creationStartedAt: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time creationFinishedAt: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time vnfdId: description: | An identifier with the intention of being globally unique. type: string vnfInstance: description: "This type represents a VNF instance. * NOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist\n between the previous and the newly referred VNF package, i.e. when the new VNFD is\n changed with respect to the previous VNFD in other aspects than merely referencing\n to other VNF software images. In order to avoid misalignment of the VnfInstance with\n the current VNF's on-boarded VNF package, the values of attributes in the VnfInstance\n that have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD.\n* NOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters\n applicable to a VNF. Some of these are set prior to instantiation and cannot be modified\n if the VNF is instantiated, some are set prior to instantiation (are part of initial configuration)\n and can be modified later, and others can be set only after instantiation.\n The applicability of certain configuration may depend on the VNF and the required operation of\n the VNF at a certain point in time.\n* NOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child\n attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared\n in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD,\n and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of\n \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defined initial value shall\n not be created, in order to be consistent with the semantics of the JSON Merge Patch method\n (see IETF RFC 7396) that interprets null values as deletion request.\n* NOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case\n of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding\n to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc\n and externally-managed multi-site VL instance (refer to clause 5.5.3.5).\n* NOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity,\n they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n" type: object required: - id - vnfdId - vnfProvider - vnfProductName - vnfSoftwareVersion - vnfdVersion - instantiationState - _links 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 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 - extCpInfo properties: flavourId: description: > An identifier that is unique within a VNF descriptor. type: string vnfState: description: > STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down. 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. This attribute shall be present if the VNF supports scaling. See clause B.2 for an explanation of VNF scaling. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. type: string maxScaleLevels: description: > Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling. type: array items: description: > This type represents the scale level of a VNF instance related to a scaling aspect. type: object required: - aspectId - scaleLevel properties: aspectId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier that is unique within a VNF descriptor. type: string scaleToLevel: description: > An identifier with the intention of being globally unique. type: string extCpInfo: description: > Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated to sub-ports of a trunk. type: array minItems: 1 items: description: "This type represents information about an external CP of a VNF.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n attachment definition resource is needed to fulfil the connectivity requirements of the external \n CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n" type: object required: - id - cpdId - cpConfigId - cpProtocolInfo oneOf: - required: - associatedVnfcCpId - required: - associatedVipCpId - required: - associatedVnfVirtualLinkId 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 cpConfigId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfdId: description: > An identifier with the intention of being 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.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object associatedVnfcCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string associatedVipCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string associatedVirtualCpId: description: > An identifier that is unique within a VNF descriptor. type: string associatedVnfVirtualLinkId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string netAttDefResourceId: description: > Identifier of the “NetAttDefResourceInfo” structure that provides the specification of the interface to attach the connection point to a secondary container cluster network. See notes 3 and 4. It shall be present if the external CP is associated to a VNFC realized by one or a set of OS containers and is connected to a secondary container cluster network. It shall not be present otherwise. type: array items: description: > An identifier with the intention of being globally unique. type: string vipCpInfo: description: > VIP CPs that are part of the VNF instance. Shall be present when that particular VIP CP of the VNFC instance is associated to an external CP of the VNF instance. May be present otherwise. type: array items: description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n" type: object required: - cpInstanceId - cpdId properties: cpInstanceId: 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 vnfdId: description: > An identifier with the intention of being globally unique. 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: > Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 associatedVnfcCpIds: description: > Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note. 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 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object virtualCpInfo: description: > Virtual CPs that are part of the VNF instance. Shall be present when a particular virtual CP is associated to an external CP of the VNF instance. May be present otherwise. type: array items: description: > This type provides information related to a virtual CP instance of a VNF. NOTE: A consumer of the VNF LCM interface can learn the actual VNFC instances implementing the service accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" and filtering by corresponding "vduIds" values. type: object required: - cpInstanceId - cpdId - resourceHandle - vduIds properties: cpInstanceId: 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 resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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: > Protocol information for this CP. There shall be one cpProtocolInfo for each layer protocol supported. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 vduIds: description: > Reference to the VDU(s) which implement the service accessible via the virtual CP instance. See note. type: array minItems: 1 items: description: > An identifier that is unique within a VNF descriptor. type: string additionalServiceInfo: description: > Additional service identification information of the virtual CP instance. type: array items: description: > This type provides additional service information of the virtual CP instance used to expose properties of the virtual CP to NFV-MANO. NOTE: This attribute shall only be present if additional information is needed to identify the service termination within the VNF, such as for example a URL path information in an HTTP request required to allow a single virtual CP IP address to be used for several HTTP based services that use the same port number. type: object required: - portInfo properties: portInfo: description: > Service port numbers exposed by the virtual CP instance. minItems: 1 type: array items: description: > This type describes the service identifying port properties exposed by the virtual CP instance. type: object required: - name - port - portConfigurable properties: name: description: > The name of the port exposed by the virtual CP instance. type: string protocol: description: > The L4 protocol for this port exposed by the virtual CP instance. Permitted values: - TCP - UDP - SCTP type: string enum: - TCP - UDP - SCTP port: description: > The L4 port number exposed by the virtual CP instance. type: integer portConfigurable: description: > The Boolean is a data type having two values (true and false). type: boolean serviceInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object extVirtualLinkInfo: description: > Information about the external VLs the VNF instance is connected to. type: array items: description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n parent data structure.\n" type: object required: - id - resourceHandle - currentVnfExtCpData properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n" type: object required: - id - resourceHandle properties: id: description: > An identifier with the intention of being globally unique. type: string resourceHandle: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 secondaryCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string currentVnfExtCpData: description: > Allows the API consumer to read the current CP configuration information for the connection of external CPs to the external virtual link. See note. type: array items: description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n by a particular key value from the map, i.e. for the disconnection of an existing external\n CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n virtual link, and deletion of that instance in case it represents a subport. Deleting the\n last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n its parent data structure.\n* NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value \n is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig\n map entry may be used by an external CP instance different than the one that has used it before the\n operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\"\n operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n" type: object required: - cpdId properties: cpdId: description: > An identifier that is unique within a VNF descriptor. type: string cpConfig: description: > Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type "IdentifierInVnf" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3 and 4. type: object additionalProperties: description: > This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. 2. In case 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. In the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL. * NOTE 1: The following conditions apply to the attributes "linkPortId" and "cpProtocolData" for an external CP instance connected or to be connected to a virtual network not categorized as secondary container cluster network: 1) Void. 2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance representing a subport that is to be created, or an external CP instance that is to be created by creating the corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing external CP instance that is to be re-configured or added to a particular external virtual link. 3) If the "linkPortId" attribute is absent, the VNFM shall create a link port. 4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a precreated 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. 5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the cpProtocolData can be used with the pre-created link port referenced by "linkPortId". * NOTE 2: The following conditions apply to the attributes “netAttDefResourceId” and “cpProtocolData” for an external CP instance connected or to be connected to a secondary container cluster network: 1) The "netAttDefResourceId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing external CP instance addressed by cpInstanceId. 2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for a to-be-created external CP instance or an existing external CP instance. * NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong to the same namespace as defined by the corresponding "netAttDefResourceNamespace" attribute in the "NetAttDefResourceData". * NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both. anyOf: - required: - linkPortId - required: - cpProtocolData - required: - netAttDefResourceId type: object properties: parentCpConfigId: 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 createExtLinkPort: description: > Indicates to the VNFM the need to create a dedicated link port for the external CP. If set to True, the VNFM shall create a link port. If set to False, the VNFM shall not create a link port. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise. type: boolean cpProtocolData: description: > Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2. type: array items: description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET. - IP_FOR_VIRTUAL_CP See note type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents network address data for IP over Ethernet. * NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. * NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. * NOTE 3:\tIf the CP instance represents a subport in a trunk, segmentationId shall be present.\n Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n of the packets or it may be an identifier used between the application and the NFVI networking\n infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n actually used by the NFVI's transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - fixedAddresses - required: - numDynamicAddresses - required: - ipAddressRange 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 segmentationType: description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n" type: string enum: - VLAN - INHERIT segmentationId: description: > Identification of the network segment to which the CP instance connects to. See note 3 and note 4. type: string 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. See note 1. 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). See note 2. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: 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. * NOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be used, otherwise it will be ignored by the CISM. * NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container cluster will assign an IP address. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: IPV4, IPV6. type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 netAttDefResourceId: description: > Identifier of the “NetAttDefResourceData” structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 2, 3 and 4. type: array items: description: > An identifier with the intention of being globally unique. type: string extNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 extManagedVirtualLinkInfo: description: > Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5). Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. type: array items: description: > This type provides information about an externally-managed virtual link. type: object required: - id - vnfVirtualLinkDescId - networkResource 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string vnfLinkPorts: description: | Link ports of this VL. type: array items: description: > This type represents a link port of an internal VL of a VNF. NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, the two different CP instances share the linkport. NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only vipCpInstanceId is present (UC6 and UC#6-b). NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. 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: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n" type: string enum: - VNFC_CP - EXT_CP vipCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string vnfNetAttDefResource: description: > Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. type: array items: description: > This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network. type: object required: - netAttDefResourceInfoId - netAttDefResource properties: netAttDefResourceInfoId: description: > An identifier with the intention of being globally unique. type: string netAttDefResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string associatedExtCpId: description: > Identifier of the external CP associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF. 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 associatedVnfcCpId: description: > Identifier of the VNFC CP associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF. 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 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 vnfdId: description: > An identifier with the intention of being globally unique. 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. Depending on the form of virtualisation container of the VNFC:\n - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure \n of information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n - For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n - For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\n\n* NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. * NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that\n exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly\n to an external VL.\n* NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. * NOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\" structure by \n an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVnfc\"\n structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to \n this LCM operation occurrence.\n* NOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment \n definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build \n a link redundant mated pair in SR-IOV cases.\n* NOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n" type: object required: - id - vduId - computeResource properties: id: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string vnfdId: description: > An identifier with the intention of being globally unique. type: string computeResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string storageResourceIds: description: > References to the VirtualStorage resources or references to Storage MCIO(s). 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: | All the CPs of the VNFC instance. 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. May be omitted if the VNFC CP is exposed as an external CP. The information can be omitted because it is already available as part of the external CP information. See note 3. type: array items: description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n present document in a backwards-compatible way. In the current version of the present document, only IP over \n Ethernet is supported.\n" type: object required: - layerProtocol properties: layerProtocol: description: > The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note. type: string enum: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP ipOverEthernet: description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n" type: object anyOf: - required: - macAddress - required: - ipAddresses oneOf: - required: - addresses - required: - addressRange 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 segmentationId: description: > Identification of the network segment to which the Cp instance connects to. See notes 3 and 4. type: string ipAddresses: description: > Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or dynamic IP address assignment per subnet. See note 1. 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). See note 2. 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. See note 2. 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 the CISM or other resource provider. It is expected to be unique within the VIM instance. type: string virtualCpAddress: description: > This type represents information about a network address that has been assigned to a virtual CP. type: object required: - type properties: type: description: > The type of the IP addresses. Permitted values: - IPV4 - IPV6 type: string enum: - IPV4 - IPV6 loadBalancerIp: 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 parentCpId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string netAttDefResourceId: description: > Identifier of the “NetAttDefResourceInfo” structure that provides the specification of the interface to attach the connection point to a secondary container cluster network. See notes 5 and 6. It shall be present if the internal CP is associated to a VNFC realized by one or a set of OS containers and is connected to a secondary container cluster network. It shall not be present otherwise. type: array items: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfVirtualLinkResourceInfo: description: > Information about the virtualised network resources used by the VLs of the VNF instance. See note 6. Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant. 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. NOTE: If only the value or the presence of this attribute is changed in the "VnfVirtualLinkResourceInfo" structure by an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. type: object required: - id - vnfVirtualLinkDescId - networkResource - vnfLinkPorts 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string networkResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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: description: > This type represents a link port of an internal VL of a VNF. NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP" and vipCpInstanceId are present, the two different CP instances share the linkport. NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or only vipCpInstanceId is present (UC6 and UC#6-b). NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute. 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: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n" type: string enum: - VNFC_CP - EXT_CP vipCpInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string trunkResourceId: description: > An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. NOTE: If only the value or the presence of this attribute is changed in the "VirtualStorageResourceInfo" structure by an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence. 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 vnfdId: description: > An identifier with the intention of being globally unique. type: string storageResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object vnfcInfo: description: | Information about the VNFC instances. type: array items: description: "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n" type: object required: - id - vduId - vnfcState 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 for the respective type within a VNF instance, but may not be globally unique. type: string vnfcResourceInfoId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcState: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcConfigurableProperties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object mcioInfo: description: > Information on the MCIO(s) representing VNFC instance(s) realized by one or a set of OS containers and created from the same VDU for the VNF instance. type: array items: description: > This type provides information about an MCIO representing the set of VNFC instances realized by one or a set of OS containers which have been created based on the same VDU. Within the CISM, an MCIO controller monitors the actual state of an MCIO representing the set of VNFC instances realized by one or a set of OS containers and compare it to the desired state as specified in the respective declarative descriptor. It triggers actions toward the CIS to align the actual to the desired state. Monitoring the actual state includes monitoring the number of MCIO instances available at any specific point in time. In addition, an MCIO controller maintains properties and runtime information on the MCIO instances which have been created based on the same VDU. The McioInfo data structure provides the runtime information on the MCIOs obtained from the MCIO controller. NOTE: There are different types of MCIOs. The set of VNFC instances based on the same VDU is represented by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type of MCIO, e.g. a POD. Runtime information of the set of OS containers realizing an individual VNFC instance is not part of the McioInfo data structure; such runtime information is provided in the ResourceHandle data structure referenced from the VnfcResourceInfo. The McioInfo does not provide runtime information of a constituent VNFC instance created based on a specific VDU. NOTE 1: The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the “kind” property of the declarative descriptor. NOTE 2: If the attribute additionalInfo is present, it may contain runtime information on the actual and desired state of the MCIO(s). NOTE 3: When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined values from the kind and name fields of the Kubernetes resource object, separated by a slash. Example: "Deployment/abcd". NOTE 4: When the container infrastructure service is a Kubernetes® instance, the mcioName is the name field of the resource object. type: object required: - mcioId - mcioName - mcioNamespace - vduId - cismId - mcioType - desiredInstances - availableInstances properties: mcioId: description: > An identifier with the intention of being globally unique. type: string mcioName: description: > Human readable name of this MCIO. See note 4. type: string mcioNamespace: description: | Namespace of this MCIO. type: string vduId: description: > An identifier that is unique within a VNF descriptor. type: string cismId: description: > An identifier with the intention of being globally unique. type: string mcioType: description: > The type of MCIO. Specific values, their semantics and associated MCIO types are defined in clause 5.5.4.9. Additional values are also permitted. See note 1. type: string enum: - Deployment - Statefulset desiredInstances: description: | Number of desired MCIO instances. type: integer availableInstances: description: | Number of available MCIO instances. type: integer additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string createSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string revertToSnapshot: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string changeCurrentVnfPkg: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string vnfcSnapshots: description: > Information about VNFC snapshots constituting this VNF snapshot. type: array items: description: "This type represents a VNFC snapshot. * NOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC\n snapshot being returned from the VIM as output data in the response message of the individual\n resource operations. This attribute shall only be present for a VNFC snapshot that has been\n newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n NOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot\n being returned from the VIM as output data in the response message of the individual resource\n operations. This attribute shall only be present for a VNFC snapshot with an associated storage\n resource and that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n" type: object required: - id - vnfcInstanceId - creationStartedAt - vnfcResourceInfoId properties: id: description: > An identifier with the intention of being globally unique. type: string vnfcInstanceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string creationStartedAt: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time creationFinishedAt: description: > Date-time stamp. Representation: String formatted according to IETF RFC 3339. type: string format: date-time vnfcResourceInfoId: description: "This type represents the information about a VNFC instance that is part of a VNF instance. * NOTE:\tThis allows to represent the error condition that a VNFC instance has lost its resources.\n" type: object required: - id - vduId - vnfcState 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 for the respective type within a VNF instance, but may not be globally unique. type: string vnfcResourceInfoId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcState: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string vnfcConfigurableProperties: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object computeSnapshotResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string storageSnapshotResources: description: > Mapping of the storage resources associated to the VNFC with the storage snapshot resources. type: object required: - storageResourceId properties: storageResourceId: description: > An identifier that is unique for the respective type within a VNF instance, but may not be globally unique. type: string storageSnapshotResource: required: - 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. * NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId. * NOTE 2: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM or CISM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. * NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest. 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 the CISM 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 CISM or the resource provider. See note 2. type: string vimLevelAdditionalResourceInfo: description: > This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. * NOTE: At least one attribute shall be present. type: object properties: hostName: description: > Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. type: string persistentVolume: description: > Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. type: string additionalInfo: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object containerNamespace: description: > The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. type: string userDefinedData: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. type: object userDefinedData: 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 keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys ("aString", "aNumber", "anArray" and "anObject") is provided to illustrate that the values associated with different keys can be of different type. 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. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string takenFrom: description: > This type represents a link to a resource using an absolute URI. type: object required: - href properties: href: description: | String formatted according to IETF RFC 3986. type: string IndividualVnfSnapshot.Delete.204: description: > 204 NO CONTENT The "Individual subscription" resource has been deleted successfully. The response body shall be empty. headers: Version: description: The used API version. style: simple explode: false schema: type: string 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. style: simple explode: false schema: type: string content: {} IndividualVnfSnapshot.Delete.409: description: | 409 CONFLICT Shall be returned upon the following error: The operation cannot be executed currently, due to a conflict with the state of the 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 shall convey more information about the error. 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. style: simple explode: false schema: type: string Version: description: The used API version. style: simple explode: false schema: type: string Content-Type: description: | The MIME type of the body of the response. Reference: IETF RFC 7231 style: simple explode: false schema: type: string content: application/json: schema: description: > The definition of the general "ProblemDetails" data structure from IETF RFC 7807 is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807, the "status" and "detail" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 foresees extensibility of the "ProblemDetails" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807. type: object required: - status - detail properties: type: description: > A URI reference according to IETF RFC 3986 that identifies the problem type. It is encouraged that the URI provides human-readable 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