{"openapi":"3.0.2","info":{"title":"SOL003 - VNF Lifecycle Management interface","description":"SOL003 - VNF Lifecycle Management interface\n\nIMPORTANT: Please note that this file might be not aligned to the current\nversion of the ETSI Group Specification it refers to. In case of\ndiscrepancies the published ETSI Group Specification takes precedence.\n\nPlease report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues\n","contact":{"name":"NFV-SOL WG"},"license":{"name":"ETSI Forge copyright notice","url":"https://forge.etsi.org/etsi-forge-copyright-notice.txt"},"version":"2.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"},"externalDocs":{"description":"ETSI GS NFV-SOL 003 V3.3.4","url":"https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.03.01_60/gs_NFV-SOL003v030301p.pdf"},"servers":[{"url":"http://127.0.0.1/vnflcm/v1"},{"url":"https://127.0.0.1/vnflcm/v1"}],"paths":{"/api_versions":{"parameters":[{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"get":{"summary":"Retrieve API version information","description":"The GET method reads API version information. This method shall follow the provisions specified in table 4.6.3.3.3.2-1 for request and response data structures, and response codes. URI query parameters are not supported.\n","responses":{"200":{"description":"200 OK\nAPI version information was read successfully. The response body shall contain 4.4 API version information, as defined in clause 4.4.1.13.\n","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.\n","type":"object","required":["uriPrefix","apiVersions"],"properties":{"uriPrefix":{"description":"Specifies the URI prefix for the API, in the following form {apiRoot}/{apiName}/{apiMajorVersion}/.\n","type":"string"},"apiVersions":{"description":"Version(s) supported for the API signaled by the uriPrefix attribute.\n","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).\n","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).\nA 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.\n","type":"boolean"},"retirementDate":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"}}}}}}}}},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"413":{"description":"413 PAYLOAD TOO LARGE\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"414":{"description":"414 URI TOO LONG\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"416":{"description":"416 Range Not Satisfiable\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"422":{"description":"422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"429":{"description":"429 TOO MANY REQUESTS\nIf 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.\nThe period of time and allowed number of requests are configured within the API producer by means outside the scope of the present document.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}},"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\n","responses":{"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}},"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\n","responses":{"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}},"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\n","responses":{"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}},"delete":{"description":"This method is not supported. When this method is requested on this resource, the API producer shall return a \"405 Method Not Allowed\" response\n","responses":{"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_instances":{"parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"post":{"description":"The POST method creates a new VNF instance resource based on a VNF package that is onboarded and in\n\"ENABLED\" state.\nThis method shall follow the provisions specified in the tables 5.4.2.3.1-1 and 5.4.2.3.1-2\nfor URI query parameters, request and response data structures, and response codes.\nAs the result of successfully executing this method, a new \"Individual VNF instance\"\nresource as defined in clause 5.4.3 shall have been created, and the value of the\n\"instantiationState\" attribute in the representation of that resource shall be \"NOT_INSTANTIATED\".\nA notification of type VnfIdentifierCreationNotification shall be triggered as part of successfully\nexecuting this method as defined in clause 5.5.2.18.\nWhen initiating the creation of a VNF instance resource, the passed metadata values can differ from\nthe default values for metadata, if any, declared in the VNFD.\nThe VNFM shall apply the \"metadata\" attributes in the \"CreateVnfRequest\" data structure in the payload\nbody to the \"metadata\" attribute in the \"VnfInstance\" data structure on top of the default values that\nwere obtained from the VNFD according to the rules of JSON Merge Patch (see IETF RFC 7396).\nFor all metadata keys defined in the VNFD, the VNFM shall ensure that the content of the resulting\n\"metadata\" attributes is valid against the data type definitions in the VNFD. The absence of a metadata\nitem that is marked \"required\" in the VNFD shall not be treated as an error. In case a \"metadata\" child\nattribute is not defined in the VNFD, the VNFM shall consider it valid in case it is a valid JSON structure.\nIn case of an error, the operation shall be rejected with a \"422 Unprocessable Entity\" error.\n","requestBody":{"$ref":"#/components/requestBodies/CreateVnfRequest"},"responses":{"201":{"$ref":"#/components/responses/VNFInstances.Post.201"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"422":{"description":"422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}},"get":{"description":"Query VNF.\nThe GET method queries information about multiple VNF instances.\n","parameters":[{"name":"filter","description":"Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support receiving this parameter as part of the URI query string. The API consumer may supply this parameter. All attribute names that appear in the FmSubscription and in data types referenced from it shall be supported by the NFV-MANO functional entity in the filter expression.\n","in":"query","required":false,"schema":{"type":"string"}},{"name":"all_fields","description":"Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support this parameter.\n","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 for details. The NFV-MANO functional entity should support this parameter.\n","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 for details. The NFV-MANO functional entity should support this parameter.\n","in":"query","required":false,"schema":{"type":"string"}},{"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 for details. The NFV-MANO functional entity shall support this parameter.","required":false,"schema":{"type":"string"}},{"name":"nextpage_opaque_marker","description":"Marker to obtain the next page of a paged response. Shall be supported by the NFV-MANO functional entity if the entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource.\n","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/VNFInstances.Get.200"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"416":{"description":"416 Range Not Satisfiable\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_instances/{vnfInstanceId}":{"parameters":[{"$ref":"#/components/parameters/VnfInstanceId"},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"get":{"description":"Query VNF.\n\nThe GET method retrieves information about a VNF instance by reading an \"Individual VNF instance\" resource.\nThis method shall follow the provisions specified in the tables 5.4.3.3.2-1 and 5.4.3.3.2-2\nfor URI query parameters, request and response data structures, and response codes.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IndividualVnfInstance.Get.200"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"416":{"description":"416 Range Not Satisfiable\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}},"patch":{"description":"Modify VNF Information.\nThis method modifies an \"Individual VNF instance\" resource.\nChanges to the VNF configurable properties are applied to the configuration in the VNF instance,\nand are reflected in the representation of this resource.\nOther changes are applied to the VNF instance information managed by the VNFM, and are reflected\nin the representation of this resource.\nThis method shall follow the provisions specified in the tables 5.4.3.3.4-1 and 5.4.3.3.4-2\nfor URI query parameters, request and response data structures, and response codes.\nThe steps and conditions that apply as the result of successfully executing this method are\nspecified in clause 5.4.1.2.\n\nThe VNFM shall apply the \"metadata\", \"extensions\" and \"vnfConfigurableProperties\" attributes in the\n\"VnfInfoModificationRequest\" data structure in the payload body to the existing \"extensions\" and\n\"vnfConfigurableProperties\" attributes from the \"VnfInstance\" data structure according to the\nrules of JSON Merge Patch (see IETF RFC 7396).\nThe VNFM shall ensure that the content of the child attributes of the resulting \"metadata\", \"extensions\"\nand \"vnfConfigurableProperties\" attributes is valid against the data types definitions of these child\nattributes in the VNFD.\n\nIn case a \"metadata\" child attribute is not defined in the VNFD, the VNFM shall consider it valid in\ncase it is a valid JSON structure.\n\nNOTE: \"Extensions\" and \"vnfConfigurableProperties\" child attributes are always declared in the VNFD.\n\nIf the VNF instance is in the \"INSTANTIATED\" state, the validation shall also include\nensuring the presence of all \"extensions\" and \"vnfConfigurableProperties\" child attributes that are\nmarked as \"required\" in the VNFD.\n\nNOTE: This allows to build the set of \"extensions\" and \"vnfConfigurableProperties\" incrementally\nprior VNF instantiation but ensures their completeness for an instantiated VNF instance.\n\nThe absence of a metadata item that is marked \"required\" in the VNFD shall not be treated as an error.\n\nIn case of an error during validation, the operation shall be automatically rolled back, and\nappropriate error information shall be provided in the \"VnfLcmOperationOccurrenceNotification\"\nmessage and the \"VnfLcmOpOcc\" data structure.\nThe processing of changes to the \"metadata\" / \"extensions\" / \"vnfConfigurableProperties\" attributes\nshall be performed in the \"PROCESSING\" phase of the LCM operation. The change shall be atomic, i.e. the\nresult of intermediate stages shall not be visible in the API. In case of successful completion of the\nprocessing and validation, the attributes shall be provided in the \"VnfInstance\" data structure and\nthe operation shall proceed towards successful completion.\n","requestBody":{"$ref":"#/components/requestBodies/VnfInfoModificationRequest"},"responses":{"202":{"$ref":"#/components/responses/IndividualVnfInstance.Patch.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"412":{"description":"412 PRECONDITION FAILED\nError: 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}},"delete":{"description":"Delete VNF Identifier.\nThis method deletes an \"Individual VNF instance\" resource.\nThis method shall follow the provisions specified in the tables 5.4.3.3.5-1 and 5.4.3.3.5-2\nfor URI query parameters, request and response data structures, and response codes.\nAs the result of successfully executing this method, the \"Individual VNF instance\" resource\nshall not exist any longer.\nA notification of type \"VnfIdentifierDeletionNotification\" shall be triggered as part of successfully\nexecuting this method as defined in clause 5.5.2.19.\n","responses":{"204":{"$ref":"#/components/responses/IndividualVnfInstance.Delete.204"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"412":{"description":"412 PRECONDITION FAILED\nError: 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_instances/{vnfInstanceId}/instantiate":{"parameters":[{"$ref":"#/components/parameters/VnfInstanceId"}],"post":{"description":"Instantiate VNF.\nThe POST method instantiates a VNF instance.\nThis method shall follow the provisions specified in the tables 5.4.4.3.1-1 and 5.4.4.3.1-2\nfor URI query parameters, request and response data structures, and response codes.\nThe steps and conditions that apply as the result of successfully executing this method\nare specified in clause 5.4.1.2.\nIn addition, once the VNFM has successfully completed the underlying VNF LCM operation occurrence,\nit shall set the \"instantiationState\" attribute to the value \"INSTANTIATED\" and the \"vnfState\"\nattribute to the value \"STARTED\" in the representation of the \"Individual VNF instance\" resource.\n\nWhen instantiating a VNF instance, the values of the extensions and/or VNF configurable properties\npassed in the instantiation request can differ from the values in the \"VnfInstance\" data structure\nthat were initialized from default values, if any, declared in the VNFD.\nThe VNFM shall apply the \"extensions\" and \"vnfConfigurableProperties\" attributes in the\n\"InstantiateVnfRequest\" data structure in the payload body to the existing \"extensions\" and\n\"vnfConfigurableProperties\" attributes from the \"VnfInstance\" data structure according to the rules\nof JSON Merge Patch (see IETF RFC 7396). The VNFM shall ensure that the content of the resulting\n\"extensions\" and \"vnfConfigurableProperties\" attributes is valid against the VNFD (including the\npresence of all child attributes that are marked as \"required\" in the VNFD). In case of an error\nduring validation, the operation shall be automatically rolled back, and appropriate error information\nshall be provided in the \"VnfLcmOperationOccurrenceNotification\" message and the \"VnfLcmOpOcc\"\ndata structure. The processing of changes to the \"extensions\" / \"vnfConfigurableProperties\" attributes\nshall be performed in the \"STARTING\" phase of the LCM operation. The change shall be atomic, i.e.\nthe result of intermediate stages shall not be visible in the API. In case of successful completion\nof the processing and validation, the attributes shall be provided in the \"VnfInstance\" data structure\nand the operation shall proceed to obtain the grant.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/InstantiateVnfRequest"},"responses":{"202":{"$ref":"#/components/responses/InstantiateVnfInstance.Post.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"416":{"description":"416 Range Not Satisfiable\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_instances/{vnfInstanceId}/scale":{"parameters":[{"$ref":"#/components/parameters/VnfInstanceId"}],"post":{"description":"Scale VNF.\nThe POST method requests to scale a VNF instance resource incrementally.\nThis method shall follow the provisions specified in the tables 5.4.5.3.1-1 and 5.4.5.3.1-2\nfor URI query parameters, request and response data structures, and response codes.\nThe steps and conditions that apply as the result of successfully executing this method are\nspecified in clause 5.4.1.2.\nIn addition, once the VNFM has successfully completed the underlying VNF LCM operation occurrence,\nit shall reflect the result of scaling the VNF instance by updating the \"scaleStatus\" attribute\nin the representation of the \"Individual VNF instance\" resource.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ScaleVnfRequest"},"responses":{"202":{"$ref":"#/components/responses/ScaleVnfInstance.Post.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_instances/{vnfInstanceId}/scale_to_level":{"parameters":[{"$ref":"#/components/parameters/VnfInstanceId"}],"post":{"description":"Scale VNF to Level.\nThe POST method requests to scale a VNF instance resource to a target level.\nThis method shall follow the provisions specified in the tables 5.4.6.3.1-1 and 5.4.6.3.1-2\nfor URI query parameters, request and response data structures, and response codes.\nThe steps and conditions that apply as the result of successfully executing this method are\nspecified in clause 5.4.1.2.\nIn addition, once the VNFM has successfully completed the underlying VNF LCM operation occurrence,\nit shall reflect the result of scaling the VNF instance by updating the \"scaleStatus\" attribute\nin the representation of the \"Individual VNF instance\" resource.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ScaleVnfToLevelRequest"},"responses":{"202":{"$ref":"#/components/responses/ScaleToLevelVnfInstance.Post.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_instances/{vnfInstanceId}/change_flavour":{"parameters":[{"$ref":"#/components/parameters/VnfInstanceId"}],"post":{"description":"Change VNF Flavour.\nThis method shall follow the provisions specified in the tables 5.4.7.3.1-1 and 5.4.7.3.1-2\nfor URI query parameters, request and response data structures, and response codes.\nThe steps and conditions that apply as the result of successfully executing this method\nare specified in clause 5.4.1.2.\nIn addition, once the VNFM has successfully completed the underlying VNF LCM operation occurrence,\nit shall set the \"flavourId\" attribute in the representation of the \"Individual VNF instance\"\nresource to the value of the \"newFlavourId\" attribute passed in the \"ChangeVnfFlavourRequest\"\ndata in the POST request.\n\nWhen initiating a change of the current VNF flavour, the values of the extensions and/or VNF\nconfigurable properties, can differ between the new flavour and the old flavour of the VNF instance.\nThe VNFM shall apply the \"extensions\" and \"vnfConfigurableProperties\" attributes in the\n\"ChangeVnfFlavourRequest\" data structure in the payload body to the existing \"extensions\" and\n\"vnfConfigurableProperties\" attributes from the \"VnfInstance\" data structure according to the rules\nof JSON Merge Patch (see IETF RFC 7396). The VNFM shall ensure that the content of the resulting\n\"extensions\" and \"vnfConfigurableProperties\" attributes is valid against the VNFD (which includes\nensuring the presence of all child attributes that are marked as \"required\" in the VNFD). In case\nof an error, the operation shall be automatically rolled back, and appropriate error information\nshall be provided in the \"VnfLcmOperationOccurrenceNotification\" message and the \"VnfLcmOpOcc\" data\nstructure. The processing of changes to the \"extensions\" / \"vnfConfigurableProperties\" attributes\nshall be performed in the \"STARTING\" phase of the LCM operation. The change shall be atomic, i.e.\nthe result of intermediate stages shall not be visible in the API. In case of successful completion\nof the processing and validation, the attributes shall be provided in the \"VnfInstance\" data structure\nand the operation shall proceed to obtain the grant.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ChangeVnfFlavourRequest"},"responses":{"202":{"$ref":"#/components/responses/ChangeFlavourVnfInstance.Post.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_instances/{vnfInstanceId}/terminate":{"parameters":[{"$ref":"#/components/parameters/VnfInstanceId"}],"post":{"description":"Terminate VNF.\nThe POST method triggers the VNFM to terminate a VNF instance and to request to the VIM\nthe release of its used virtualised resources.\nThis method shall follow the provisions specified in the tables 5.4.8.3.1-1 and 5.4.8.3.1-2\nfor URI query parameters, request and response data structures, and response codes.\nThe steps and conditions that apply as the result of successfully executing this method\nare specified in clause 5.4.1.2.\nIn addition, once the VNFM has successfully completed the underlying VNF LCM operation occurrence,\nit shall set the \"instantiationState\" attribute in the representation of the \"Individual VNF instance\"\nresource to the value \"NOT_INSTANTIATED\".\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/TerminateVnfRequest"},"responses":{"202":{"$ref":"#/components/responses/TerminateVnfInstance.Post.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_instances/{vnfInstanceId}/heal":{"parameters":[{"$ref":"#/components/parameters/VnfInstanceId"}],"post":{"description":"Heal VNF.\nThe POST method requests to heal a VNF instance.\nThis method shall follow the provisions specified in the tables 5.4.9.3.1-1 and 5.4.9.3.1-2\nfor URI query parameters, request and response data structures, and response codes.\nThe steps and conditions that apply as the result of successfully executing this method\nare specified in clause 5.4.1.2.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/HealVnfRequest"},"responses":{"202":{"$ref":"#/components/responses/HealVnfInstance.Post.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_instances/{vnfInstanceId}/operate":{"parameters":[{"$ref":"#/components/parameters/VnfInstanceId"}],"post":{"description":"Operate VNF.\nThe POST method changes the operational state of a VNF instance resource.\nThis method shall follow the provisions specified in the tables 5.4.10.3.1-1 and 5.4.10.3.1-2\nfor URI query parameters, request and response data structures, and response codes.\nThe steps and conditions that apply as the result of successfully executing this method\nare specified in clause 5.4.1.2.\nIn addition, once the VNFM has successfully completed the underlying VNF LCM operation occurrence,\nit shall set the \"vnfState\" attribute in the representation of the \"Individual VNF instance\" resource\nto the value of the \"changeStateTo\" attribute passed in the \"OperateVnfRequest\" data in the POST request.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/OperateVnfRequest"},"responses":{"202":{"$ref":"#/components/responses/OperateVnfInstance.Post.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_instances/{vnfInstanceId}/change_ext_conn":{"parameters":[{"$ref":"#/components/parameters/VnfInstanceId"}],"post":{"description":"Change External VNF Connectivity.\nThe POST method changes the external connectivity of a VNF instance.\nThis method shall follow the provisions specified in the tables 5.4.11.3.1-1 and 5.4.11.3.1-2\nfor URI query parameters, request and response data structures, and response codes.\nThe steps and conditions that apply as the result of successfully executing this method\nare specified in clause 5.4.1.2.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ChangeExtVnfConnectivityRequest"},"responses":{"202":{"$ref":"#/components/responses/ChangeExtConnVnfInstance.Post.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_instances/{vnfInstanceId}/change_vnfpkg":{"parameters":[{"$ref":"#/components/parameters/VnfInstanceId"}],"post":{"description":"The POST method changes the current VNF package on which the VNF instance is based.\nThis method shall follow the provisions specified in the tables 5.4.11a.3.1-1 and\n5.4.11a.3.1-2 for URI query parameters, request and response data structures, and\nresponse codes.\nThe steps and conditions that apply as the result of successfully executing this method\nare specified in clause 5.4.1.2.\nDuring a change of the current VNF package, the allowed and required extensions and/or\nVNF configurable properties and their data types, as well as the metadata data types,\ncan differ between the source and the destination VNFD.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ChangeCurrentVnfPkgRequest"},"responses":{"202":{"$ref":"#/components/responses/ChangeVnfpkgVnfInstance.Post.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_lcm_op_occs":{"get":{"description":"Get Operation Status.\nThe API consumer can use this method to query status information about multiple\nVNF lifecycle management operation occurrences.\nThis method shall follow the provisions specified in the tables 5.4.12.3.2-1 and 5.4.12.3.2-2\nfor URI query parameters, request and response data structures, and response codes.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"filter","description":"Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support receiving this parameter as part of the URI query string. The API consumer may supply this parameter. All attribute names that appear in the FmSubscription and in data types referenced from it shall be supported by the NFV-MANO functional entity in the filter expression.\n","in":"query","required":false,"schema":{"type":"string"}},{"name":"all_fields","description":"Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support this parameter.\n","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 for details. The NFV-MANO functional entity should support this parameter.\n","in":"query","required":false,"schema":{"type":"string"}},{"in":"query","name":"exclude_default","description":"Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 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: -\toperationParams -\terror -\tresourceChanges -\tchangedInfo -\tchangedExtConnectivity. -\tlcmCoordinations -\tmodificationsTriggeredByVnfPkgChange -\twarnings required: false\n","schema":{"type":"string"}},{"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 for details. The NFV-MANO functional entity shall support this parameter.","required":false,"schema":{"type":"string"}},{"name":"nextpage_opaque_marker","description":"Marker to obtain the next page of a paged response. Shall be supported by the NFV-MANO functional entity if the entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource.\n","in":"query","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/VnfLcmOpOccs.Get.200"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_lcm_op_occs/{vnfLcmOpOccId}":{"parameters":[{"$ref":"#/components/parameters/VnfLcmOpOccId"}],"get":{"description":"Get Operation Status.\nThe API consumer can use this method to retrieve status information about a VNF lifecycle\nmanagement operation occurrence by reading an \"Individual VNF LCM operation occurrence\" resource.\nThis method shall follow the provisions specified in the tables 5.4.13.3.2-1 and 5.4.13.3.2-2\nfor URI query parameters, request and response data structures, and response codes.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IndividualVnfLcmOpOcc.Get.200"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry":{"parameters":[{"$ref":"#/components/parameters/VnfLcmOpOccId"}],"post":{"description":"The POST method initiates retrying a VNF lifecycle operation if that operation\nhas experienced a temporary failure, i.e. the related \"Individual VNF LCM operation occurrence\"\nresource is in \"FAILED_TEMP\" state.\nThis method shall follow the provisions specified in the tables 5.4.14.3.1-1 and 5.4.14.3.1-2\nfor URI query parameters, request and response data structures, and response codes.\nIn case of success of processing the asynchronous request, the \"operationState\" attribute\nin the representation of the parent resource shall be changed to \"PROCESSING\" and the applicable\n\"start\" notification according to clause 5.6.2.2 shall be emitted to indicate that the underlying\nVNF LCM operation occurrence proceeds.\n","parameters":[{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"202":{"$ref":"#/components/responses/RetryVnfLcmOpOcc.Post.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback":{"parameters":[{"$ref":"#/components/parameters/VnfLcmOpOccId"}],"post":{"description":"The POST method initiates rolling back a VNF lifecycle operation if that operation\nhas experienced a temporary failure, i.e. the related \"Individual VNF LCM operation occurrence\"\nresource is in \"FAILED_TEMP\" state.\nIn case of rolling back an occurrence of the \"InstantiateVnf\" operation, the VNFM shall\nrequest to the VIM the release of the virtualised resources that were allocated for the related VNF instance.\nThe \"rollback\" task shall be supported by the VNFM for any VNF LCM operation occurrence that represents an\n\"InstantiateVnf\" operation in FAILED_TEMP state.\nThis method shall follow the provisions specified in the tables 5.4.15.3.1-1 and 5.4.15.3.1-2\nfor URI query parameters, request and response data structures, and response codes.\nIn case of success of processing the asynchronous request, the \"operationState\" attribute\nin the representation of the parent resource shall be changed to \"ROLLING_BACK\" and the applicable\n\"start\" notification according to clause 5.6.2.2 shall be emitted to indicate that rollback of the\nunderlying VNF LCM operation occurrence is attempted.\n","parameters":[{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"202":{"$ref":"#/components/responses/RollbackVnfLcmOpOcc.Post.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail":{"parameters":[{"$ref":"#/components/parameters/VnfLcmOpOccId"}],"post":{"description":"The POST method marks a VNF lifecycle management operation occurrence as \"finally failed\"\nif that operation occurrence is in \"FAILED_TEMP\" state.\nThis method shall follow the provisions specified in the tables 5.4.16.3.1-1 and 5.4.16.3.1-2\nfor URI query parameters, request and response data structures, and response codes.\nIn case of success, the \"operationState\" attribute in the representation of the parent resource\nshall be changed to \"FAILED\" and the applicable \"result\" notification according to clause 5.6.2.2\nshall be emitted to indicate that the execution of the underlying VNF LCM operation occurrence\nhas finally and unrecoverably failed.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/FailVnfLcmOpOcc.Post.200"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel":{"parameters":[{"$ref":"#/components/parameters/VnfLcmOpOccId"}],"post":{"description":"The POST method initiates cancelling an ongoing VNF lifecycle operation while\nit is being executed or rolled back, i.e. the related \"Individual VNF LCM operation occurrence\"\nresource is either in \"STARTING\" or \"PROCESSING\" or \"ROLLING_BACK\" state.\nThis method shall follow the provisions specified in the tables 5.4.17.3.1-1 and 5.4.17.3.1-2\nfor URI query parameters, request and response data structures, and response codes.\nBefore returning the \"202 Accepted\" response, the VNFM shall update the \"isCancelPending\"\nand \"cancelMode\" attributes in the representation of the parent resource according to the\nprovisions in clause 5.5.2.13.\n\nIn case of success of processing the asynchronous request:\n1)\tIf the request has been processed in \"STARTING\" state, the \"operationState\" attribute\n in the representation of the parent resource shall be changed to \"ROLLED_BACK\".\n2)\tIf the request has been processed in \"PROCESSING\" or \"ROLLING_BACK\" state,\n the \"operationState\" attribute in the representation of the parent resource\n shall be changed to \"FAILED_TEMP\".\n\nIn both cases, the VNFM shall update the \"isCancelPending\" and \"cancelMode\" attributes\nin the representation of the parent resource according to the provisions in clause 5.5.2.13\nto reflect the new status, and the applicable \"result\" notification according to clause 5.6.2.2\nshall be emitted to indicate that the execution of the underlying VNF LCM operation occurrence\nhas temporarily failed.\nDue to race conditions, the processing of the actual operation that is to be cancelled may eventually\nstill succeed, in which case the \"operationState\" attribute in the representation of the parent\nresource shall represent the result of that operation, rather than the result of the cancellation.\n","parameters":[{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"202":{"$ref":"#/components/responses/CancelVnfLcmOpOcc.Post.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/subscriptions":{"parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"post":{"description":"Subscribe.\nThe POST method creates a new subscription.\nThis method shall follow the provisions specified in the tables 5.4.18.3.1-1 and 5.4.18.3.1-2\nfor URI query parameters, request and response data structures, and response codes.\nAs the result of successfully executing this method, a new \"Individual subscription\"\nresource as defined in clause 5.4.3 shall have been created. This method shall not trigger any notification.\nCreation of two \"Individual subscription\" resources with the same callback URI and the same filter\ncan result in performance degradation and will provide duplicates of notifications to the NFVO,\nand might make sense only in very rare use cases. Consequently, the VNFM may either allow creating\nan \"Individual subscription\" resource if another \"Individual subscription\" resource with the same\nfilter and callback URI already exists (in which case it shall return the \"201 Created\" response code),\nor may decide to not create a duplicate \"Individual subscription\" resource (in which case it shall\nreturn a \"303 See Other\" response code referencing the existing \"Individual subscription\" resource\nwith the same filter and callback URI).\n","requestBody":{"$ref":"#/components/requestBodies/LccnSubscriptionRequest"},"responses":{"201":{"$ref":"#/components/responses/Subscriptions.Post.201"},"303":{"description":"303 See Other\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}}},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"422":{"description":"422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}},"get":{"description":"Query Subscription Information.\nThe GET method queries the list of active subscriptions of the\nfunctional block that invokes the method. It can be used e.g. for\nresynchronization after error situations.\n","parameters":[{"name":"filter","description":"Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support receiving this parameter as part of the URI query string. The API consumer may supply this parameter. All attribute names that appear in the FmSubscription and in data types referenced from it shall be supported by the NFV-MANO functional entity in the filter expression.\n","in":"query","required":false,"schema":{"type":"string"}},{"name":"nextpage_opaque_marker","description":"Marker to obtain the next page of a paged response. Shall be supported by the NFV-MANO functional entity if the entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource.\n","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/Subscriptions.Get.200"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/subscriptions/{subscriptionId}":{"parameters":[{"$ref":"#/components/parameters/SubscriptionId"},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"get":{"description":"Query Subscription Information.\nThe GET method retrieves information about a subscription by reading an \"Individual subscription\" resource.\nThis method shall follow the provisions specified in the tables 5.4.19.3.2-1 and 5.4.19.3.2-2\nfor URI query parameters, request and response data structures, and response codes.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IndividualSubscription.Get.200"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}},"delete":{"description":"Terminate Subscription.\nThe DELETE method terminates an individual subscription.\nThis method shall follow the provisions specified in the tables 5.4.19.3.5-1 and 5.4.19.3.5-2\nfor URI query parameters, request and response data structures, and response codes.\nAs the result of successfully executing this method, the \"Individual subscription\" resource\nshall not exist any longer. This means that no notifications for that subscription shall be\nsent to the formerly-subscribed API consumer.\n NOTE: Due to race conditions, some notifications might still be received by the formerly-subscribed\n\nAPI consumer for a certain time period after the deletion.\n","responses":{"204":{"$ref":"#/components/responses/IndividualSubscription.Delete.204"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_instances/{vnfInstanceId}/create_snapshot":{"parameters":[{"$ref":"#/components/parameters/VnfInstanceId"}],"post":{"description":"The POST method requests taking a snapshot a VNF instance and populating a\npreviously created VNF snapshot resource (refer to clause 5.4.23.3.1) with\nthe snapshot content.\nThe steps and conditions that apply as the result of successfully executing\nthis method are specified in clause 5.4.1.2.\nIn addition, once the VNFM has successfully completed the underlying VNF LCM\noperation occurrence, it shall reflect the result of the VNF snapshot creation\nby updating the corresponding \"Individual VNF snapshot\" resource indicated by\nthe \"vnfSnapshotInfoId\" attribute of the \"CreateVnfSnapshotRequest\" that is\nincluded in the payload body of the request.\nThis method shall follow the provisions specified in the tables 5.4.21.3.1-1\nand 5.4.21.3.1-2 for URI query parameters, request and response data structures,\nand response codes.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/CreateVnfSnapshotRequest"},"responses":{"202":{"$ref":"#/components/responses/CreateVnfSnapshotTask.Post.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"422":{"description":"422 UNPROCESSABLE ENTITY\nIf the payload body of a request contains syntactically correct data (e.g. well-formed JSON) but the data cannot be processed (e.g. because it fails validation against a schema), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and should include in the \"detail\" attribute more information about the source of the problem.\nThis error response code is only applicable for methods that have a request body.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_instances/{vnfInstanceId}/revert_to_snapshot":{"parameters":[{"$ref":"#/components/parameters/VnfInstanceId"}],"post":{"description":"The POST method requests reverting a VNF instance to a VNF snapshot.\nThis method shall follow the provisions specified in the tables 5.4.22.3.1-1\nand 5.4.22.3.1-2 for URI query parameters, request and response data structures,\nand response codes.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/RevertToVnfSnapshotRequest"},"responses":{"202":{"$ref":"#/components/responses/RevertToVnfSnapshotTask.Post.202"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_snapshots":{"parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"post":{"description":"The POST method creates a new \"Individual VNF snapshot\" resource.\n\nAs a result of successfully executing this method, a new \"Individual VNF snapshot\"\nresource as defined in clause 5.4.24 shall have been created.\n\nThe creation of an \"Individual VNF snapshot\" resource can be performed for two reasons:\n- To create an \"Individual VNF snapshot\" resources that can later be populated by a\nnew VNF snapshot taken from a VNF instance (refer to clause 5.4.21.3.1).\n- To create an \"Individual VNF snapshot\" resource that can be populated with information\ngathered from a VNF snapshot package extraction. In this case, the API consumer indicates\nthe source of the VNF snapshot package in the payload body of the POST request to the\npresent resource.\n\nIn the second case, for a successful execution of the operation, the values in the\n\"VnfSnapshotInfo\" data structure representing the \"Individual VNF snapshot\" resource\nshall be applied as follows:\n- If the request (refer to clause 5.5.2.20) includes the \"vnfSnapshot\" attribute,\nthe VNFM shall apply the \"VnfSnapshotInfo\" with such provided information.\n- If the request (refer to clause 5.5.2.20) does not include the \"vnfSnapshot\"\nattribute, the VNFM shall first fetch the VNF snapshot record from the source VNF\nsnapshot package signalled by the \"vnfSnapshotPkgId\" attribute in the request and\nthen apply the \"VnfSnapshotInfo\" from the fetched VNF snapshot record.\n\nThis method shall follow the provisions specified in the tables 5.4.23.3.1-1\nand 5.4.23.3.1-2 for URI query parameters, request and response data structures,\nand response codes.\n","requestBody":{"$ref":"#/components/requestBodies/CreateVnfSnapshotInfoRequest"},"responses":{"201":{"$ref":"#/components/responses/VnfSnapshots.Post.201"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}},"get":{"description":"The GET method queries information about multiple VNF snapshots. This method shall follow the provisions specified in the tables 5.4.23.3.2-1 and 5.4.23.3.2-2 for URI query parameters, request and response data structures, and response codes.\n","parameters":[{"name":"filter","description":"Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support receiving this parameter as part of the URI query string. The API consumer may supply this parameter. All attribute names that appear in the FmSubscription and in data types referenced from it shall be supported by the NFV-MANO functional entity in the filter expression.\n","in":"query","required":false,"schema":{"type":"string"}},{"name":"all_fields","description":"Include all complex attributes in the response. See clause 5.3 of ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support this parameter.\n","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 for details. The NFV-MANO functional entity should support this parameter.\n","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 for details. The NFV-MANO functional entity should support this parameter.\n","in":"query","required":false,"schema":{"type":"string"}},{"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 for details. The NFV-MANO functional entity shall support this parameter.","required":false,"schema":{"type":"string"}},{"name":"nextpage_opaque_marker","description":"Marker to obtain the next page of a paged response. Shall be supported by the NFV-MANO functional entity if the entity supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource.\n","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/VnfSnapshots.Get.200"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"416":{"description":"416 Range Not Satisfiable\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_snapshots/{vnfSnapshotInfoId}":{"parameters":[{"$ref":"#/components/parameters/VnfSnapshotInfoId"},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"get":{"description":"The GET method retrieves information about a VNF snapshot by reading an \"Individual VNF snapshot\"\nresource.\nThis method shall follow the provisions specified in the tables 5.4.24.3.2-1 and 5.4.24.3.2-2\nfor URI query parameters, request and response data structures, and response codes.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IndividualVnfSnapshot.Get.200"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"416":{"description":"416 Range Not Satisfiable\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}},"patch":{"description":"This method modifies an \"Individual VNF snapshot\" resource.\n\nChanges are applied to the VNF snapshot information managed by the VNFM and are reflected in the\nrepresentation of this resource. The VNFM shall reject the modification request if the \"vnfSnapshot\"\nattribute in the \"VnfSnapshotInfo\" structure representing the \"Individual VNF snapshot\" resource\nis not empty, or the resource is associated to an ongoing VNF snapshot operation (e.g., a VNF\nsnapshot creation process has started).\n\nThis method shall follow the provisions specified in the tables 5.4.24.3.4-1 and 5.4.24.3.4-2\nfor URI query parameters, request and response data structures, and response codes.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"name":"Content-Type","description":"The MIME type of the body of the request. Reference: IETF RFC 7231\n","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/VnfSnapshotInfoModificationRequest"},"responses":{"200":{"$ref":"#/components/responses/IndividualVnfSnapshot.Patch.200"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"412":{"description":"412 PRECONDITION FAILED\nError: 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"416":{"description":"416 Range Not Satisfiable\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}},"delete":{"description":"This method deletes an \"Individual VNF snapshot\" resource and the associated VNF snapshot\ninformation managed by the VNFM, and any resource associated to the VNF snapshot managed\nby the VIM.\nAs the result of successfully executing this method, the \"Individual VNF snapshot\" resource\nshall not exist any longer.\nThis method shall follow the provisions specified in the tables 5.4.24.3.5-1 and 5.4.24.3.5-2\nfor URI query parameters, request and response data structures, and response codes.\n","responses":{"204":{"$ref":"#/components/responses/IndividualVnfSnapshot.Delete.204"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"412":{"description":"412 PRECONDITION FAILED\nError: 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}},"/vnf_snapshots/{vnfSnapshotInfoId}/vnf_state_snapshot":{"parameters":[{"$ref":"#/components/parameters/VnfSnapshotInfoId"},{"name":"Authorization","description":"The authorization token for the request. Reference: IETF RFC 7235.\n","in":"header","required":false,"schema":{"type":"string"}},{"name":"Version","description":"Version of the API requested to use when responding to this request.\n","in":"header","required":true,"schema":{"type":"string"}}],"get":{"description":"The GET method fetches the content of the VNF state snapshot.\nThis method shall follow the provisions specified in the tables 5.4.25.3.2-1 and 5.4.25.3.2-2\nfor URI query parameters, request and response data structures, and response codes.\n","parameters":[{"name":"Accept","description":"Content-Types that are acceptable for the response. Reference: IETF RFC 7231.\n","in":"header","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/Range"}],"responses":{"200":{"$ref":"#/components/responses/IndividualVnfSnapshotState.Get.200"},"206":{"$ref":"#/components/responses/IndividualVnfSnapshotState.Get.206"},"400":{"description":"400 BAD REQUEST\n400 code can be returned in the following specified cases, the specific cause has to be proper specified in the \"ProblemDetails\" structure to be returned.\nIf 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.\nIf 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.\nIf there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\nIf the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\nThe 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"401":{"description":"401 UNAUTHORIZED\nIf the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"403":{"description":"403 FORBIDDEN\nIf the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided. It should include in the \"detail\" attribute information about the source of the problem, and may indicate how to solve it.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"404":{"description":"404 NOT FOUND\nIf the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The \"ProblemDetails\" structure may be provided, including in the \"detail\" attribute information about the source of the problem, e.g. a wrong resource URI variable.\nThis 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"405":{"description":"405 METHOD NOT ALLOWED\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"406":{"description":"406 NOT ACCEPTABLE\nIf the \"Accept\" HTTP header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"409":{"description":"409 CONFLICT\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"416":{"description":"416 Range Not Satisfiable\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"500":{"description":"500 INTERNAL SERVER ERROR\nIf there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code (\"catch all error\"), the API producer shall respond with this response code. The \"ProblemDetails\" structure shall be provided, and shall include in the \"detail\" attribute more information about the source of the problem.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"503":{"description":"503 SERVICE UNAVAILABLE\nIf the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the \"Retry-After\" HTTP header and for the alternative to refuse the connection. The \"ProblemDetails\" structure may be omitted.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}},"504":{"description":"504 GATEWAY TIMEOUT\nIf 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.\n","headers":{"Content-Type":{"description":"The MIME type of the body of the response.","schema":{"type":"string","maximum":1,"minimum":1}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.\n","schema":{"type":"string","maximum":1,"minimum":0}},"Version":{"description":"Version of the API used in the response.\n","schema":{"type":"string","maximum":1,"minimum":1}}},"content":{"application/json":{"schema":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}}}}}}}}},"components":{"parameters":{"VnfInstanceId":{"name":"vnfInstanceId","in":"path","description":"Identifier of the VNF instance for the VNF snapshot to be reverted to. This identifier can be retrieved from the resource\nreferenced by the \"Location\" HTTP header in the response to a POST request creating a new \"Individual VNF instance\" resource.\nIt can also be retrieved from the \"id\" attribute in the payload body of that response.\n","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\nreferenced by the \"Location\" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation.\nIt can also be retrieved from the \"vnfLcmOpOccId\" attribute in the VnfLcmOperationOccurrenceNotification.\n","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\"\nHTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from\nthe \"id\" attribute in the payload body of that response.\n","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\nfrom the resource referenced by the \"Location\" HTTP header in the response to a POST request\ncreating a new VNF snapshot resource. It can also be retrieved from the \"id\" attribute in\nthe payload body of that response.\n","required":true,"style":"simple","explode":false,"schema":{"type":"string"}},"Range":{"name":"Range","in":"header","description":"The request may contain a \"Range\" HTTP header to obtain single\nrange of bytes from a VNF state snapshot file. This can be used to\ncontinue an aborted transmission.\nIf the \"Range\" header is present in the request and the VNFM\ndoes not support responding to range requests with a 206\nresponse, it shall return a 200 OK response instead.\n","schema":{"type":"string"}}},"requestBodies":{"CreateVnfRequest":{"description":"The VNF creation parameters","content":{"application/json":{"schema":{"type":"object","required":["vnfdId"],"properties":{"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceName":{"description":"Human-readable name of the VNF instance to be created.\n","type":"string"},"vnfInstanceDescription":{"description":"Human-readable description of the VNF instance to be created.\n","type":"string"},"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.\n","type":"object"}}}}},"required":true},"VnfInfoModificationRequest":{"description":"Parameters for the VNF modification, as defined in clause 5.5.2.12.\n","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.\n","type":"object","properties":{"vnfInstanceName":{"description":"A string defined in IETF RFC 8259.\n","type":"string"},"vnfInstanceDescription":{"description":"A string defined in IETF RFC 8259.\n","type":"string"},"vnfPkgId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfConfigurableProperties":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"vimConnectionInfo":{"description":"Modifications of the \"vimConnectionInfo\" attribute. If present, these modifications shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396 ).\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}}}}},"required":true},"InstantiateVnfRequest":{"description":"Parameters for the VNF instantiation.","content":{"application/json":{"schema":{"type":"object","required":["flavourId"],"properties":{"flavourId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"instantiationLevelId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"extVirtualLinks":{"description":"Information about external VLs to connect the VNF to.\n","type":"array","items":{"description":"This type represents an external VL.\n","type":"object","required":["id","resourceId","extCps"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"extCps":{"description":"External CPs of the VNF to be connected to this external VL.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}},"extLinkPorts":{"description":"Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL unless the extCp exposes a VIP CP and a link port is not needed for it based on the conditions defined below. A link port is not needed for an external CP instance that exposes a VIP CP in the following cases: 1\tFor a VIP CP directly exposed as extCP:\n 1.1\tNo dedicated IP address is allocated as VIP address, as indicated in the VNFD.\n 1.2\tA dedicated IP address is allocated as VIP address, but the NFVO indicates that no\n port is needed (createExtLinkPort in VnfExtCpConfig set to false).\n2\tFor a VIP CP exposed as extCP via a floating IP address:\n 2.1\tNo dedicated IP address is allocated as VIP address, as indicated in the VNFD, and\n the VNFC CP associated to the VIP CP is also exposed via a floating IP address.\n","type":"array","items":{"description":"This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}},"extManagedVirtualLinks":{"description":"Information about internal VLs that are managed by the NFVO.\nNOTES: 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.\nIt is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 4.4.1.12).\n","type":"array","items":{"type":"object","required":["id","vnfVirtualLinkDescId","resourceId"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vnfLinkPort":{"description":"Externally provided link ports to be used to connect VNFC connection points to this externally-managed VL on this network resource. If this attribute is not present, the VNFM shall create the link ports on the externally-managed VL.\n","type":"array","items":{"description":"This type represents an externally provided link port to be used to connect a VNFC connection point to an exernally managed VL.\n","type":"object","required":["vnfLinkPortId","resourceHandle"],"properties":{"vnfLinkPortId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}}}}},"extManagedMultisiteVirtualLinkId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}}}},"vimConnectionInfo":{"description":"Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this attribute to the \"vimConnectionInfo\" attribute of \"VnfInstance\" according to the rules of JSON Merge Patch (see IETF RFC 7396).\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"localizationLanguage":{"description":"A string defined in IETF RFC 8259.\n","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.\n","type":"object"},"extensions":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","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.\n","type":"object"}}}}},"required":true},"ScaleVnfRequest":{"description":"Parameters for the scale VNF operation.","content":{"application/json":{"schema":{"type":"object","required":["type","aspectId"],"properties":{"type":{"description":"Indicates the type of the scale operation requested. Permitted values: * SCALE_OUT: adding additional VNFC instances to the VNF to increase capacity\n* SCALE_IN: removing VNFC instances from the VNF in order to release unused capacity.\n","type":"string","enum":["SCALE_OUT","SCALE_IN"]},"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","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.\n","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.\n","type":"object"}}}}},"required":true},"ScaleVnfToLevelRequest":{"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.\n","type":"object","anyOf":[{"oneOf":[{"required":["instantiationLevelId"]},{"required":["scaleInfo"]}]}],"properties":{"instantiationLevelId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"scaleInfo":{"description":"For each scaling aspect of the current deployment flavour, indicates the target scale level to which the VNF is to be scaled. Either the instantiationLevelId attribute or the scaleInfo attribute shall be included.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"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.\n","type":"object"}}}}},"required":true},"ChangeVnfFlavourRequest":{"description":"Parameters for the Change VNF Flavour operation.","content":{"application/json":{"schema":{"description":"This type represents request parameters for the \"Change VNF flavour\" operation.\n","type":"object","required":["newFlavourId"],"properties":{"newFlavourId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"instantiationLevelId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"extVirtualLinks":{"description":"Information about external VLs to connect the VNF to. Entries in the list of external VLs that are unchanged need not be supplied as part of this request.\n","type":"array","items":{"description":"This type represents an external VL.\n","type":"object","required":["id","resourceId","extCps"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"extCps":{"description":"External CPs of the VNF to be connected to this external VL.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}},"extLinkPorts":{"description":"Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL unless the extCp exposes a VIP CP and a link port is not needed for it based on the conditions defined below. A link port is not needed for an external CP instance that exposes a VIP CP in the following cases: 1\tFor a VIP CP directly exposed as extCP:\n 1.1\tNo dedicated IP address is allocated as VIP address, as indicated in the VNFD.\n 1.2\tA dedicated IP address is allocated as VIP address, but the NFVO indicates that no\n port is needed (createExtLinkPort in VnfExtCpConfig set to false).\n2\tFor a VIP CP exposed as extCP via a floating IP address:\n 2.1\tNo dedicated IP address is allocated as VIP address, as indicated in the VNFD, and\n the VNFC CP associated to the VIP CP is also exposed via a floating IP address.\n","type":"array","items":{"description":"This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}},"extManagedVirtualLinks":{"description":"Information about internal VLs that are managed by the NFVO.\nNOTES: 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.\nIt is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 4.4.1.12).\n","type":"array","items":{"type":"object","required":["id","vnfVirtualLinkDescId","resourceId"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vnfLinkPort":{"description":"Externally provided link ports to be used to connect VNFC connection points to this externally-managed VL on this network resource. If this attribute is not present, the VNFM shall create the link ports on the externally-managed VL.\n","type":"array","items":{"description":"This type represents an externally provided link port to be used to connect a VNFC connection point to an exernally managed VL.\n","type":"object","required":["vnfLinkPortId","resourceHandle"],"properties":{"vnfLinkPortId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}}}}},"extManagedMultisiteVirtualLinkId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}}}},"vimConnectionInfo":{"description":"Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external / externally-managed virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this attribute to the \"vimConnectionInfo\" attribute of \"VnfInstance\" according to the rules of JSON Merge Patch (see IETF RFC 7396).\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"additionalParams":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","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.\n","type":"object"}}}}},"required":true},"TerminateVnfRequest":{"description":"Parameters for the VNF termination.","content":{"application/json":{"schema":{"type":"object","required":["terminationType"],"properties":{"terminationType":{"description":"Indicates whether forceful or graceful termination is requested. Permitted values: * FORCEFUL: The VNFM will shut down the VNF and release the resources immediately after accepting the request.\n* 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.\n","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.\n","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.\n","type":"object"}}}}},"required":true},"HealVnfRequest":{"description":"Parameters for the Heal VNF operation.","content":{"application/json":{"schema":{"type":"object","properties":{"cause":{"description":"A string defined in IETF RFC 8259.\n","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.\n","type":"object"}}}}},"required":true},"OperateVnfRequest":{"description":"Parameters for the Operate VNF operation.","content":{"application/json":{"schema":{"description":"This type represents request parameters for the \"Operate VNF\" operation.\n","type":"object","required":["changeStateTo"],"properties":{"changeStateTo":{"description":"STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n","type":"string","enum":["STARTED","STOPPED"]},"stopType":{"description":"* FORCEFUL: The VNFM will stop the VNF instance immediately after accepting the request.\n* GRACEFUL: The VNFM instance will first arrange to take the VNF out of service after accepting the request. Once that operation is successful \n or once the timer value specified in the \"gracefulStopTimeout\" attribute\n expires, the VNFM will stop the VNF instance.\n","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. The “stopType” and “gracefulStopTimeout” attributes shall be absent, when the “changeStateTo” attribute is equal to “STARTED”. The “gracefulStopTimeout” attribute shall be present, when the “changeStateTo” is equal to “STOPPED” and the “stopType” attribute is equal to “GRACEFUL”. The “gracefulStopTimeout” attribute shall be absent, when the “changeStateTo” attribute is equal to “STOPPED” and the “stopType” attribute is equal to “FORCEFUL”. The request shall be treated as if the “stopType” attribute was set to ”FORCEFUL”, when the “changeStateTo” attribute is equal to “STOPPED” and the “stopType” attribute is absent.\n","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.\n","type":"object"}}}}},"required":true},"ChangeExtVnfConnectivityRequest":{"description":"Parameters for the Change external VNF connectivity operation.\n","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.\n","type":"object","required":["extVirtualLinks"],"properties":{"extVirtualLinks":{"description":"Information about external VLs to change (e.g. connect the VNF to). Entries in the list of external VLs that are unchanged need not be supplied as part of this request.\n","type":"array","items":{"description":"This type represents an external VL.\n","type":"object","required":["id","resourceId","extCps"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"extCps":{"description":"External CPs of the VNF to be connected to this external VL.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}},"extLinkPorts":{"description":"Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL unless the extCp exposes a VIP CP and a link port is not needed for it based on the conditions defined below. A link port is not needed for an external CP instance that exposes a VIP CP in the following cases: 1\tFor a VIP CP directly exposed as extCP:\n 1.1\tNo dedicated IP address is allocated as VIP address, as indicated in the VNFD.\n 1.2\tA dedicated IP address is allocated as VIP address, but the NFVO indicates that no\n port is needed (createExtLinkPort in VnfExtCpConfig set to false).\n2\tFor a VIP CP exposed as extCP via a floating IP address:\n 2.1\tNo dedicated IP address is allocated as VIP address, as indicated in the VNFD, and\n the VNFC CP associated to the VIP CP is also exposed via a floating IP address.\n","type":"array","items":{"description":"This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}},"vimConnectionInfo":{"description":"Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this attribute to the \"vimConnectionInfo\" attribute of \"VnfInstance\" according to the rules of JSON Merge Patch (see IETF RFC 7396).\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"additionalParams":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}},"required":true},"ChangeCurrentVnfPkgRequest":{"description":"Parameters for the Change current VNF package operation, as defined in clause 5.5.2.11a.\n","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.\n","type":"object","required":["vnfdId"],"properties":{"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"extVirtualLinks":{"description":"Information about external VLs to connect the VNF to. Entries in the list that are unchanged need not be supplied as part of this request.\n","type":"array","items":{"description":"This type represents an external VL.\n","type":"object","required":["id","resourceId","extCps"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"extCps":{"description":"External CPs of the VNF to be connected to this external VL.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}},"extLinkPorts":{"description":"Externally provided link ports to be used to connect external connection points to this external VL. If this attribute is not present, the VNFM shall create the link ports on the external VL unless the extCp exposes a VIP CP and a link port is not needed for it based on the conditions defined below. A link port is not needed for an external CP instance that exposes a VIP CP in the following cases: 1\tFor a VIP CP directly exposed as extCP:\n 1.1\tNo dedicated IP address is allocated as VIP address, as indicated in the VNFD.\n 1.2\tA dedicated IP address is allocated as VIP address, but the NFVO indicates that no\n port is needed (createExtLinkPort in VnfExtCpConfig set to false).\n2\tFor a VIP CP exposed as extCP via a floating IP address:\n 2.1\tNo dedicated IP address is allocated as VIP address, as indicated in the VNFD, and\n the VNFC CP associated to the VIP CP is also exposed via a floating IP address.\n","type":"array","items":{"description":"This type represents an externally provided link port to be used to connect an external connection point to an external VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}},"extManagedVirtualLinks":{"description":"Information about internal VLs that are managed by the NFVO.\nNOTES: The indication of externally-managed internal VLs is needed in case networks have been pre-configured for use with certain VNFs, for instance to ensure that these networks have certain properties such as security or acceleration features, or to address particular network topologies. The present document assumes that externally-managed internal VLs are managed by the NFVO and created towards the VIM. It is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 4.4.1.12).\n","type":"array","items":{"type":"object","required":["id","vnfVirtualLinkDescId","resourceId"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vnfLinkPort":{"description":"Externally provided link ports to be used to connect VNFC connection points to this externally-managed VL on this network resource. If this attribute is not present, the VNFM shall create the link ports on the externally-managed VL.\n","type":"array","items":{"description":"This type represents an externally provided link port to be used to connect a VNFC connection point to an exernally managed VL.\n","type":"object","required":["vnfLinkPortId","resourceHandle"],"properties":{"vnfLinkPortId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}}}}},"extManagedMultisiteVirtualLinkId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}}}},"vimConnectionInfo":{"description":"Information about VIM connections to be used for managing the resources for the VNF instance, or refer to external virtual links. This attribute shall only be supported and may be present if VNF-related resource management in direct mode is applicable. The VNFM shall apply the content of this attribute to the \"vimConnectionInfo\" attribute of \"VnfInstance\" according to the rules of JSON Merge Patch (see IETF RFC 7396).\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"additionalParams":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","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.\n","type":"object"}}}}},"required":true},"LccnSubscriptionRequest":{"description":"Details of the subscription to be created.\n","content":{"application/json":{"schema":{"description":"This type represents a subscription request related to notifications about VNF lifecycle changes.\n","type":"object","required":["callbackUri"],"properties":{"filter":{"description":"This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n","type":"object","properties":{"vnfInstanceSubscriptionFilter":{"description":"This type represents subscription filter criteria to match VNF instances.\n","type":"object","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. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfProductsFromProviders":{"description":"If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"object","required":["vnfProvider"],"properties":{"vnfProvider":{"description":"Name of the VNF provider to match.\n","type":"string"},"vnfProducts":{"description":"If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfProductName"],"properties":{"vnfProductName":{"description":"Name of the VNF product to match.\n","type":"string"},"versions":{"description":"If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfSoftwareVersion"],"properties":{"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersions":{"description":"If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n","type":"array","items":{"description":"A version.\n","type":"string"}}}}}}}}}}},"vnfInstanceIds":{"description":"If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfInstanceNames":{"description":"If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"string"}}}},"notificationTypes":{"description":"Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n","type":"array","items":{"type":"string","enum":["VnfLcmOperationOccurrenceNotification","VnfIdentifierCreationNotification","VnfIdentifierDeletionNotification"]}},"operationTypes":{"description":"Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n","type":"array","items":{"description":"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. It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | 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.\n","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.\n","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.\n","type":"string","enum":["STARTING","PROCESSING","COMPLETED","FAILED_TEMP","FAILED","ROLLING_BACK","ROLLED_BACK"]}}}},"callbackUri":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"},"authentication":{"type":"object","required":["authType"],"properties":{"authType":{"description":"Defines the types of Authentication / Authorization which the API consumer is willing to accept when receiving a notification. Permitted values: * BASIC: In every HTTP request to the notification endpoint, use HTTP Basic authentication with the client credentials. \n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n","type":"array","items":{"type":"string","enum":["BASIC","OAUTH2_CLIENT_CREDENTIALS","TLS_CERT"]}},"paramsBasic":{"description":"Parameters for authentication/authorization using BASIC. Shall be present if authType is \"BASIC\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n","type":"object","properties":{"userName":{"description":"Username to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n","type":"string"},"password":{"description":"Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n","type":"string"}}},"paramsOauth2ClientCredentials":{"description":"Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is \"OAUTH2_CLIENT_CREDENTIALS\" and the contained information has not been provisioned out of band. Shall be absent otherwise.\n","type":"object","properties":{"clientId":{"description":"Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n","type":"string"},"clientPassword":{"description":"Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall be present if it has not been provisioned out of band. The clientId and clientPassword passed in a subscription shall not be the same as the clientId and clientPassword that are used to obtain authorization for API requests. Client credentials may differ between subscriptions. The value of clientPassword should be generated by a random process.\n","type":"string"},"tokenEndpoint":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}},"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.\n","type":"string","enum":["FULL","SHORT"]}}}}},"required":true},"CreateVnfSnapshotRequest":{"description":"Parameters for the \"Create VNF Snapshot\" operation, as defined in clause 5.5.2.21.\n","content":{"application/json":{"schema":{"description":"This type represents request parameters for the \"Create VNF Snapshot\" LCM operation which takes a snapshot of a VNF instance and populates a previously-created \"Individual VNF snapshot\" resource with the content of the snapshot. It shall comply with the provisions defined in table 5.5.2.21-1.\n","type":"object","required":["vnfSnapshotResId"],"properties":{"vnfSnapshotInfoId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","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.\n","type":"object"}}}}},"required":true},"RevertToVnfSnapshotRequest":{"description":"Parameters for the Revert to VNF snapshot operation, as defined in clause 5.5.2.26.\n","content":{"application/json":{"schema":{"description":"This type represents request parameters for the \"Revert to VNF Snapshot\" operation.\n","type":"object","required":["vnfSnapshotInfoId"],"properties":{"vnfSnapshotInfoId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","type":"object"}}}}},"required":true},"CreateVnfSnapshotInfoRequest":{"description":"The VNF snapshot resource creation parameters, as defined in clause 5.5.2.20.\n","content":{"application/json":{"schema":{"description":"This type represents request parameters for the creation of an \"Individual VNF snapshot\" resource which can be\npopulated with content obtained by invoking the \"Create VNF snapshot\" LCM operation or extracted from a\nVNF snapshot package. It shall comply with the provisions defined in table 5.5.2.20-1.\n","type":"object","properties":{"vnfSnapshotPkgId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfSnapshot":{"description":"This type represents a VNF snapshot. It shall comply with the provisions defined in table 5.5.2.23-1.\n","type":"object","required":["id","vnfInstanceId","triggeredAt","vnfdId","vnfInfo","vnfcSnapshots"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"creationStartedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"creationFinishedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstance":{"description":"This type represents a VNF instance.\n","type":"object","required":["id","vnfdId","vnfProvider","vnfProductName","vnfSoftwareVersion","vnfdVersion","instantiationState"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceName":{"description":"Name of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfInstanceDescription":{"description":"Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"Provider of the VNF and the VNFD. The value is copied from the VNFD.\n","type":"string"},"vnfProductName":{"description":"Name to identify the VNF Product. The value is copied from the VNFD.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"},"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.\n","type":"object"},"vimConnectionInfo":{"description":"Information about VIM connections to be used for managing the resources for the VNF instance. The keys of the map, each of which identifies information about a particular VIM connection, are managed by the NFVO and referenced from other data structures via the \"vimConnectionId\" attribute. This attribute shall only be supported and present if VNF-related resource management in direct mode is pplicable. This attribute can be modified with the PATCH method.\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"instantiationState":{"description":"The instantiation state of the VNF.\n","type":"string","enum":["NOT_INSTANTIATED","INSTANTIATED"]},"instantiatedVnfInfo":{"description":"Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n","type":"object","required":["flavourId","vnfState"],"properties":{"flavourId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfState":{"description":"STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n","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.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"maxScaleLevels":{"description":"Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"extCpInfo":{"description":"Information about the external CPs exposed by the VNF instance. 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.\n","type":"array","minItems":1,"items":{"description":"This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n","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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"extLinkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"associatedVnfcCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVipCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVnfVirtualLinkId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","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.\n","type":"array","minItems":1,"items":{"description":"This type provides information related to virtual IP (VIP) CP.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"associatedVnfcCpIds":{"description":"Identifiers of the VnfcCps that share the virtual IP addresses allocated to the VIP CP instance. It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"Metadata about this VIP CP.\n","type":"array","items":{"description":"This 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.\n","type":"object"}}}}},"extVirtualLinkInfo":{"description":"Information about the external VLs the VNF instance is connected to.\n","type":"array","items":{"type":"object","required":["id","resourceHandle","currentVnfExtCpData"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"extLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"description":"This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"secondaryCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","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. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}}}}},"extManagedVirtualLinkInfo":{"description":"Information about the externally-managed internal VLs of the VNF instance.\nNOTE: 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.3). 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.\n","type":"array","items":{"type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"vnfLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"extManagedMultisiteVirtualLinkId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}}}},"monitoringParameters":{"description":"Active monitoring parameters.\n","type":"array","items":{"type":"object","required":["id","performanceMetric"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"name":{"description":"Human readable name of the monitoring parameter, as defined in the VNFD.\n","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.\n","type":"string"}}}},"localizationLanguage":{"description":"Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n","type":"string"},"vnfcResourceInfo":{"description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n","type":"array","items":{"description":"This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n","type":"object","required":["id","vduId","computeResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"storageResourceIds":{"description":"References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfcCpInfo":{"description":"All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","cpdId"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP. 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.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"parentCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualLinkResourceInfo":{"description":"Information about the virtualised network resources used by the VLs of the VNF instance. 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.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n","type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfLinkPorts":{"description":"Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualStorageResourceInfo":{"description":"Information on the virtualised storage resource(s) used as storage for the VNF instance.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n","type":"object","required":["id","virtualStorageDescId","storageResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"virtualStorageDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension in the VNFD contains information on whether its presence is optional or required, and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension attributes that are not declared in the VNFD with a \"422 Unprocessable entity\" error response as defined in clause 6.4 of ETSI GS NFV-SOL 013. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. These attributes can be initialized with default values from the VNFD. These attributes can be modified with values passed in the request structures of certain LCM operations, such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method. In addition, the provisions in clause 5.7 shall apply.\nNOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defineddeclared initial value shall not be created, in order to be consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.\n"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"indicators":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"instantiate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"terminate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scale":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scaleToLevel":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeFlavour":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"heal":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"operate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeExtConn":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"createSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"revertToSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}},"vnfcSnapshots":{"description":"Information about VNFC snapshots constituting this VNF snapshot.\n","type":"array","items":{"description":"This type represents a VNFC snapshot.\n","type":"object","required":["id","vnfcInstanceId","triggeredAt","vnfcResourceId"],"properties":{"id":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"vnfcInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"creationStartedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"creationFinishedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfcResourceInfoId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"storageSnapshotResources":{"description":"Mapping of the storage resources associated to the VNFC with the storage snapshot resources.\n","type":"array","items":{"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.\n","type":"string"},"storageSnapshotResource":{"description":"This 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.\n","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.\n","type":"object"}}}},"vnfStateSnapshotInfo":{"description":"This type represents information about VNF-specific state snapshot data.\n","type":"object","required":["checksum","isEncrypted"],"properties":{"checksum":{"description":"Checksum of the VNF state snapshot file. Hash algorithms applicable to VNF snapshot package artifacts are defined in ETSI GS NFV-SOL 010. $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/Checksum\"\n"},"isEncrypted":{"description":"Reflects whether the VNF state snapshot content is encrypted (true) or not (false). $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/Boolean\"\n"},"metadata":{"description":"The metadata with additional information such as content type, size, creation date, etc. $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs\"\n"}}},"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.\n","type":"object"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"vnfStateSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}}},"required":true},"VnfSnapshotInfoModificationRequest":{"description":"Parameters for the VNF snapshot information modification, as defined in clause 5.5.2.24.\n","content":{"application/json":{"schema":{"description":"This type represents attribute modifications for an \"Individual VNF snapshot\" resource, i.e. modifications\nto a resource representation based on the \"VnfSnapshotInfo\" data type. The attributes of \"VnfSnapshotInfo\"\nthat can be modified according to the provisions in clause 5.5.2.22 are included in the\n\"VnfSnapshotInfoModificationRequest\" data type. The \"VnfSnapshotInfoModificationRequest\" data type shall\ncomply with the provisions defined in table 5.5.2.24-1.\n","type":"object","properties":{"vnfSnapshotPkgId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfSnapshot":{"description":"This type represents a VNF snapshot. It shall comply with the provisions defined in table 5.5.2.23-1.\n","type":"object","required":["id","vnfInstanceId","triggeredAt","vnfdId","vnfInfo","vnfcSnapshots"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"creationStartedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"creationFinishedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstance":{"description":"This type represents a VNF instance.\n","type":"object","required":["id","vnfdId","vnfProvider","vnfProductName","vnfSoftwareVersion","vnfdVersion","instantiationState"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceName":{"description":"Name of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfInstanceDescription":{"description":"Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"Provider of the VNF and the VNFD. The value is copied from the VNFD.\n","type":"string"},"vnfProductName":{"description":"Name to identify the VNF Product. The value is copied from the VNFD.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"},"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.\n","type":"object"},"vimConnectionInfo":{"description":"Information about VIM connections to be used for managing the resources for the VNF instance. The keys of the map, each of which identifies information about a particular VIM connection, are managed by the NFVO and referenced from other data structures via the \"vimConnectionId\" attribute. This attribute shall only be supported and present if VNF-related resource management in direct mode is pplicable. This attribute can be modified with the PATCH method.\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"instantiationState":{"description":"The instantiation state of the VNF.\n","type":"string","enum":["NOT_INSTANTIATED","INSTANTIATED"]},"instantiatedVnfInfo":{"description":"Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n","type":"object","required":["flavourId","vnfState"],"properties":{"flavourId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfState":{"description":"STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n","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.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"maxScaleLevels":{"description":"Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"extCpInfo":{"description":"Information about the external CPs exposed by the VNF instance. 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.\n","type":"array","minItems":1,"items":{"description":"This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n","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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"extLinkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"associatedVnfcCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVipCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVnfVirtualLinkId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","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.\n","type":"array","minItems":1,"items":{"description":"This type provides information related to virtual IP (VIP) CP.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"associatedVnfcCpIds":{"description":"Identifiers of the VnfcCps that share the virtual IP addresses allocated to the VIP CP instance. It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"Metadata about this VIP CP.\n","type":"array","items":{"description":"This 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.\n","type":"object"}}}}},"extVirtualLinkInfo":{"description":"Information about the external VLs the VNF instance is connected to.\n","type":"array","items":{"type":"object","required":["id","resourceHandle","currentVnfExtCpData"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"extLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"description":"This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"secondaryCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","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. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}}}}},"extManagedVirtualLinkInfo":{"description":"Information about the externally-managed internal VLs of the VNF instance.\nNOTE: 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.3). 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.\n","type":"array","items":{"type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"vnfLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"extManagedMultisiteVirtualLinkId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}}}},"monitoringParameters":{"description":"Active monitoring parameters.\n","type":"array","items":{"type":"object","required":["id","performanceMetric"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"name":{"description":"Human readable name of the monitoring parameter, as defined in the VNFD.\n","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.\n","type":"string"}}}},"localizationLanguage":{"description":"Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n","type":"string"},"vnfcResourceInfo":{"description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n","type":"array","items":{"description":"This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n","type":"object","required":["id","vduId","computeResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"storageResourceIds":{"description":"References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfcCpInfo":{"description":"All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","cpdId"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP. 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.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"parentCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualLinkResourceInfo":{"description":"Information about the virtualised network resources used by the VLs of the VNF instance. 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.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n","type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfLinkPorts":{"description":"Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualStorageResourceInfo":{"description":"Information on the virtualised storage resource(s) used as storage for the VNF instance.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n","type":"object","required":["id","virtualStorageDescId","storageResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"virtualStorageDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension in the VNFD contains information on whether its presence is optional or required, and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension attributes that are not declared in the VNFD with a \"422 Unprocessable entity\" error response as defined in clause 6.4 of ETSI GS NFV-SOL 013. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. These attributes can be initialized with default values from the VNFD. These attributes can be modified with values passed in the request structures of certain LCM operations, such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method. In addition, the provisions in clause 5.7 shall apply.\nNOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defineddeclared initial value shall not be created, in order to be consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.\n"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"indicators":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"instantiate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"terminate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scale":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scaleToLevel":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeFlavour":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"heal":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"operate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeExtConn":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"createSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"revertToSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}},"vnfcSnapshots":{"description":"Information about VNFC snapshots constituting this VNF snapshot.\n","type":"array","items":{"description":"This type represents a VNFC snapshot.\n","type":"object","required":["id","vnfcInstanceId","triggeredAt","vnfcResourceId"],"properties":{"id":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"vnfcInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"creationStartedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"creationFinishedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfcResourceInfoId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"storageSnapshotResources":{"description":"Mapping of the storage resources associated to the VNFC with the storage snapshot resources.\n","type":"array","items":{"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.\n","type":"string"},"storageSnapshotResource":{"description":"This 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.\n","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.\n","type":"object"}}}},"vnfStateSnapshotInfo":{"description":"This type represents information about VNF-specific state snapshot data.\n","type":"object","required":["checksum","isEncrypted"],"properties":{"checksum":{"description":"Checksum of the VNF state snapshot file. Hash algorithms applicable to VNF snapshot package artifacts are defined in ETSI GS NFV-SOL 010. $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/Checksum\"\n"},"isEncrypted":{"description":"Reflects whether the VNF state snapshot content is encrypted (true) or not (false). $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/Boolean\"\n"},"metadata":{"description":"The metadata with additional information such as content type, size, creation date, etc. $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs\"\n"}}},"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.\n","type":"object"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"vnfStateSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}}},"required":true}},"responses":{"VNFInstances.Post.201":{"description":"201 CREATED\n\nShall be returned when a new \"Individual VNF instance\" resource and\nthe associated VNF instance identifier washas been created successfully.\nThe response body shall contain a representation of the created VNF instance,\nas defined in clause 5.5.2.2.\nThe HTTP response shall include a \"Location\" HTTP header that contains the resource\nURI of the created VNF instance.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","style":"simple","explode":false,"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"description":"This type represents a VNF instance.\n","type":"object","required":["id","vnfdId","vnfProvider","vnfProductName","vnfSoftwareVersion","vnfdVersion","instantiationState"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceName":{"description":"Name of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfInstanceDescription":{"description":"Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"Provider of the VNF and the VNFD. The value is copied from the VNFD.\n","type":"string"},"vnfProductName":{"description":"Name to identify the VNF Product. The value is copied from the VNFD.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"},"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.\n","type":"object"},"vimConnectionInfo":{"description":"Information about VIM connections to be used for managing the resources for the VNF instance. The keys of the map, each of which identifies information about a particular VIM connection, are managed by the NFVO and referenced from other data structures via the \"vimConnectionId\" attribute. This attribute shall only be supported and present if VNF-related resource management in direct mode is pplicable. This attribute can be modified with the PATCH method.\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"instantiationState":{"description":"The instantiation state of the VNF.\n","type":"string","enum":["NOT_INSTANTIATED","INSTANTIATED"]},"instantiatedVnfInfo":{"description":"Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n","type":"object","required":["flavourId","vnfState"],"properties":{"flavourId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfState":{"description":"STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n","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.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"maxScaleLevels":{"description":"Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"extCpInfo":{"description":"Information about the external CPs exposed by the VNF instance. 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.\n","type":"array","minItems":1,"items":{"description":"This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n","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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"extLinkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"associatedVnfcCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVipCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVnfVirtualLinkId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","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.\n","type":"array","minItems":1,"items":{"description":"This type provides information related to virtual IP (VIP) CP.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"associatedVnfcCpIds":{"description":"Identifiers of the VnfcCps that share the virtual IP addresses allocated to the VIP CP instance. It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"Metadata about this VIP CP.\n","type":"array","items":{"description":"This 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.\n","type":"object"}}}}},"extVirtualLinkInfo":{"description":"Information about the external VLs the VNF instance is connected to.\n","type":"array","items":{"type":"object","required":["id","resourceHandle","currentVnfExtCpData"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"extLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"description":"This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"secondaryCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","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. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}}}}},"extManagedVirtualLinkInfo":{"description":"Information about the externally-managed internal VLs of the VNF instance.\nNOTE: 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.3). 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.\n","type":"array","items":{"type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"vnfLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"extManagedMultisiteVirtualLinkId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}}}},"monitoringParameters":{"description":"Active monitoring parameters.\n","type":"array","items":{"type":"object","required":["id","performanceMetric"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"name":{"description":"Human readable name of the monitoring parameter, as defined in the VNFD.\n","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.\n","type":"string"}}}},"localizationLanguage":{"description":"Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n","type":"string"},"vnfcResourceInfo":{"description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n","type":"array","items":{"description":"This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n","type":"object","required":["id","vduId","computeResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"storageResourceIds":{"description":"References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfcCpInfo":{"description":"All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","cpdId"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP. 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.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"parentCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualLinkResourceInfo":{"description":"Information about the virtualised network resources used by the VLs of the VNF instance. 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.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n","type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfLinkPorts":{"description":"Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualStorageResourceInfo":{"description":"Information on the virtualised storage resource(s) used as storage for the VNF instance.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n","type":"object","required":["id","virtualStorageDescId","storageResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"virtualStorageDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension in the VNFD contains information on whether its presence is optional or required, and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension attributes that are not declared in the VNFD with a \"422 Unprocessable entity\" error response as defined in clause 6.4 of ETSI GS NFV-SOL 013. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. These attributes can be initialized with default values from the VNFD. These attributes can be modified with values passed in the request structures of certain LCM operations, such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method. In addition, the provisions in clause 5.7 shall apply.\nNOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defineddeclared initial value shall not be created, in order to be consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.\n"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"indicators":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"instantiate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"terminate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scale":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scaleToLevel":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeFlavour":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"heal":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"operate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeExtConn":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"createSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"revertToSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}},"VNFInstances.Get.200":{"description":"200 OK\n\nShall be returned when information about zero or more VNF instances has been queried successfully.\nThe response body shall contain in an array the representations of zero or more VNF instances,\nas defined in clause 5.5.2.2.\nIf the \"filter\" URI parameter or one of the \"all_fields\", \"fields\" (if supported), \"exclude_fields\"\n(if supported) or \"exclude_default\" URI parameters was supplied in the request, the data in the response\nbody shall have been transformed according to the rules specified in clauses 5.2.2 and 5.3.2 of\nETSI GS NFV-SOL 013, respectively.\nIf the VNFM supports alternative 2 (paging) according to clause 5.4.7.2.1 of ETSI GS NFV-SOL 013\nfor this resource, inclusion of the Link HTTP header in this response shall follow the provisions\nin clause 4.7.2.3.5.4.2.3 of ETSI GS NFV-SOL 013.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","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.\n","style":"simple","explode":false,"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"array","items":{"description":"This type represents a VNF instance.\n","type":"object","required":["id","vnfdId","vnfProvider","vnfProductName","vnfSoftwareVersion","vnfdVersion","instantiationState"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceName":{"description":"Name of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfInstanceDescription":{"description":"Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"Provider of the VNF and the VNFD. The value is copied from the VNFD.\n","type":"string"},"vnfProductName":{"description":"Name to identify the VNF Product. The value is copied from the VNFD.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"},"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.\n","type":"object"},"vimConnectionInfo":{"description":"Information about VIM connections to be used for managing the resources for the VNF instance. The keys of the map, each of which identifies information about a particular VIM connection, are managed by the NFVO and referenced from other data structures via the \"vimConnectionId\" attribute. This attribute shall only be supported and present if VNF-related resource management in direct mode is pplicable. This attribute can be modified with the PATCH method.\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"instantiationState":{"description":"The instantiation state of the VNF.\n","type":"string","enum":["NOT_INSTANTIATED","INSTANTIATED"]},"instantiatedVnfInfo":{"description":"Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n","type":"object","required":["flavourId","vnfState"],"properties":{"flavourId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfState":{"description":"STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n","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.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"maxScaleLevels":{"description":"Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"extCpInfo":{"description":"Information about the external CPs exposed by the VNF instance. 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.\n","type":"array","minItems":1,"items":{"description":"This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n","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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"extLinkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"associatedVnfcCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVipCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVnfVirtualLinkId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","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.\n","type":"array","minItems":1,"items":{"description":"This type provides information related to virtual IP (VIP) CP.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"associatedVnfcCpIds":{"description":"Identifiers of the VnfcCps that share the virtual IP addresses allocated to the VIP CP instance. It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"Metadata about this VIP CP.\n","type":"array","items":{"description":"This 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.\n","type":"object"}}}}},"extVirtualLinkInfo":{"description":"Information about the external VLs the VNF instance is connected to.\n","type":"array","items":{"type":"object","required":["id","resourceHandle","currentVnfExtCpData"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"extLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"description":"This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"secondaryCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","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. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}}}}},"extManagedVirtualLinkInfo":{"description":"Information about the externally-managed internal VLs of the VNF instance.\nNOTE: 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.3). 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.\n","type":"array","items":{"type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"vnfLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"extManagedMultisiteVirtualLinkId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}}}},"monitoringParameters":{"description":"Active monitoring parameters.\n","type":"array","items":{"type":"object","required":["id","performanceMetric"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"name":{"description":"Human readable name of the monitoring parameter, as defined in the VNFD.\n","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.\n","type":"string"}}}},"localizationLanguage":{"description":"Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n","type":"string"},"vnfcResourceInfo":{"description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n","type":"array","items":{"description":"This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n","type":"object","required":["id","vduId","computeResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"storageResourceIds":{"description":"References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfcCpInfo":{"description":"All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","cpdId"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP. 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.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"parentCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualLinkResourceInfo":{"description":"Information about the virtualised network resources used by the VLs of the VNF instance. 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.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n","type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfLinkPorts":{"description":"Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualStorageResourceInfo":{"description":"Information on the virtualised storage resource(s) used as storage for the VNF instance.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n","type":"object","required":["id","virtualStorageDescId","storageResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"virtualStorageDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension in the VNFD contains information on whether its presence is optional or required, and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension attributes that are not declared in the VNFD with a \"422 Unprocessable entity\" error response as defined in clause 6.4 of ETSI GS NFV-SOL 013. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. These attributes can be initialized with default values from the VNFD. These attributes can be modified with values passed in the request structures of certain LCM operations, such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method. In addition, the provisions in clause 5.7 shall apply.\nNOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defineddeclared initial value shall not be created, in order to be consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.\n"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"indicators":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"instantiate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"terminate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scale":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scaleToLevel":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeFlavour":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"heal":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"operate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeExtConn":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"createSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"revertToSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}}},"IndividualVnfInstance.Get.200":{"description":"200 OK\n\nShall be returned when information about an individual VNF instance has been read successfully.\nThe response body shall contain a representation of the VNF instance, as defined in clause 5.5.2.2.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","style":"simple","explode":false,"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"description":"This type represents a VNF instance.\n","type":"object","required":["id","vnfdId","vnfProvider","vnfProductName","vnfSoftwareVersion","vnfdVersion","instantiationState"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceName":{"description":"Name of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfInstanceDescription":{"description":"Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"Provider of the VNF and the VNFD. The value is copied from the VNFD.\n","type":"string"},"vnfProductName":{"description":"Name to identify the VNF Product. The value is copied from the VNFD.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"},"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.\n","type":"object"},"vimConnectionInfo":{"description":"Information about VIM connections to be used for managing the resources for the VNF instance. The keys of the map, each of which identifies information about a particular VIM connection, are managed by the NFVO and referenced from other data structures via the \"vimConnectionId\" attribute. This attribute shall only be supported and present if VNF-related resource management in direct mode is pplicable. This attribute can be modified with the PATCH method.\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"instantiationState":{"description":"The instantiation state of the VNF.\n","type":"string","enum":["NOT_INSTANTIATED","INSTANTIATED"]},"instantiatedVnfInfo":{"description":"Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n","type":"object","required":["flavourId","vnfState"],"properties":{"flavourId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfState":{"description":"STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n","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.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"maxScaleLevels":{"description":"Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"extCpInfo":{"description":"Information about the external CPs exposed by the VNF instance. 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.\n","type":"array","minItems":1,"items":{"description":"This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n","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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"extLinkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"associatedVnfcCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVipCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVnfVirtualLinkId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","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.\n","type":"array","minItems":1,"items":{"description":"This type provides information related to virtual IP (VIP) CP.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"associatedVnfcCpIds":{"description":"Identifiers of the VnfcCps that share the virtual IP addresses allocated to the VIP CP instance. It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"Metadata about this VIP CP.\n","type":"array","items":{"description":"This 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.\n","type":"object"}}}}},"extVirtualLinkInfo":{"description":"Information about the external VLs the VNF instance is connected to.\n","type":"array","items":{"type":"object","required":["id","resourceHandle","currentVnfExtCpData"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"extLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"description":"This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"secondaryCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","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. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}}}}},"extManagedVirtualLinkInfo":{"description":"Information about the externally-managed internal VLs of the VNF instance.\nNOTE: 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.3). 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.\n","type":"array","items":{"type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"vnfLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"extManagedMultisiteVirtualLinkId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}}}},"monitoringParameters":{"description":"Active monitoring parameters.\n","type":"array","items":{"type":"object","required":["id","performanceMetric"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"name":{"description":"Human readable name of the monitoring parameter, as defined in the VNFD.\n","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.\n","type":"string"}}}},"localizationLanguage":{"description":"Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n","type":"string"},"vnfcResourceInfo":{"description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n","type":"array","items":{"description":"This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n","type":"object","required":["id","vduId","computeResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"storageResourceIds":{"description":"References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfcCpInfo":{"description":"All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","cpdId"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP. 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.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"parentCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualLinkResourceInfo":{"description":"Information about the virtualised network resources used by the VLs of the VNF instance. 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.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n","type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfLinkPorts":{"description":"Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualStorageResourceInfo":{"description":"Information on the virtualised storage resource(s) used as storage for the VNF instance.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n","type":"object","required":["id","virtualStorageDescId","storageResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"virtualStorageDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension in the VNFD contains information on whether its presence is optional or required, and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension attributes that are not declared in the VNFD with a \"422 Unprocessable entity\" error response as defined in clause 6.4 of ETSI GS NFV-SOL 013. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. These attributes can be initialized with default values from the VNFD. These attributes can be modified with values passed in the request structures of certain LCM operations, such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method. In addition, the provisions in clause 5.7 shall apply.\nNOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defineddeclared initial value shall not be created, in order to be consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.\n"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"indicators":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"instantiate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"terminate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scale":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scaleToLevel":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeFlavour":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"heal":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"operate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeExtConn":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"createSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"revertToSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}},"IndividualVnfInstance.Patch.202":{"description":"202 ACCEPTED\n\nShall be returned when the request has been accepted for processing.\nOn success, the HTTP response shall include a \"Location\" HTTP header that\ncontains the URI of the newly-created \"Individual VNF LCM operation occurrence\"\nresource corresponding to the operation.\nThe response body shall be empty.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","style":"simple","explode":false,"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"description":"This type represents a VNF instance.\n","type":"object","required":["id","vnfdId","vnfProvider","vnfProductName","vnfSoftwareVersion","vnfdVersion","instantiationState"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceName":{"description":"Name of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfInstanceDescription":{"description":"Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"Provider of the VNF and the VNFD. The value is copied from the VNFD.\n","type":"string"},"vnfProductName":{"description":"Name to identify the VNF Product. The value is copied from the VNFD.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"},"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.\n","type":"object"},"vimConnectionInfo":{"description":"Information about VIM connections to be used for managing the resources for the VNF instance. The keys of the map, each of which identifies information about a particular VIM connection, are managed by the NFVO and referenced from other data structures via the \"vimConnectionId\" attribute. This attribute shall only be supported and present if VNF-related resource management in direct mode is pplicable. This attribute can be modified with the PATCH method.\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"instantiationState":{"description":"The instantiation state of the VNF.\n","type":"string","enum":["NOT_INSTANTIATED","INSTANTIATED"]},"instantiatedVnfInfo":{"description":"Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n","type":"object","required":["flavourId","vnfState"],"properties":{"flavourId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfState":{"description":"STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n","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.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"maxScaleLevels":{"description":"Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"extCpInfo":{"description":"Information about the external CPs exposed by the VNF instance. 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.\n","type":"array","minItems":1,"items":{"description":"This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n","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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"extLinkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"associatedVnfcCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVipCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVnfVirtualLinkId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","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.\n","type":"array","minItems":1,"items":{"description":"This type provides information related to virtual IP (VIP) CP.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"associatedVnfcCpIds":{"description":"Identifiers of the VnfcCps that share the virtual IP addresses allocated to the VIP CP instance. It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"Metadata about this VIP CP.\n","type":"array","items":{"description":"This 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.\n","type":"object"}}}}},"extVirtualLinkInfo":{"description":"Information about the external VLs the VNF instance is connected to.\n","type":"array","items":{"type":"object","required":["id","resourceHandle","currentVnfExtCpData"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"extLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"description":"This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"secondaryCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","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. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}}}}},"extManagedVirtualLinkInfo":{"description":"Information about the externally-managed internal VLs of the VNF instance.\nNOTE: 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.3). 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.\n","type":"array","items":{"type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"vnfLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"extManagedMultisiteVirtualLinkId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}}}},"monitoringParameters":{"description":"Active monitoring parameters.\n","type":"array","items":{"type":"object","required":["id","performanceMetric"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"name":{"description":"Human readable name of the monitoring parameter, as defined in the VNFD.\n","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.\n","type":"string"}}}},"localizationLanguage":{"description":"Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n","type":"string"},"vnfcResourceInfo":{"description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n","type":"array","items":{"description":"This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n","type":"object","required":["id","vduId","computeResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"storageResourceIds":{"description":"References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfcCpInfo":{"description":"All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","cpdId"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP. 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.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"parentCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualLinkResourceInfo":{"description":"Information about the virtualised network resources used by the VLs of the VNF instance. 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.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n","type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfLinkPorts":{"description":"Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualStorageResourceInfo":{"description":"Information on the virtualised storage resource(s) used as storage for the VNF instance.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n","type":"object","required":["id","virtualStorageDescId","storageResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"virtualStorageDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension in the VNFD contains information on whether its presence is optional or required, and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension attributes that are not declared in the VNFD with a \"422 Unprocessable entity\" error response as defined in clause 6.4 of ETSI GS NFV-SOL 013. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. These attributes can be initialized with default values from the VNFD. These attributes can be modified with values passed in the request structures of certain LCM operations, such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method. In addition, the provisions in clause 5.7 shall apply.\nNOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defineddeclared initial value shall not be created, in order to be consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.\n"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"indicators":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"instantiate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"terminate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scale":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scaleToLevel":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeFlavour":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"heal":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"operate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeExtConn":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"createSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"revertToSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}},"IndividualVnfInstance.Delete.204":{"description":"204 NO CONTENT\n\nShall be returned when the \"Individual VNF instance\" resource and the associated\nVNF identifier were deleted successfully.\nThe response body shall be empty.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"InstantiateVnfInstance.Post.202":{"description":"202 ACCEPTED\n\nShall be returned when the request has been accepted for processing\nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that\ncontains the URI of the newly-created \"Individual VNF LCM operation\noccurrence\" resource corresponding to the operation.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"ScaleVnfInstance.Post.202":{"description":"202 ACCEPTED\n\nShall be returned when the request has been accepted for processing.\nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that\ncontains the URI of the newly-created \"VNF LCM operation\noccurrence\" resource corresponding to the operation.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"ScaleToLevelVnfInstance.Post.202":{"description":"202 ACCEPTED\n\nShall be returned when the request has been accepted for processing.\nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that\ncontains the URI of the newly-created \"VNF LCM operation\noccurrence\" resource corresponding to the operation.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"ChangeFlavourVnfInstance.Post.202":{"description":"202 ACCEPTED\n\nShall be returned when the request has been accepted for processing.\nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that\ncontains the URI of the newly-created \"VNF LCM operation\noccurrence\" resource corresponding to the operation.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"TerminateVnfInstance.Post.202":{"description":"202 ACCEPTED\n\nShall be returned when the request has been accepted for processing.\nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that\ncontains the URI of the newly-created \"VNF LCM operation\noccurrence\" resource corresponding to the operation.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"HealVnfInstance.Post.202":{"description":"202 ACCEPTED\n\nShall be returned when the request has been accepted for processing.\nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that\ncontains the URI of the newly-created \"VNF LCM operation\noccurrence\" resource corresponding to the operation.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"OperateVnfInstance.Post.202":{"description":"202 ACCEPTED\n\nShall be returned when the request has been accepted for processing.\nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that\ncontains the URI of the newly-created \"VNF LCM operation\noccurrence\" resource corresponding to the operation.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"ChangeExtConnVnfInstance.Post.202":{"description":"202 ACCEPTED\n\nShall be returned when the request has been accepted for processing.\nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that\ncontains the URI of the newly-created \"VNF LCM operation\noccurrence\" resource corresponding to the operation.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"ChangeVnfpkgVnfInstance.Post.202":{"description":"202 ACCEPTED\n\nShall be returned when the request has been accepted for processing.\nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that contains the URI of\nthe newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"VnfLcmOpOccs.Get.200":{"description":"200 OK\n\nShall be returned when status information for zero or more VNF lifecycle management\noperation occurrences has been queried successfully.\nThe response body shall contain in an array the status information about zero or more\nVNF lifecycle operation occurrences, as defined in clause 5.5.2.13.\nIf the \"filter\" URI parameter or one of the \"all_fields\", \"fields\" (if supported),\n\"exclude_fields\" (if supported) or \"exclude_default\" URI parameters was supplied in the request,\nthe data in the response body shall have been transformed according to the rules specified\nin clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively.\nIf the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013\nfor this resource, inclusion of the Link HTTP header in this response shall follow the provisions\nin clause 5.4.2.3 of ETSI GS NFV-SOL 013.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","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.\n","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.\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.\n","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.\n","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.\n","type":"string","format":"date-time"},"startTime":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"grantId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"operation":{"description":"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. It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | 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.\n","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).\n","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.\nThe 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\n","type":"object"},"isCancelPending":{"description":"The Boolean is a data type having two values (true and false).\n","type":"boolean"},"cancelMode":{"description":"Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state. FORCEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state.\n","type":"string","enum":["GRACEFUL","FORCEFUL"]},"error":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}},"resourceChanges":{"description":"This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.\n","type":"object","properties":{"affectedVnfcs":{"description":"Information about VNFC instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n","type":"array","items":{"description":"This type provides information about added, deleted, modified and temporary VNFCs.\n","type":"object","required":["id","vduId","changeType","computeResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"changeType":{"description":"Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n","type":"string","enum":["ADDED","REMOVED","MODIFIED","TEMPORARY"]},"computeResource":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"resourceDefinitionId":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"affectedVnfcCpIds":{"description":"Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"addedStorageResourceIds":{"description":"References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"removedStorageResourceIds":{"description":"References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}}}}},"affectedVirtualLinks":{"description":"Information about VL instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter. For a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed for signalling the different types of changes, i.e., one per virtual link and change type. For instance, in the case of signaling affected VL instances involving the addition of a particular VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\", and another \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the \"changeType\" equal to \"LINK_PORT_ADDED\".\n","type":"array","items":{"description":"This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE 1:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n the \"networkResource\" and \"resourceDefinitionId\" attributes refer to the affected virtual link \n instance, not the link port instance. The resource handles of the affected VNF link ports can be \n found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\nNOTE 2:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n assist in correlating the resource changes performed during the LCM operation with the granted \n resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\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.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"changeType":{"description":"Signals the type of change.\nPermitted values: -\tADDED -\tREMOVED -\tMODIFIED -\tTEMPORARY -\tLINK_PORT_ADDED -\tLINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. See note 1.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"vnfLinkPortIds":{"description":"Identifiers of the link ports of the affected VL related to the change. Each identifier references a \"VnfLinkPortInfo\" structure.\nShall 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 \"vnfVirtualLinkResource¬Info\" or \"extManagedVirtualLinkInfo\" attribute in the \"VnfInstance\" structure. See note 1.\n","type":"array","items":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"}},"resourceDefinitionId":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"affectedExtLinkPorts":{"description":"Information about external VNF link ports that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n","type":"array","items":{"description":"This type provides information about added and deleted external link ports (link ports attached to external virtual links).\n","type":"object","required":["id","changeType","extCpInstanceId","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"changeType":{"description":"Signals the type of change. Permitted values: -\tADDED -\tREMOVED\n","type":"string","enum":["ADDED","REMOVED"]},"extCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"resourceDefinitionId":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"}}}},"affectedVirtualStorages":{"description":"Information about virtualised storage instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n","type":"array","items":{"description":"This type provides information about added, deleted, modified and temporary virtual storage resources.\n","type":"object","required":["id","virtualStorageDescId","changeType","storageResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"virtualStorageDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"changeType":{"description":"Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n","type":"string","enum":["ADDED","REMOVED","MODIFIED","TEMPORARY"]},"storageResource":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"resourceDefinitionId":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}}},"changedInfo":{"description":"This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n","type":"object","properties":{"vnfInstanceName":{"description":"A string defined in IETF RFC 8259.\n","type":"string"},"vnfInstanceDescription":{"description":"A string defined in IETF RFC 8259.\n","type":"string"},"vnfConfigurableProperties":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"vimConnectionInfo":{"description":"If present, this attribute signals modifications the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"A string defined in IETF RFC 8259.\n","type":"string"},"vnfProductName":{"description":"A string defined in IETF RFC 8259.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"}}},"affectedVipCps":{"description":"Information about virtual IP CP instances that were affected during the execution of the lifecycle management operation.\n","type":"array","items":{"description":"This type provides information about added, deleted and modified virtual IP CP instances.\n","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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n","type":"array","items":{"type":"object","required":["id","resourceHandle","currentVnfExtCpData"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"extLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"description":"This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"secondaryCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","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. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}}}}},"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.\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.\n","type":"object"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n","type":"string"},"vnfProductName":{"description":"If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"}}},"vnfSnapshotInfoId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"lcmCoordinations":{"description":"Information about LCM coordination actions (see clause 10 in ETSI GS NFV-SOL002) related to this LCM operation occurrence.\n","type":"array","items":{"type":"object","required":["id","coordinationActionName","startTime","endpointType"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"coordinationActionName":{"description":"An identifier with the intention of being globally unique.\n","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\".\n","type":"string","enum":["CONTINUE","ABORT","CANCELLED"]},"startTime":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"endTime":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"endpointType":{"description":"The endpoint type used by this coordination action. Valid values: •\tMGMT: coordination with other operation supporting management systems (e.g. EM) •\tVNF: coordination with the VNF instance\n","type":"string","enum":["MGMT","VNF"]}}}},"warnings":{"description":"Warning messages that were generated while the operation was executing.\nIf the operation has included LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute.\n","type":"array","items":{"type":"string"}},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self","vnfInstance"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"vnfInstance":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"grant":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"cancel":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"retry":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"rollback":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"fail":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"vnfSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}},"IndividualVnfLcmOpOcc.Get.200":{"description":"200 OK\n\nShall be returned when information about a VNF LCM operation occurrence washas been read successfully.\nThe response body shall contain status information about a VNF lifecycle management operation occurrence\n(see clause 5.5.2.13).\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","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.\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.\n","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.\n","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.\n","type":"string","format":"date-time"},"startTime":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"grantId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"operation":{"description":"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. It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | 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.\n","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).\n","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.\nThe 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\n","type":"object"},"isCancelPending":{"description":"The Boolean is a data type having two values (true and false).\n","type":"boolean"},"cancelMode":{"description":"Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state. FORCEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state.\n","type":"string","enum":["GRACEFUL","FORCEFUL"]},"error":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}},"resourceChanges":{"description":"This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.\n","type":"object","properties":{"affectedVnfcs":{"description":"Information about VNFC instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n","type":"array","items":{"description":"This type provides information about added, deleted, modified and temporary VNFCs.\n","type":"object","required":["id","vduId","changeType","computeResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"changeType":{"description":"Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n","type":"string","enum":["ADDED","REMOVED","MODIFIED","TEMPORARY"]},"computeResource":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"resourceDefinitionId":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"affectedVnfcCpIds":{"description":"Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"addedStorageResourceIds":{"description":"References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"removedStorageResourceIds":{"description":"References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}}}}},"affectedVirtualLinks":{"description":"Information about VL instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter. For a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed for signalling the different types of changes, i.e., one per virtual link and change type. For instance, in the case of signaling affected VL instances involving the addition of a particular VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\", and another \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the \"changeType\" equal to \"LINK_PORT_ADDED\".\n","type":"array","items":{"description":"This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE 1:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n the \"networkResource\" and \"resourceDefinitionId\" attributes refer to the affected virtual link \n instance, not the link port instance. The resource handles of the affected VNF link ports can be \n found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\nNOTE 2:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n assist in correlating the resource changes performed during the LCM operation with the granted \n resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\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.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"changeType":{"description":"Signals the type of change.\nPermitted values: -\tADDED -\tREMOVED -\tMODIFIED -\tTEMPORARY -\tLINK_PORT_ADDED -\tLINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. See note 1.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"vnfLinkPortIds":{"description":"Identifiers of the link ports of the affected VL related to the change. Each identifier references a \"VnfLinkPortInfo\" structure.\nShall 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 \"vnfVirtualLinkResource¬Info\" or \"extManagedVirtualLinkInfo\" attribute in the \"VnfInstance\" structure. See note 1.\n","type":"array","items":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"}},"resourceDefinitionId":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"affectedExtLinkPorts":{"description":"Information about external VNF link ports that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n","type":"array","items":{"description":"This type provides information about added and deleted external link ports (link ports attached to external virtual links).\n","type":"object","required":["id","changeType","extCpInstanceId","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"changeType":{"description":"Signals the type of change. Permitted values: -\tADDED -\tREMOVED\n","type":"string","enum":["ADDED","REMOVED"]},"extCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"resourceDefinitionId":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"}}}},"affectedVirtualStorages":{"description":"Information about virtualised storage instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n","type":"array","items":{"description":"This type provides information about added, deleted, modified and temporary virtual storage resources.\n","type":"object","required":["id","virtualStorageDescId","changeType","storageResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"virtualStorageDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"changeType":{"description":"Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n","type":"string","enum":["ADDED","REMOVED","MODIFIED","TEMPORARY"]},"storageResource":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"resourceDefinitionId":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}}},"changedInfo":{"description":"This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n","type":"object","properties":{"vnfInstanceName":{"description":"A string defined in IETF RFC 8259.\n","type":"string"},"vnfInstanceDescription":{"description":"A string defined in IETF RFC 8259.\n","type":"string"},"vnfConfigurableProperties":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"vimConnectionInfo":{"description":"If present, this attribute signals modifications the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"A string defined in IETF RFC 8259.\n","type":"string"},"vnfProductName":{"description":"A string defined in IETF RFC 8259.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"}}},"affectedVipCps":{"description":"Information about virtual IP CP instances that were affected during the execution of the lifecycle management operation.\n","type":"array","items":{"description":"This type provides information about added, deleted and modified virtual IP CP instances.\n","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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n","type":"array","items":{"type":"object","required":["id","resourceHandle","currentVnfExtCpData"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"extLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"description":"This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"secondaryCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","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. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}}}}},"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.\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.\n","type":"object"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n","type":"string"},"vnfProductName":{"description":"If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"}}},"vnfSnapshotInfoId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"lcmCoordinations":{"description":"Information about LCM coordination actions (see clause 10 in ETSI GS NFV-SOL002) related to this LCM operation occurrence.\n","type":"array","items":{"type":"object","required":["id","coordinationActionName","startTime","endpointType"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"coordinationActionName":{"description":"An identifier with the intention of being globally unique.\n","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\".\n","type":"string","enum":["CONTINUE","ABORT","CANCELLED"]},"startTime":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"endTime":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"endpointType":{"description":"The endpoint type used by this coordination action. Valid values: •\tMGMT: coordination with other operation supporting management systems (e.g. EM) •\tVNF: coordination with the VNF instance\n","type":"string","enum":["MGMT","VNF"]}}}},"warnings":{"description":"Warning messages that were generated while the operation was executing.\nIf the operation has included LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute.\n","type":"array","items":{"type":"string"}},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self","vnfInstance"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"vnfInstance":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"grant":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"cancel":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"retry":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"rollback":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"fail":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"vnfSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}},"RollbackVnfLcmOpOcc.Post.202":{"description":"202 ACCEPTED\n\nShall be returned when the request has been accepted for processing.\nThe response shall have an empty payload body.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"RetryVnfLcmOpOcc.Post.202":{"description":"202 ACCEPTED\n\nShall be returned when the request has been accepted for processing.\nThe response shall have an empty payload body.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"FailVnfLcmOpOcc.Post.200":{"description":"200 OK\n\nShall be returned when the state of the VNF lifecycle management operation occurrence\nhas been changed successfully.\nThe response bofyshall include a representation of the \"Individual VNF lifecycle operation occurrence\"\nresource.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","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.\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.\n","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.\n","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.\n","type":"string","format":"date-time"},"startTime":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"grantId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"operation":{"description":"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. It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | 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.\n","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).\n","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.\nThe 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\n","type":"object"},"isCancelPending":{"description":"The Boolean is a data type having two values (true and false).\n","type":"boolean"},"cancelMode":{"description":"Cancellation mode. GRACEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation and shall wait for the ongoing resource management operations in the underlying system, typically the VIM, to finish execution or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and shall wait for the granting request to finish execution or time out. After that, the VNFM shall put the operation occurrence into the ROLLED_BACK state. FORCEFUL: If the VNF LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the VNFM shall not start any new resource management operation, shall cancel the ongoing resource management operations in the underlying system, typically the VIM, and shall wait for the cancellation to finish or to time out. After that, the VNFM shall put the operation occurrence into the FAILED_TEMP state. If the VNF LCM operation occurrence is in \"STARTING\" state, the VNFM shall not start any resource management operation and put the operation occurrence into the ROLLED_BACK state.\n","type":"string","enum":["GRACEFUL","FORCEFUL"]},"error":{"description":"The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced inthis structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n","type":"object","required":["status","detail"],"properties":{"type":{"description":"A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n","type":"string","format":"URI"},"title":{"description":"A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n","type":"string"},"status":{"description":"The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n","type":"integer"},"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.\n","type":"string"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n","type":"string","format":"URI"}}},"resourceChanges":{"description":"This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable.\n","type":"object","properties":{"affectedVnfcs":{"description":"Information about VNFC instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n","type":"array","items":{"description":"This type provides information about added, deleted, modified and temporary VNFCs.\n","type":"object","required":["id","vduId","changeType","computeResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"changeType":{"description":"Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVnfc structure exists as long as the temporary resource exists.\n","type":"string","enum":["ADDED","REMOVED","MODIFIED","TEMPORARY"]},"computeResource":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"resourceDefinitionId":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"affectedVnfcCpIds":{"description":"Identifiers of CP(s) of the VNFC instance that were affected by the change. Shall be present for those affected CPs of the VNFC instance that are associated to an external CP of the VNF instance. May be present for further affected CPs of the VNFC instance.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"addedStorageResourceIds":{"description":"References to VirtualStorage resources that have been added. Each value refers to a VirtualStorageResourceInfo item in the VnfInstance that was added to the VNFC. It shall be provided if at least one storage resource was added to the VNFC.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"removedStorageResourceIds":{"description":"References to VirtualStorage resources that have been removed. The value contains the identifier of a VirtualStorageResourceInfo item that has been removed from the VNFC, and might no longer exist in the VnfInstance. It shall be provided if at least one storage resource was removed from the VNFC.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}}}}},"affectedVirtualLinks":{"description":"Information about VL instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter. For a particular affected VL, there shall be as many \"AffectedVirtualLink\" entries as needed for signalling the different types of changes, i.e., one per virtual link and change type. For instance, in the case of signaling affected VL instances involving the addition of a particular VL instance with links ports, one \"AffectedVirtualLink\" entry signals the addition of the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure equal to \"ADDED\", and another \"AffectedVirtualLink\" entry signals the addition of VNF link ports of the VL by using the \"changeType\" equal to \"LINK_PORT_ADDED\".\n","type":"array","items":{"description":"This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE 1:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n the \"networkResource\" and \"resourceDefinitionId\" attributes refer to the affected virtual link \n instance, not the link port instance. The resource handles of the affected VNF link ports can be \n found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\nNOTE 2:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n assist in correlating the resource changes performed during the LCM operation with the granted \n resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\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.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"changeType":{"description":"Signals the type of change.\nPermitted values: -\tADDED -\tREMOVED -\tMODIFIED -\tTEMPORARY -\tLINK_PORT_ADDED -\tLINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. See note 1.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"vnfLinkPortIds":{"description":"Identifiers of the link ports of the affected VL related to the change. Each identifier references a \"VnfLinkPortInfo\" structure.\nShall 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 \"vnfVirtualLinkResource¬Info\" or \"extManagedVirtualLinkInfo\" attribute in the \"VnfInstance\" structure. See note 1.\n","type":"array","items":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"}},"resourceDefinitionId":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"affectedExtLinkPorts":{"description":"Information about external VNF link ports that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n","type":"array","items":{"description":"This type provides information about added and deleted external link ports (link ports attached to external virtual links).\n","type":"object","required":["id","changeType","extCpInstanceId","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"changeType":{"description":"Signals the type of change. Permitted values: -\tADDED -\tREMOVED\n","type":"string","enum":["ADDED","REMOVED"]},"extCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"resourceDefinitionId":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"}}}},"affectedVirtualStorages":{"description":"Information about virtualised storage instances that were affected during the lifecycle operation. This allows the API consumer to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n","type":"array","items":{"description":"This type provides information about added, deleted, modified and temporary virtual storage resources.\n","type":"object","required":["id","virtualStorageDescId","changeType","storageResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"virtualStorageDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"changeType":{"description":"Signals the type of change. Permitted values: * ADDED * REMOVED * MODIFIED * TEMPORARY For a temporary resource, an AffectedVirtualStorage structure exists as long as the temporary resource exists.\n","type":"string","enum":["ADDED","REMOVED","MODIFIED","TEMPORARY"]},"storageResource":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"resourceDefinitionId":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}}},"changedInfo":{"description":"This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly e.g. when modifying the referenced VNF package.\n","type":"object","properties":{"vnfInstanceName":{"description":"A string defined in IETF RFC 8259.\n","type":"string"},"vnfInstanceDescription":{"description":"A string defined in IETF RFC 8259.\n","type":"string"},"vnfConfigurableProperties":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"vimConnectionInfo":{"description":"If present, this attribute signals modifications the \"vimConnectionInfo\" attribute array in \"VnfInstance\".\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"A string defined in IETF RFC 8259.\n","type":"string"},"vnfProductName":{"description":"A string defined in IETF RFC 8259.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"}}},"affectedVipCps":{"description":"Information about virtual IP CP instances that were affected during the execution of the lifecycle management operation.\n","type":"array","items":{"description":"This type provides information about added, deleted and modified virtual IP CP instances.\n","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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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. This allows the NFVO to obtain the information contained in the latest \"result\" notification if it has not received it due to an error or a wrongly configured subscription filter.\n","type":"array","items":{"type":"object","required":["id","resourceHandle","currentVnfExtCpData"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"extLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"description":"This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"secondaryCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","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. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}}}}},"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.\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.\n","type":"object"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n","type":"string"},"vnfProductName":{"description":"If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of he related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"}}},"vnfSnapshotInfoId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"lcmCoordinations":{"description":"Information about LCM coordination actions (see clause 10 in ETSI GS NFV-SOL002) related to this LCM operation occurrence.\n","type":"array","items":{"type":"object","required":["id","coordinationActionName","startTime","endpointType"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"coordinationActionName":{"description":"An identifier with the intention of being globally unique.\n","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\".\n","type":"string","enum":["CONTINUE","ABORT","CANCELLED"]},"startTime":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"endTime":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"endpointType":{"description":"The endpoint type used by this coordination action. Valid values: •\tMGMT: coordination with other operation supporting management systems (e.g. EM) •\tVNF: coordination with the VNF instance\n","type":"string","enum":["MGMT","VNF"]}}}},"warnings":{"description":"Warning messages that were generated while the operation was executing.\nIf the operation has included LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute.\n","type":"array","items":{"type":"string"}},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self","vnfInstance"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"vnfInstance":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"grant":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"cancel":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"retry":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"rollback":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"fail":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"vnfSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}},"CancelVnfLcmOpOcc.Post.202":{"description":"202 ACCEPTED\n\nShall be returned when the request has been accepted for processing.\nThe response shall have an empty payload body.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"Subscriptions.Post.201":{"description":"201 CREATED\n\nShall be returned when the subscription has been created successfully.\nThe response body shall contain a representation of the created \"Individual subscription\" resource.\nThe HTTP response shall include a \"Location\" HTTP header that points to the created\n\"Individual subscription\" resource.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","style":"simple","explode":false,"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"description":"This type represents a subscription related to notifications about VNF lifecycle changes.\n","type":"object","required":["id","callbackUri","verbosity","_links"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"filter":{"description":"This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n","type":"object","properties":{"vnfInstanceSubscriptionFilter":{"description":"This type represents subscription filter criteria to match VNF instances.\n","type":"object","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. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfProductsFromProviders":{"description":"If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"object","required":["vnfProvider"],"properties":{"vnfProvider":{"description":"Name of the VNF provider to match.\n","type":"string"},"vnfProducts":{"description":"If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfProductName"],"properties":{"vnfProductName":{"description":"Name of the VNF product to match.\n","type":"string"},"versions":{"description":"If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfSoftwareVersion"],"properties":{"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersions":{"description":"If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n","type":"array","items":{"description":"A version.\n","type":"string"}}}}}}}}}}},"vnfInstanceIds":{"description":"If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfInstanceNames":{"description":"If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"string"}}}},"notificationTypes":{"description":"Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n","type":"array","items":{"type":"string","enum":["VnfLcmOperationOccurrenceNotification","VnfIdentifierCreationNotification","VnfIdentifierDeletionNotification"]}},"operationTypes":{"description":"Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n","type":"array","items":{"description":"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. It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | 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.\n","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.\n","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.\n","type":"string","enum":["STARTING","PROCESSING","COMPLETED","FAILED_TEMP","FAILED","ROLLING_BACK","ROLLED_BACK"]}}}},"callbackUri":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"},"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.\n","type":"string","enum":["FULL","SHORT"]},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}},"Subscriptions.Get.200":{"description":"200 OK\n\nShall be returned when the list of subscriptions has been queried successfully.\nThe response body shall contain in an array the representations of all active subscriptions of\nthe functional block that invokes the method, i.e. zero or more representations of lifecycle change\nnotification subscriptions as defined in clause 5.5.2.16.\nIf the \"filter\" URI parameter was supplied in the request, the data in the response body shall have been\ntransformed according to the rules specified in clause 5.2.2 of ETSI GS NFV-SOL 013.\nIf the VNFM supports alternative 2 (paging) according to clause 5.4.7.2.1 of ETSI GS NFV-SOL 013\nfor this resource, inclusion of the Link HTTP header in this response shall follow the provisions\nin clause 4.7.2.3.5.4.2.3 of ETSI GS NFV-SOL 013.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","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.\n","style":"simple","explode":false,"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"description":"This type represents a subscription related to notifications about VNF lifecycle changes.\n","type":"object","required":["id","callbackUri","verbosity","_links"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"filter":{"description":"This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n","type":"object","properties":{"vnfInstanceSubscriptionFilter":{"description":"This type represents subscription filter criteria to match VNF instances.\n","type":"object","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. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfProductsFromProviders":{"description":"If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"object","required":["vnfProvider"],"properties":{"vnfProvider":{"description":"Name of the VNF provider to match.\n","type":"string"},"vnfProducts":{"description":"If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfProductName"],"properties":{"vnfProductName":{"description":"Name of the VNF product to match.\n","type":"string"},"versions":{"description":"If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfSoftwareVersion"],"properties":{"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersions":{"description":"If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n","type":"array","items":{"description":"A version.\n","type":"string"}}}}}}}}}}},"vnfInstanceIds":{"description":"If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfInstanceNames":{"description":"If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"string"}}}},"notificationTypes":{"description":"Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n","type":"array","items":{"type":"string","enum":["VnfLcmOperationOccurrenceNotification","VnfIdentifierCreationNotification","VnfIdentifierDeletionNotification"]}},"operationTypes":{"description":"Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n","type":"array","items":{"description":"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. It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | 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.\n","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.\n","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.\n","type":"string","enum":["STARTING","PROCESSING","COMPLETED","FAILED_TEMP","FAILED","ROLLING_BACK","ROLLED_BACK"]}}}},"callbackUri":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"},"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.\n","type":"string","enum":["FULL","SHORT"]},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}},"IndividualSubscription.Get.200":{"description":"200 OK\n\nShall be returned when information about an individual subscription has been read successfully.\nThe response body shall contain a representation of the \"Individual subscription\" resource.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","style":"simple","explode":false,"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"description":"This type represents a subscription related to notifications about VNF lifecycle changes.\n","type":"object","required":["id","callbackUri","verbosity","_links"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"filter":{"description":"This type represents a subscription filter related to notifications about VNF lifecycle changes. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n","type":"object","properties":{"vnfInstanceSubscriptionFilter":{"description":"This type represents subscription filter criteria to match VNF instances.\n","type":"object","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. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfProductsFromProviders":{"description":"If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"object","required":["vnfProvider"],"properties":{"vnfProvider":{"description":"Name of the VNF provider to match.\n","type":"string"},"vnfProducts":{"description":"If present, match VNF instances that belong to VNF products with certain product names, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfProductName"],"properties":{"vnfProductName":{"description":"Name of the VNF product to match.\n","type":"string"},"versions":{"description":"If present, match VNF instances that belong to VNF products with certain versions and a certain product name, from one particular provider.\n","type":"array","items":{"type":"object","required":["vnfSoftwareVersion"],"properties":{"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersions":{"description":"If present, match VNF instances that belong to VNF products with certain VNFD versions, a certain software version and a certain product name, from one particular provider.\n","type":"array","items":{"description":"A version.\n","type":"string"}}}}}}}}}}},"vnfInstanceIds":{"description":"If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}},"vnfInstanceNames":{"description":"If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n","type":"array","items":{"type":"string"}}}},"notificationTypes":{"description":"Match particular notification types. Permitted values: * VnfLcmOperationOccurrenceNotification * VnfIdentifierCreationNotification * VnfIdentifierDeletionNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n","type":"array","items":{"type":"string","enum":["VnfLcmOperationOccurrenceNotification","VnfIdentifierCreationNotification","VnfIdentifierDeletionNotification"]}},"operationTypes":{"description":"Match particular VNF lifecycle operation types for the notification of type VnfLcmOperationOccurrenceNotification. May be present if the \"notificationTypes\" attribute contains the value \"VnfLcmOperationOccurrenceNotification\", and shall be absent otherwise.\n","type":"array","items":{"description":"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. It shall comply with the provisions defined in table 5.5.4.5-1.\nValue | 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.\n","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.\n","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.\n","type":"string","enum":["STARTING","PROCESSING","COMPLETED","FAILED_TEMP","FAILED","ROLLING_BACK","ROLLED_BACK"]}}}},"callbackUri":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"},"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.\n","type":"string","enum":["FULL","SHORT"]},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}},"IndividualSubscription.Delete.204":{"description":"204 NO CONTENT\n\nShall be returned when the \"Individual subscription\" resource has been deleted successfully.\nThe response body shall be empty.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"CreateVnfSnapshotTask.Post.202":{"description":"202 ACCEPTED\n\nShall be returned when the request was accepted for processing, but the processing\nhas not been completed.\nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that contains the URI of\nthe newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"RevertToVnfSnapshotTask.Post.202":{"description":"202 ACCEPTED\n\nShall be returned when the request was accepted for processing, but the processing has\nnot been completed.\nThe response body shall be empty.\nThe HTTP response shall include a \"Location\" HTTP header that contains the URI of\nthe newly-created \"VNF LCM operation occurrence\" resource corresponding to the operation.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"VnfSnapshots.Post.201":{"description":"201 CREATED\n\nShall be returned when an \"Individual VNF snapshot\" resource has been created\nsuccessfully.\nThe response body shall contain a representation of the new \"Individual VNF snapshot\"\nresource, as defined in clause 5.5.2.22.\nThe HTTP response shall include a \"Location\" HTTP header that contains the resource URI\nof the \"Individual VNF snapshot\" resource.\n","headers":{"Location":{"description":"The resource URI of the created subscription resource.\n","style":"simple","explode":false,"schema":{"type":"string","format":"url"}},"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","style":"simple","explode":false,"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"description":"This type represents an \"Individual VNF snapshot\" resource. It shall comply with the provisions defined in table 5.5.2.22-1.\n","type":"object","required":["id","_links"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfSnapshotPkgId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfSnapshot":{"description":"This type represents a VNF snapshot. It shall comply with the provisions defined in table 5.5.2.23-1.\n","type":"object","required":["id","vnfInstanceId","triggeredAt","vnfdId","vnfInfo","vnfcSnapshots"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"creationStartedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"creationFinishedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstance":{"description":"This type represents a VNF instance.\n","type":"object","required":["id","vnfdId","vnfProvider","vnfProductName","vnfSoftwareVersion","vnfdVersion","instantiationState"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceName":{"description":"Name of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfInstanceDescription":{"description":"Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"Provider of the VNF and the VNFD. The value is copied from the VNFD.\n","type":"string"},"vnfProductName":{"description":"Name to identify the VNF Product. The value is copied from the VNFD.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"},"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.\n","type":"object"},"vimConnectionInfo":{"description":"Information about VIM connections to be used for managing the resources for the VNF instance. The keys of the map, each of which identifies information about a particular VIM connection, are managed by the NFVO and referenced from other data structures via the \"vimConnectionId\" attribute. This attribute shall only be supported and present if VNF-related resource management in direct mode is pplicable. This attribute can be modified with the PATCH method.\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"instantiationState":{"description":"The instantiation state of the VNF.\n","type":"string","enum":["NOT_INSTANTIATED","INSTANTIATED"]},"instantiatedVnfInfo":{"description":"Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n","type":"object","required":["flavourId","vnfState"],"properties":{"flavourId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfState":{"description":"STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n","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.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"maxScaleLevels":{"description":"Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"extCpInfo":{"description":"Information about the external CPs exposed by the VNF instance. 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.\n","type":"array","minItems":1,"items":{"description":"This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n","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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"extLinkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"associatedVnfcCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVipCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVnfVirtualLinkId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","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.\n","type":"array","minItems":1,"items":{"description":"This type provides information related to virtual IP (VIP) CP.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"associatedVnfcCpIds":{"description":"Identifiers of the VnfcCps that share the virtual IP addresses allocated to the VIP CP instance. It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"Metadata about this VIP CP.\n","type":"array","items":{"description":"This 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.\n","type":"object"}}}}},"extVirtualLinkInfo":{"description":"Information about the external VLs the VNF instance is connected to.\n","type":"array","items":{"type":"object","required":["id","resourceHandle","currentVnfExtCpData"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"extLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"description":"This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"secondaryCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","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. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}}}}},"extManagedVirtualLinkInfo":{"description":"Information about the externally-managed internal VLs of the VNF instance.\nNOTE: 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.3). 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.\n","type":"array","items":{"type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"vnfLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"extManagedMultisiteVirtualLinkId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}}}},"monitoringParameters":{"description":"Active monitoring parameters.\n","type":"array","items":{"type":"object","required":["id","performanceMetric"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"name":{"description":"Human readable name of the monitoring parameter, as defined in the VNFD.\n","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.\n","type":"string"}}}},"localizationLanguage":{"description":"Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n","type":"string"},"vnfcResourceInfo":{"description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n","type":"array","items":{"description":"This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n","type":"object","required":["id","vduId","computeResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"storageResourceIds":{"description":"References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfcCpInfo":{"description":"All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","cpdId"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP. 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.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"parentCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualLinkResourceInfo":{"description":"Information about the virtualised network resources used by the VLs of the VNF instance. 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.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n","type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfLinkPorts":{"description":"Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualStorageResourceInfo":{"description":"Information on the virtualised storage resource(s) used as storage for the VNF instance.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n","type":"object","required":["id","virtualStorageDescId","storageResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"virtualStorageDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension in the VNFD contains information on whether its presence is optional or required, and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension attributes that are not declared in the VNFD with a \"422 Unprocessable entity\" error response as defined in clause 6.4 of ETSI GS NFV-SOL 013. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. These attributes can be initialized with default values from the VNFD. These attributes can be modified with values passed in the request structures of certain LCM operations, such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method. In addition, the provisions in clause 5.7 shall apply.\nNOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defineddeclared initial value shall not be created, in order to be consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.\n"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"indicators":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"instantiate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"terminate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scale":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scaleToLevel":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeFlavour":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"heal":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"operate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeExtConn":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"createSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"revertToSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}},"vnfcSnapshots":{"description":"Information about VNFC snapshots constituting this VNF snapshot.\n","type":"array","items":{"description":"This type represents a VNFC snapshot.\n","type":"object","required":["id","vnfcInstanceId","triggeredAt","vnfcResourceId"],"properties":{"id":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"vnfcInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"creationStartedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"creationFinishedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfcResourceInfoId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"storageSnapshotResources":{"description":"Mapping of the storage resources associated to the VNFC with the storage snapshot resources.\n","type":"array","items":{"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.\n","type":"string"},"storageSnapshotResource":{"description":"This 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.\n","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.\n","type":"object"}}}},"vnfStateSnapshotInfo":{"description":"This type represents information about VNF-specific state snapshot data.\n","type":"object","required":["checksum","isEncrypted"],"properties":{"checksum":{"description":"Checksum of the VNF state snapshot file. Hash algorithms applicable to VNF snapshot package artifacts are defined in ETSI GS NFV-SOL 010. $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/Checksum\"\n"},"isEncrypted":{"description":"Reflects whether the VNF state snapshot content is encrypted (true) or not (false). $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/Boolean\"\n"},"metadata":{"description":"The metadata with additional information such as content type, size, creation date, etc. $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs\"\n"}}},"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.\n","type":"object"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"vnfStateSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"takenFrom":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}},"VnfSnapshots.Get.200":{"description":"200 OK\n\nShall be returned when information about zero or more VNF snapshots was queried successfully.\nThe response body shall contain in an array the representations of zero or more\n\"Individual VNF snapshot\" resources, as defined in clause 5.5.2.22.\nIf the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013\nfor this resource, inclusion of the Link HTTP header in this response shall follow the provisions\nin clause 5.4.2.3 of ETSI GS NFV-SOL 013.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","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.\n","style":"simple","explode":false,"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"array","items":{"description":"This type represents an \"Individual VNF snapshot\" resource. It shall comply with the provisions defined in table 5.5.2.22-1.\n","type":"object","required":["id","_links"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfSnapshotPkgId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfSnapshot":{"description":"This type represents a VNF snapshot. It shall comply with the provisions defined in table 5.5.2.23-1.\n","type":"object","required":["id","vnfInstanceId","triggeredAt","vnfdId","vnfInfo","vnfcSnapshots"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"creationStartedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"creationFinishedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstance":{"description":"This type represents a VNF instance.\n","type":"object","required":["id","vnfdId","vnfProvider","vnfProductName","vnfSoftwareVersion","vnfdVersion","instantiationState"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceName":{"description":"Name of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfInstanceDescription":{"description":"Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"Provider of the VNF and the VNFD. The value is copied from the VNFD.\n","type":"string"},"vnfProductName":{"description":"Name to identify the VNF Product. The value is copied from the VNFD.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"},"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.\n","type":"object"},"vimConnectionInfo":{"description":"Information about VIM connections to be used for managing the resources for the VNF instance. The keys of the map, each of which identifies information about a particular VIM connection, are managed by the NFVO and referenced from other data structures via the \"vimConnectionId\" attribute. This attribute shall only be supported and present if VNF-related resource management in direct mode is pplicable. This attribute can be modified with the PATCH method.\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"instantiationState":{"description":"The instantiation state of the VNF.\n","type":"string","enum":["NOT_INSTANTIATED","INSTANTIATED"]},"instantiatedVnfInfo":{"description":"Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n","type":"object","required":["flavourId","vnfState"],"properties":{"flavourId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfState":{"description":"STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n","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.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"maxScaleLevels":{"description":"Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"extCpInfo":{"description":"Information about the external CPs exposed by the VNF instance. 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.\n","type":"array","minItems":1,"items":{"description":"This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n","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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"extLinkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"associatedVnfcCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVipCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVnfVirtualLinkId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","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.\n","type":"array","minItems":1,"items":{"description":"This type provides information related to virtual IP (VIP) CP.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"associatedVnfcCpIds":{"description":"Identifiers of the VnfcCps that share the virtual IP addresses allocated to the VIP CP instance. It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"Metadata about this VIP CP.\n","type":"array","items":{"description":"This 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.\n","type":"object"}}}}},"extVirtualLinkInfo":{"description":"Information about the external VLs the VNF instance is connected to.\n","type":"array","items":{"type":"object","required":["id","resourceHandle","currentVnfExtCpData"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"extLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"description":"This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"secondaryCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","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. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}}}}},"extManagedVirtualLinkInfo":{"description":"Information about the externally-managed internal VLs of the VNF instance.\nNOTE: 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.3). 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.\n","type":"array","items":{"type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"vnfLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"extManagedMultisiteVirtualLinkId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}}}},"monitoringParameters":{"description":"Active monitoring parameters.\n","type":"array","items":{"type":"object","required":["id","performanceMetric"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"name":{"description":"Human readable name of the monitoring parameter, as defined in the VNFD.\n","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.\n","type":"string"}}}},"localizationLanguage":{"description":"Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n","type":"string"},"vnfcResourceInfo":{"description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n","type":"array","items":{"description":"This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n","type":"object","required":["id","vduId","computeResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"storageResourceIds":{"description":"References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfcCpInfo":{"description":"All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","cpdId"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP. 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.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"parentCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualLinkResourceInfo":{"description":"Information about the virtualised network resources used by the VLs of the VNF instance. 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.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n","type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfLinkPorts":{"description":"Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualStorageResourceInfo":{"description":"Information on the virtualised storage resource(s) used as storage for the VNF instance.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n","type":"object","required":["id","virtualStorageDescId","storageResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"virtualStorageDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension in the VNFD contains information on whether its presence is optional or required, and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension attributes that are not declared in the VNFD with a \"422 Unprocessable entity\" error response as defined in clause 6.4 of ETSI GS NFV-SOL 013. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. These attributes can be initialized with default values from the VNFD. These attributes can be modified with values passed in the request structures of certain LCM operations, such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method. In addition, the provisions in clause 5.7 shall apply.\nNOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defineddeclared initial value shall not be created, in order to be consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.\n"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"indicators":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"instantiate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"terminate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scale":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scaleToLevel":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeFlavour":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"heal":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"operate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeExtConn":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"createSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"revertToSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}},"vnfcSnapshots":{"description":"Information about VNFC snapshots constituting this VNF snapshot.\n","type":"array","items":{"description":"This type represents a VNFC snapshot.\n","type":"object","required":["id","vnfcInstanceId","triggeredAt","vnfcResourceId"],"properties":{"id":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"vnfcInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"creationStartedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"creationFinishedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfcResourceInfoId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"storageSnapshotResources":{"description":"Mapping of the storage resources associated to the VNFC with the storage snapshot resources.\n","type":"array","items":{"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.\n","type":"string"},"storageSnapshotResource":{"description":"This 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.\n","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.\n","type":"object"}}}},"vnfStateSnapshotInfo":{"description":"This type represents information about VNF-specific state snapshot data.\n","type":"object","required":["checksum","isEncrypted"],"properties":{"checksum":{"description":"Checksum of the VNF state snapshot file. Hash algorithms applicable to VNF snapshot package artifacts are defined in ETSI GS NFV-SOL 010. $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/Checksum\"\n"},"isEncrypted":{"description":"Reflects whether the VNF state snapshot content is encrypted (true) or not (false). $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/Boolean\"\n"},"metadata":{"description":"The metadata with additional information such as content type, size, creation date, etc. $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs\"\n"}}},"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.\n","type":"object"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"vnfStateSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"takenFrom":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}}},"IndividualVnfSnapshot.Get.200":{"description":"200 OK\n\nShall be returned when information about an individual VNF snapshot was read successfully.\nThe response body shall contain a representation of the \"Individual VNF snapshot\" resource,\nas defined in clause 5.5.2.22.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","style":"simple","explode":false,"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"array","items":{"description":"This type represents an \"Individual VNF snapshot\" resource. It shall comply with the provisions defined in table 5.5.2.22-1.\n","type":"object","required":["id","_links"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfSnapshotPkgId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfSnapshot":{"description":"This type represents a VNF snapshot. It shall comply with the provisions defined in table 5.5.2.23-1.\n","type":"object","required":["id","vnfInstanceId","triggeredAt","vnfdId","vnfInfo","vnfcSnapshots"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"creationStartedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"creationFinishedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstance":{"description":"This type represents a VNF instance.\n","type":"object","required":["id","vnfdId","vnfProvider","vnfProductName","vnfSoftwareVersion","vnfdVersion","instantiationState"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceName":{"description":"Name of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfInstanceDescription":{"description":"Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"Provider of the VNF and the VNFD. The value is copied from the VNFD.\n","type":"string"},"vnfProductName":{"description":"Name to identify the VNF Product. The value is copied from the VNFD.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"},"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.\n","type":"object"},"vimConnectionInfo":{"description":"Information about VIM connections to be used for managing the resources for the VNF instance. The keys of the map, each of which identifies information about a particular VIM connection, are managed by the NFVO and referenced from other data structures via the \"vimConnectionId\" attribute. This attribute shall only be supported and present if VNF-related resource management in direct mode is pplicable. This attribute can be modified with the PATCH method.\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"instantiationState":{"description":"The instantiation state of the VNF.\n","type":"string","enum":["NOT_INSTANTIATED","INSTANTIATED"]},"instantiatedVnfInfo":{"description":"Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n","type":"object","required":["flavourId","vnfState"],"properties":{"flavourId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfState":{"description":"STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n","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.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"maxScaleLevels":{"description":"Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"extCpInfo":{"description":"Information about the external CPs exposed by the VNF instance. 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.\n","type":"array","minItems":1,"items":{"description":"This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n","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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"extLinkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"associatedVnfcCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVipCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVnfVirtualLinkId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","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.\n","type":"array","minItems":1,"items":{"description":"This type provides information related to virtual IP (VIP) CP.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"associatedVnfcCpIds":{"description":"Identifiers of the VnfcCps that share the virtual IP addresses allocated to the VIP CP instance. It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"Metadata about this VIP CP.\n","type":"array","items":{"description":"This 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.\n","type":"object"}}}}},"extVirtualLinkInfo":{"description":"Information about the external VLs the VNF instance is connected to.\n","type":"array","items":{"type":"object","required":["id","resourceHandle","currentVnfExtCpData"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"extLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"description":"This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"secondaryCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","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. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}}}}},"extManagedVirtualLinkInfo":{"description":"Information about the externally-managed internal VLs of the VNF instance.\nNOTE: 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.3). 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.\n","type":"array","items":{"type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"vnfLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"extManagedMultisiteVirtualLinkId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}}}},"monitoringParameters":{"description":"Active monitoring parameters.\n","type":"array","items":{"type":"object","required":["id","performanceMetric"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"name":{"description":"Human readable name of the monitoring parameter, as defined in the VNFD.\n","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.\n","type":"string"}}}},"localizationLanguage":{"description":"Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n","type":"string"},"vnfcResourceInfo":{"description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n","type":"array","items":{"description":"This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n","type":"object","required":["id","vduId","computeResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"storageResourceIds":{"description":"References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfcCpInfo":{"description":"All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","cpdId"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP. 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.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"parentCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualLinkResourceInfo":{"description":"Information about the virtualised network resources used by the VLs of the VNF instance. 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.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n","type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfLinkPorts":{"description":"Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualStorageResourceInfo":{"description":"Information on the virtualised storage resource(s) used as storage for the VNF instance.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n","type":"object","required":["id","virtualStorageDescId","storageResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"virtualStorageDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension in the VNFD contains information on whether its presence is optional or required, and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension attributes that are not declared in the VNFD with a \"422 Unprocessable entity\" error response as defined in clause 6.4 of ETSI GS NFV-SOL 013. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. These attributes can be initialized with default values from the VNFD. These attributes can be modified with values passed in the request structures of certain LCM operations, such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method. In addition, the provisions in clause 5.7 shall apply.\nNOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defineddeclared initial value shall not be created, in order to be consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.\n"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"indicators":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"instantiate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"terminate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scale":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scaleToLevel":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeFlavour":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"heal":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"operate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeExtConn":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"createSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"revertToSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}},"vnfcSnapshots":{"description":"Information about VNFC snapshots constituting this VNF snapshot.\n","type":"array","items":{"description":"This type represents a VNFC snapshot.\n","type":"object","required":["id","vnfcInstanceId","triggeredAt","vnfcResourceId"],"properties":{"id":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"vnfcInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"creationStartedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"creationFinishedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfcResourceInfoId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"storageSnapshotResources":{"description":"Mapping of the storage resources associated to the VNFC with the storage snapshot resources.\n","type":"array","items":{"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.\n","type":"string"},"storageSnapshotResource":{"description":"This 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.\n","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.\n","type":"object"}}}},"vnfStateSnapshotInfo":{"description":"This type represents information about VNF-specific state snapshot data.\n","type":"object","required":["checksum","isEncrypted"],"properties":{"checksum":{"description":"Checksum of the VNF state snapshot file. Hash algorithms applicable to VNF snapshot package artifacts are defined in ETSI GS NFV-SOL 010. $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/Checksum\"\n"},"isEncrypted":{"description":"Reflects whether the VNF state snapshot content is encrypted (true) or not (false). $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/Boolean\"\n"},"metadata":{"description":"The metadata with additional information such as content type, size, creation date, etc. $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs\"\n"}}},"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.\n","type":"object"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"vnfStateSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"takenFrom":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}}},"IndividualVnfSnapshot.Patch.200":{"description":"200 OK\n\nShall be returned when the modification of VNF snapshot information has been accepted and completed.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","style":"simple","explode":false,"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"description":"This type represents attribute modifications that were performed on an \"Individual VNF snapshot\"\nresource. The attributes that can be included consist of those requested to be modified explicitly\nin the \"VnfSnapshotInfoModificationRequest\" data structure, and additional attributes of the\n\"VnfSnapshotInfo\" data structure that were modified implicitly. The \"VnfSnapshotInfoModifications\"\ndata type shall comply with the provisions defined in table 5.5.2.25-1.\n","type":"object","properties":{"vnfSnapshotPkgId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfSnapshot":{"description":"This type represents a VNF snapshot. It shall comply with the provisions defined in table 5.5.2.23-1.\n","type":"object","required":["id","vnfInstanceId","triggeredAt","vnfdId","vnfInfo","vnfcSnapshots"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"creationStartedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"creationFinishedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstance":{"description":"This type represents a VNF instance.\n","type":"object","required":["id","vnfdId","vnfProvider","vnfProductName","vnfSoftwareVersion","vnfdVersion","instantiationState"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfInstanceName":{"description":"Name of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfInstanceDescription":{"description":"Human-readable description of the VNF instance. This attribute can be modified with the PATCH method.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfProvider":{"description":"Provider of the VNF and the VNFD. The value is copied from the VNFD.\n","type":"string"},"vnfProductName":{"description":"Name to identify the VNF Product. The value is copied from the VNFD.\n","type":"string"},"vnfSoftwareVersion":{"description":"A version.\n","type":"string"},"vnfdVersion":{"description":"A version.\n","type":"string"},"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.\n","type":"object"},"vimConnectionInfo":{"description":"Information about VIM connections to be used for managing the resources for the VNF instance. The keys of the map, each of which identifies information about a particular VIM connection, are managed by the NFVO and referenced from other data structures via the \"vimConnectionId\" attribute. This attribute shall only be supported and present if VNF-related resource management in direct mode is pplicable. This attribute can be modified with the PATCH method.\n","type":"object","additionalProperties":{"description":"This type represents parameters to connect to a VIM for managing the resources of a VNF instance. This structure is used to convey VIM-related parameters over the Or-Vnfm interface. Additional parameters for a VIM may be configured into the VNFM by means outside the scope of the present document, and bound to the identifier of that VIM.\n","type":"object","required":["vimType"],"properties":{"vimId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vimType":{"description":"Discriminator for the different types of the VIM information. The value of this attribute determines the structure of the \"interfaceInfo\" and \"accessInfo\" attributes, based on the type of the VIM. The set of permitted values is expected to change over time as new types or versions of VIMs become available. The ETSI NFV registry of VIM-related information provides access to information about VimConnectionInfo definitions for various VIM types. The structure of the registry is defined in Annex C of SOL003.\n","type":"string"},"interfaceInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"accessInfo":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extra":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"instantiationState":{"description":"The instantiation state of the VNF.\n","type":"string","enum":["NOT_INSTANTIATED","INSTANTIATED"]},"instantiatedVnfInfo":{"description":"Information specific to an instantiated VNF instance. This attribute shall be present if the instantiateState attribute value is INSTANTIATED.\n","type":"object","required":["flavourId","vnfState"],"properties":{"flavourId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfState":{"description":"STARTED: The VNF instance is up and running. STOPPED: The VNF instance has been shut down.\n","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.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"maxScaleLevels":{"description":"Maximum allowed scale levels of the VNF, one entry per aspect. This attribute shall be present if the VNF supports scaling.\n","type":"array","items":{"required":["aspectId","scaleLevel"],"type":"object","properties":{"aspectId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"scaleLevel":{"description":"Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.\n","type":"integer"}}}},"extCpInfo":{"description":"Information about the external CPs exposed by the VNF instance. 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.\n","type":"array","minItems":1,"items":{"description":"This type represents information about an external CP of a VNF. It shall comply with the provisions defined in table 5.5.3.25 1.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\n","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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"extLinkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"associatedVnfcCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVipCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"associatedVnfVirtualLinkId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","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.\n","type":"array","minItems":1,"items":{"description":"This type provides information related to virtual IP (VIP) CP.\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.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Protocol information for this CP. There shall be one cpProtocolInfo for layer 3. There may be one cpProtocolInfo for layer 2.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"associatedVnfcCpIds":{"description":"Identifiers of the VnfcCps that share the virtual IP addresses allocated to the VIP CP instance. It is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"Metadata about this VIP CP.\n","type":"array","items":{"description":"This 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.\n","type":"object"}}}}},"extVirtualLinkInfo":{"description":"Information about the external VLs the VNF instance is connected to.\n","type":"array","items":{"type":"object","required":["id","resourceHandle","currentVnfExtCpData"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"extLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"description":"This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL.\n","type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"secondaryCpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","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. This attribute reflects the current configuration information that has resulted from merging into this attribute the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" or \"ChangeCurrentVnfPkgRequest\", or has been provided by the NFVO during the granting procedure. If applying such change results in an empty list of \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its parent data structure.\n","type":"array","items":{"description":"This type represents configuration information for external CPs created from a CPD.\n","type":"object","required":["cpdId"],"properties":{"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"cpConfig":{"description":"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 managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the “cpdId” attribute, there shall be one “cpConfig” entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the “cpdId” attribute. If the cpConfig represents a subport in a trunk, all “cpConfig” entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure.\n","type":"object","additionalProperties":{"description":"This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL.\n","anyOf":[{"required":["linkPortId"]},{"required":["cpProtocolData"]}],"type":"object","properties":{"parentCpConfigId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"linkPortId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"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. The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\": 1) Void 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance representing a subport \n that is to be created, or an external CP instance that is to be created \n by creating the corresponding VNFC or VNF instance during the current or \n a subsequent LCM operation, or for an existing external CP instance \n that is to be re-configured or added to a particular external virtual link.\n3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a pre-created link port,\n and the VNFM can use means outside the scope of the present\n document to obtain the pre-configured address information for the\n connection point from the resource representing the link port.\n5) If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that the cpProtocolData can be used with the\n pre-created link port referenced by \"linkPortId\".\n","type":"array","items":{"description":"This type represents network protocol data.\n","type":"object","required":["layerProtocol"],"properties":{"layerProtocol":{"description":"Identifier of layer(s) and protocol(s). This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents network address data for IP over Ethernet.\n","type":"object","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.\n","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. If the CP instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"fixedAddresses":{"description":"Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"numDynamicAddresses":{"description":"Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n","type":"integer"},"addressRange":{"description":"An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}}}}}}}}}}},"extManagedVirtualLinkInfo":{"description":"Information about the externally-managed internal VLs of the VNF instance.\nNOTE: 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.3). 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.\n","type":"array","items":{"type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"vnfLinkPorts":{"description":"Link ports of this VL.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"extManagedMultisiteVirtualLinkId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"}}}},"monitoringParameters":{"description":"Active monitoring parameters.\n","type":"array","items":{"type":"object","required":["id","performanceMetric"],"properties":{"id":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"name":{"description":"Human readable name of the monitoring parameter, as defined in the VNFD.\n","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.\n","type":"string"}}}},"localizationLanguage":{"description":"Information about localization language of the VNF (includes e.g. strings in the VNFD). The localization languages supported by a VNF can be declared in the VNFD, and localization language selection can take place at instantiation time. The value shall comply with the format defined in IETF RFC 5646.\n","type":"string"},"vnfcResourceInfo":{"description":"Information about the virtualised compute and storage resources used by the VNFCs of the VNF instance.\n","type":"array","items":{"description":"This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance.\n","type":"object","required":["id","vduId","computeResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vduId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"storageResourceIds":{"description":"References to the VirtualStorage resources. The value refers to a VirtualStorageResourceInfo item in the VnfInstance.\n","type":"array","items":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"}},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfcCpInfo":{"description":"All the CPs of the VNFC instance. Shall be present when that particular CP of the VNFC instance is exposed as an external CP of the VNF instance or is connected to an external CP of the VNF instance. A VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","cpdId"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpdId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfExtCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpProtocolInfo":{"description":"Network protocol information for this CP. 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.\n","type":"array","items":{"description":"This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\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 This attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n","type":"string","enum":["IP_OVER_ETHERNET"]},"ipOverEthernet":{"description":"This type represents information about a network address that has been assigned.\n","type":"object","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.\n","type":"string","format":"MAC"},"segmentationId":{"description":"Identification of the network segment to which the Cp instance connects to. If the Cp instance represents a subport in a trunk, segmentationId shall be present. Otherwise it shall not be present. Depending on the NFVI networking infrastructure, the segmentationId may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is actually used by the NFVI’s transport technology.\n","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. At least one of \"macAddress\" or \"ipAddresses\" shall be present.\n","type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"description":"The type of the IP addresses. Permitted values: IPV4, IPV6.\n","type":"string","enum":["IPV4","IPV6"]},"addresses":{"description":"Fixed addresses assigned (from the subnet defined by \"subnetId\" if provided). Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"array","items":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}},"isDynamic":{"description":"Indicates whether this set of addresses was assigned dynamically (true) or based on address information provided as input from the API consumer (false). Shall be present if \"addresses\" is present and shall be absent otherwise.\n","type":"boolean"},"addressRange":{"description":"An IP address range used, e.g., in case of egress connections. Exactly one of \"addresses\" or \"addressRange\" shall be present.\n","type":"object","required":["minAddress","maxAddress"],"properties":{"minAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"},"maxAddress":{"description":"An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n","type":"string","format":"IP"}}},"subnetId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}}}}}}},"vnfLinkPortId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"parentCpId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualLinkResourceInfo":{"description":"Information about the virtualised network resources used by the VLs of the VNF instance. 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.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by an internal VL instance in a VNF instance.\n","type":"object","required":["id","vnfVirtualLinkDescId","networkResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"vnfVirtualLinkDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"vnfLinkPorts":{"description":"Links ports of this VL. Shall be present when the linkPort is used for external connectivity by the VNF (refer to VnfLinkPortInfo). May be present otherwise.\n","type":"array","items":{"type":"object","required":["id","resourceHandle"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"resourceHandle":{"required":["resourceId"],"type":"object","description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"cpInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"cpInstanceType":{"description":"Type of the CP instance that is identified by cpInstanceId. Shall be present if \"cpInstanceId\" is present, and shall be absent otherwise. Permitted values: VNFC_CP: The link port is connected to a VNFC CP EXT_CP: The link port is associated to an external CP. 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.\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.\n","type":"string"},"trunkResourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}},"virtualStorageResourceInfo":{"description":"Information on the virtualised storage resource(s) used as storage for the VNF instance.\n","type":"array","items":{"description":"This type represents the information that allows addressing a virtualised resource that is used by a VNF instance.\n","type":"object","required":["id","virtualStorageDescId","storageResource"],"properties":{"id":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"virtualStorageDescId":{"description":"An identifier that is unique within a VNF descriptor.\n","type":"string"},"vnfdId":{"description":"An identifier with the intention of being globally unique.\n","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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"zoneId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"reservationId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"}}}}}},"metadata":{"description":"This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of 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.\n","type":"object"},"extensions":{"description":"Additional VNF-specific attributes that affect the lifecycle management of this VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by the VNFM or the lifecycle management scripts during the execution of VNF lifecycle management operations. All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension in the VNFD contains information on whether its presence is optional or required, and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension attributes that are not declared in the VNFD with a \"422 Unprocessable entity\" error response as defined in clause 6.4 of ETSI GS NFV-SOL 013. Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified attribute values can be considered during subsequent VNF lifecycle management operations, which means that the modified values can indirectly affect the configuration of the VNF instance. These attributes can be initialized with default values from the VNFD. These attributes can be modified with values passed in the request structures of certain LCM operations, such as the InstantiateVnfRequest structure. Further, these attributes can be created, modified or deleted with the PATCH method. In addition, the provisions in clause 5.7 shall apply.\nNOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that have no defineddeclared initial value shall not be created, in order to be consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.\n"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"indicators":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"instantiate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"terminate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scale":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"scaleToLevel":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeFlavour":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"heal":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"operate":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"changeExtConn":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"createSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"revertToSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}},"vnfcSnapshots":{"description":"Information about VNFC snapshots constituting this VNF snapshot.\n","type":"array","items":{"description":"This type represents a VNFC snapshot.\n","type":"object","required":["id","vnfcInstanceId","triggeredAt","vnfcResourceId"],"properties":{"id":{"description":"An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n","type":"string"},"vnfcInstanceId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"creationStartedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"creationFinishedAt":{"description":"Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n","type":"string","format":"date-time"},"vnfcResourceInfoId":{"description":"An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n","type":"string"},"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.\n","properties":{"vimConnectionId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceProviderId":{"description":"An identifier with the intention of being globally unique.\n","type":"string"},"resourceId":{"description":"An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance.\n","type":"string"},"vimLevelResourceType":{"description":"The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n","type":"string"}}},"storageSnapshotResources":{"description":"Mapping of the storage resources associated to the VNFC with the storage snapshot resources.\n","type":"array","items":{"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.\n","type":"string"},"storageSnapshotResource":{"description":"This 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.\n","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.\n","type":"object"}}}},"vnfStateSnapshotInfo":{"description":"This type represents information about VNF-specific state snapshot data.\n","type":"object","required":["checksum","isEncrypted"],"properties":{"checksum":{"description":"Checksum of the VNF state snapshot file. Hash algorithms applicable to VNF snapshot package artifacts are defined in ETSI GS NFV-SOL 010. $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/Checksum\"\n"},"isEncrypted":{"description":"Reflects whether the VNF state snapshot content is encrypted (true) or not (false). $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/Boolean\"\n"},"metadata":{"description":"The metadata with additional information such as content type, size, creation date, etc. $ref: \"../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs\"\n"}}},"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.\n","type":"object"},"_links":{"description":"Links to resources related to this resource.\n","type":"object","required":["self"],"properties":{"self":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}},"vnfStateSnapshot":{"description":"This type represents a link to a resource using an absolute URI.\n","type":"object","required":["href"],"properties":{"href":{"description":"String formatted according to IETF RFC 3986.\n","type":"string"}}}}}}}}}}}},"IndividualVnfSnapshot.Delete.204":{"description":"204 NO CONTENT\n\nShall be returned when the VNF snapshot resource and the associated VNF snapshot were\ndeleted successfully.\nThe response body shall be empty.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}}}},"IndividualVnfSnapshotState.Get.200":{"description":"200 OK\n\nShall be returned when the whole content of the VNF state snapshot file has been read successfully.\n\nThe payload body shall contain a copy of the VNF state snapshot file and the \"Content-Type\" HTTP\nheader shall be set according to the content type of the VNF state snapshot file. If the VNF state\nsnapshot content is encrypted, the header shall be set to the value \"application/cms\" (IETF RFC 7193).\n\nIf the content type cannot be determined, the header shall be set to the value \"application/octet-stream\".\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","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\n","style":"simple","explode":false,"schema":{"type":"string"}}},"content":{"application/*":{"schema":{"type":"string","format":"binary"}}}},"IndividualVnfSnapshotState.Get.206":{"description":"206 PARTIAL CONTENT\n\nIf the VNFM supports range requests, this response shall be returned when a single consecutive byte\nrange from the content of the VNF state snapshot file has been read successfully according to the request.\n\nThe response body shall contain the requested part of the VNF state snapshot file. The \"Content-Type\" HTTP\nheader shall be set according to the content type of the VNF state snapshot file. If the content type cannot\nbe determined, the header shall be set to the value \"application/octet-stream\".\n\nThe \"Content-Range\" HTTP header shall be provided according to IETF RFC 7233.\n","headers":{"WWW-Authenticate":{"description":"Challenge if the corresponding HTTP request has not provided authorization, or error details if the\ncorresponding HTTP request has provided an invalid authorization token.\n","style":"simple","explode":false,"schema":{"type":"string"}},"Version":{"description":"The used API version.","style":"simple","explode":false,"schema":{"type":"string"}},"Content-Range":{"required":true,"style":"simple","explode":false,"schema":{"type":"string"}}},"content":{"application/*":{"schema":{"type":"string","format":"binary"}}}}}}}